1、Kubernetes的概述

Kubernetes是Google的开源产品。

Kubernetes,也叫K8s。之所以叫K8s是因为Kubernetes这个单词从开头的字母K到末尾的s,中间刚好有8个字母,所以也叫K8s。

Kubernetes这个词在希腊语是“舵手”的意思,有意思的是Docker把自己比做鲸鱼,Google就把他们的产品起名叫舵手,我理解Google可能是想通过Kubernetes去操控Docker这个鲸鱼的意思。

Kubernetes的开发和设计都受到Google内部超大规模管理系统Borg的影响。

Google的Borg是一个约有 3-4 人、与新版的谷歌新搜索引擎合作的小规模项目。它跨多个集群运行成千上万的作业,这些作业来自成千上万个不同的应用程序,每个集群最多有成千上万台计算机。

谷歌其实在很早以前就宣称可以在同一个集群中同时调度在线任务,这个其实应该就是指的Borg。

2003年是非典那一年,中国互联网刚刚起步,京东淘宝也才刚刚创立。差不多就在2003-2004年,Borg已经在Google诞生。从此Borg就在Google内部运行了数十年之久。

关于Borg的介绍,这里就不多说了。有兴趣的朋友可以参看这个链接:

https://kubernetes.io/blog/2015/04/borg-predecessor-to-kubernetes/

2014年6月Google首次对外发布Kubernetes并对外开源。Kubernetes开发和设计都受到了Borg的影响。很多地方都是相似的。你甚至可以把Kubernetes就理解成是Borg的开源版本。

2015年7月,Google正式加入OpenStack基金会。与此同时,Kuberentes v1.0正式对外发布。

同年7月,IBM、微软、Docker、Red Hat、CoreOS、 Mesosphere和Saltstack 等公司,相继宣布加入Kuberentes。

到目前为止,Kuberentes 最新版本已经是v1.18。

 

Kubernetes官网地址:https://kubernetes.io/

官网里有这样一段话介绍Kubernetes:

 

翻译过来大概意思就是:

Kubernetes(K8s)是一个开源系统,用于自动化容器化应用程序的部署,扩展和管理。

它将组成应用程序的容器分组为逻辑单元,以便于管理和发现。

Kubernetes拥有15年在Google上运行生产工作负载的经验,并结合了社区中最好的想法和实践。

 

2、Kubernetes的主要特征

Kubernetes现在很火,很多公司都想在自己的平台上部署k8s。主要原因呢还是Kubernetes有一些很不错的特性。

我们简单聊聊这几个特性:

1、自动化

      kubernetes有一套自动化机制。可以降低整个集群的运维成本和运维难度。

      通过K8s我们可以实现自动扩容、自动更新、自动部署、自动化管理资源等等。

2、以服务为中心

      kubernetes以服务为中心,可以让我们抛开系统环境和运行细节,有更多精力去处理逻辑业务。

      构建在kubernetes上的系统,可以独立运行在物理机、虚拟机、私有云以及公有云。

3、高可用

      kubernetes会定期进行检查应用实例,这包括对这些实例的数量检查,实例健康状态检查等等。

      kubernetes如果发现有新的应用实例启动,会自动加入负载均衡中。

      kubernetes如果发现有应用实例状态不可用。kubernetes会自动干掉这个问题实例,并重新调度一个新实例。

4、滚动更新

      kubernetes可以使整个集群平滑升级(rolling-update)。

      就是说,kubernetes可以在不停止对外服务的前提下完成应用的更新。

      在规模比较大的集群中,kubernetes这一特性会非常实用。

Logo

开源、云原生的融合云平台

更多推荐