一、Kubernetes的历史
Kubernetes是Google公司开源的一个容器(Container)编排与调度管理框架,该项目最初是由Google内部面向容器的集群管理系统,而现在是由Cloud Native Computing Foundation(CNCF,云原生计算基金会)托管的开源平台,由Google、AWS、Microsoft、IBM、Intel、Cisco和Red Hat等主要参与者支持,其目标是通过创建一组新的通用容器技术来推进云原生技术和服务的开发。作为领先的容器编排引擎,Kubernetes提供了一个抽象层,使其可以在物理或虚拟环境中部署容器应用程序,提供以容器为中心的基础架构。
Kubernetes系统拥有一个庞大而活跃的开发人员社区,这使其成为历史上增长最快的开源项目之一,它是GitHub上排名前10的项目,也是Go语言最大的开源项目之一,Kubernetes也被简称为K8S,是通过将8个字母ubernete替换为数字8的缩写。
Kubernetes系统具有如下特点:
可移植:支持公有云、私有云、混合云、多重云(Multi-Cloud)
可扩展:模块化、插件化、可挂载、可组合
自动化:自动部署、自动重启、自动复制、自动伸缩/扩展
2003-2004年,Google发布了Borg系统,它最初是一个小规模项目,约有3~4个人合作开发;而现在,Borg是一个大规模的内部集群管理系统,它在数千个不同的应用程序中运行数十万个作业,跨越许多集群,每个集群拥有数万台计算机。
2013年左右,Google继Borg系统之后发布了Omega集群管理系统,这是一个适用于大型计算集群的灵活、可扩展的调度程序。
2014年左右,Google发布了Kubernetes,其实作为Borg的开源版本发布的。同年,Microsoft、Red Hat、IBM、Docker等加入Kubernetes社区。
2015年左右,Google在美国波特兰的OSCON 2015大会上宣布并正式发布Kubernetes1.0版本,Google与Linux基金会合作组建了云原生计算基金会(CNCF)。CNCF旨在为云原生软件构建可持续发展的生态系统,并围绕一系列高质量开源项目建立社区,整合这些开源技术来让编排容器成为微服务架构的一部分。CNCF自创立以来已经拥有非常多的高质量项目,其中包括Kubernetes、Prometheus、gRPC、CoreDNS等。
2016年左右,Kubernetes成为主流,在CloudNativeCon 2016年大会上,来自世界各地的约1000名贡献者和开发者齐聚一堂,交流有关Fluentd、Kubernetes、Prometheus、OpenTracing和其他云原生技术的内容。
2017年左右,互联网巨头纷纷表示支持Kubernetes,在这一年,Google和IBM发布微服务框架Istio,其提供了一种无缝连接、管理和保护不