Kubernetes是什么?

大概很多人对此都有疑问,不过在容器领域,Kubernetes却无人不晓。

阿里、字节跳动、腾讯、百度等中国互联网行业巨擘们,近年来都在深耕容器领域,而Kubernetes也是这些大厂未来的战略重心。

因此,若是你还不了解Kubernetes,这篇扫盲贴一定要收藏后认真看。


一、Kubernetes的前世今生

《Kubernetes 基础:入门与安装配置》一课中,是这样描述Kubernetes的。

Kubernetes 是一个跨主机集群的、开源的容器调度平台,它可以自动化应用容器的部署、扩展和操作,提供以容器为中心的基础架构。

它的名字源于希腊语,意为 “舵手” 或 “飞行员”,k8s 是通过将 8 个字母 “ubernete” 替换为 8 然后改成缩写,在中文中,k8s 的发音和 Kubernetes 的发音也比较接近。

Linux 基金会常务董事 Jim Zemlin 说:“Kubernetes 已经成为云计算时代的 Linux 操作系统。”

Kubernetes 是 Google Borg 项目的开源版本,Borg 是 Google 内部使用了十几年的非常有名的大规模集群管理系统,其原型图片如下所示:

因此,Kubernetes 构建于 Google 数十年经验,一大半来源于 Google 生产环境规模的经验,并结合了社区最佳的想法和实践。Kubernetes 的目标是管理跨多个主机的容器,提供基本的部署,维护以及运用伸缩,主要实现语言为 Go 语言。

二、Kubernetes 成长历程及特点

Kubernetes 重要成长历程:

  • 2014 年 6 月,Kubernetes 正式由 Google 开源
  • 2015 年,Google 将 Kubernetes 捐赠给 Linux 基金会下属的 CNCF(Cloud Native Computing Foundation,云原生计算基金会)
  • 2017 年,Kubernetes 战胜 Docker Swarm 和 Apache Mesos,成为容器管理与调度编排领域的首选平台和事实标准

Kubernetes 特点:

强大的容器编排能力

作为容器编排管理平台,拥有强大的容器编排能力。Kubernetes 与 Docker 共同发展并且深度集成了 Docker,因此适应容器的特点,比如容器组合、标签选择和服务发现等,可以满足企业级的需求。

轻量级

轻量级,对微服务架构有很好的支撑。

便携性

无论公有云、私有云、混合云还是多云架构都全面支持,可以随时随地地将系统整体进行“搬迁”。

无需改变配置文件就可以将系统从物理机迁移到公有云上,并且谷歌云(GCE)、华为云(CCE)、阿里云(ACK)和腾讯云(TKE)都支持 Kubernetes 集群。

三、使用 Kubernetes的 10 个理由

从生态圈的角度来看:

  • Google 的业内最成熟的容器编排管理经验的输出
  • 2017 年战胜 Docker Swarm 和 Apache Mesos,成为云原生应用唯一值得绑定的容器编排管理平台
  • 传统云平台提供商的全面支持:Google k8s engine、Red Hat 的 OpenShift、Microsoft 的 Azure container service、IBM 的 cloud container service 等

有了 Kubernetes,你可以:

  • 跨主机编排容器
  • 更充分地利用硬件资源来最大化地满足企业应用的需求
  • 控制与自动化应用的部署与升级
  • 为有状态的应用程序挂载和添加存储器
  • 线上扩展或裁剪容器化应用程序与它们的资源
  • 声明式的容器管理,保证所部署的应用按照我们部署的方式运作
  • 通过自动布局、自动重启、自动复制、自动伸缩实现应用的状态检查与自我修复

四、零基础入门Kubernetes

近期,实验楼推出了一系列的Kubernetes课程,难度各异,但我认为,最适合新人学习的课程是这门《Kubernetes 基础:入门与安装配置》

该课程为 Kubernetes 入门课程,将会从零开始带领大家一步一步深入学习 Kubernetes 相关知识。内容包括:Kubernetes 基础概念、微服务架构、部署实例、以及最常用的 YAML 语言格式。

你将学到:

课程内容:

实验环境:

本课程全部为云主机实验环境,Kubernetes 版本为 1.15,在环境中通过脚本执行命令即启动一个 3 节点的 Kubernetes 集群。

适合人群:

课程难度为简单,面向已经掌握 Linux 基础以及 Docker 基础,同时希望能够快速了解 Kubernetes 基础概念、进行单节点(多节点)安装部署、以及集群基本使用的同学。

Tips:

点击《Kubernetes 基础:入门与安装配置》,现在还有试学机会哦。

五、关于Kubernetes的补充阅读

还未熟悉Linux和Docker基础的同学,可以查看实验楼课程:

《Linux 基础入门》(免费)

《动手实战学 Docker》

已经了解Kubernetes,并想深度学习的同学可以继续学习实验楼课程:

《Kubernetes 进阶(一):Pod 与 Service》

《Kubernetes 进阶(二):控制器、存储与网络》

《Kubernetes 进阶(三):Helm、集群安全、日志与监控》

零基础入门 Kubernetes,你需要知道这些的更多相关文章

  1. 从零基础入门JavaScript(1)

    从零基础入门JavaScript(1) 1.1  Javascript的简史 1995年的时候   由网景公司开发的,当时的名字叫livescript    为了推广自己的livescript,搭了j ...

  2. 函数:我的地盘听我的 - 零基础入门学习Python019

    函数:我的地盘听我的 让编程改变世界 Change the world by program 函数与过程 在小甲鱼另一个实践性超强的编程视频教学<零基础入门学习Delphi>中,我们谈到了 ...

  3. Cloudera Manager、CDH零基础入门、线路指导 http://www.aboutyun.com/thread-9219-1-1.html (出处: about云开发)

    Cloudera Manager.CDH零基础入门.线路指导http://www.aboutyun.com/thread-9219-1-1.html(出处: about云开发) 问题导读:1.什么是c ...

  4. 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA

    开发环境搭建好之后,还需要一个集成开发环境也就是IDE来进行编程.这里推荐的IDE是IDEA,那个老掉牙的Eclipse还是先放一边吧,(手动滑稽). IDEA的下载地址:http://www.jet ...

  5. 【JAVA零基础入门系列】Day4 变量与常量

    这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量. 那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存放数据,不同类型的数据需要放在对应类型的盒子里. ...

  6. 【JAVA零基础入门系列】Day5 Java中的运算符

    运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...

  7. 【JAVA零基础入门系列】Day6 Java字符串

    字符串,是我们最常用的类型,每个用双引号来表示的串都是一个字符串.Java中的字符串是一个预定义的类,跟C++ 一样叫String,而不是Char数组.至于什么叫做类,暂时不做过多介绍,在之后的篇章中 ...

  8. 【JAVA零基础入门系列】Day8 Java的控制流程

    什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...

  9. 【JAVA零基础入门系列】Day9 Java中的那个大数值

    什么是大数值?用脚趾头想也知道,当然是"大"的数值(233).Java中有两个用于表示大数值的类,BigInteger和BigDecimal,那到底能表示多大的数值呢?理论上,可以 ...

随机推荐

  1. Mysql 在线新建或重做主从

    1. 前言 以前给 Mysql 数据库做主从,都是在主服务器停服的情况下做的.但是最近有一个项目,已经上线几天了,数据库也单服务器跑了几天,才确定要给 Mysql 服务器做一个主从架构,简单的一主一从 ...

  2. apache 访问日志access_log 配置和解析 rotatelogs分割日志

    一.解析访问日志        apache 的访问日志记载着大量的信息,学会高效快捷的读出其中关键信息对我们的工作有极大帮助.       如果Apache的安装方式是默认安装,服务器一运行就会有两 ...

  3. MySQL中的索引、左连接、右连接、join、sql执行顺序

    逻辑架构: 1.连接层 2.服务层 3.引擎层(插拔式) 4.存储层 存储引擎: 常用的有:MyISAM.InnoDB 查看命令:show variables like '%storage_engin ...

  4. [MongoDB]评估使用mongodb的五个因素

    企业选择 NOSQL 或非表格结构数据库,评估时应从以下五个关键维度来考虑:• 数据模型的类型• 查询模型是否能满足灵活的查询需求• 事务模型类型,以及一致性属于强一致性还是最终一致性• APIs 的 ...

  5. 05.JS函数

    前言: 学习一门编程语言的基本步骤(01)了解背景知识(02)搭建开发环境(03)语法规范(04)常量和变量(05)数据类型(06)数据类型转换(07)运算符(08)逻辑结构(09)函数9.函数——f ...

  6. Winfrom中From控件的重绘

    重绘目的: 1. 满足非默认主题下的标题栏样式 2. 在保留停靠功能的同时进行重绘. 代码如下: public partial class FormEx: Form { public FormEx() ...

  7. java设计模式学习笔记--浅谈设计模式

    设计模式的目的 编写软件的过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战.设计模式为了让程序具有更好的 1.代码重用性(即:相同功能的代码,不用多次编写) ...

  8. Vmvare扩展虚拟机磁盘大小

    Vmvare设置好虚拟机的磁盘大小之后,发现磁盘空间不够了,这个时候怎么扩展磁盘的大小呢? 首先,在确保虚拟机关闭的情况下,右键设置,选择硬盘,扩展,这样就可以增加磁盘的大小. 但是由于未进行分区和磁 ...

  9. Spring Boot源码(五):BeanFactoryPostProcessor和BeanPostProcessor

    BeanFactoryPostProcessor是spring BeanFactory加载Bean后调用, BeanPostProcessor是Bean初始化前后调用. BeanFactoryPost ...

  10. 如何在Mac电脑上隐藏视频文件?

    我们都有一些秘密视频,我们只想保留在Mac,iPhone或iPad上.为了完全安全地在Mac上隐藏视频文件,我们提供了两种种最简单的方法.下面就来看一下,如何在Mac上隐藏私密视频文件? 在iTune ...