27.1 简介
Kubernetes是Google公司于2014年基于内部集群管理系统Borg开源的容器集群管理项目。该项目基于Go语言实现,试图为基于容器的应用部署和管理打造一套强大并且易用的管理平台。Kubernetes自开源之日起就吸引了众多公司和容器技术爱好者的关注,是目前容器集群管理最优秀的开源项目之一。已有Microsoft、RedHat、IBM、Docker、Mesosphere、CoreOS以及SaltStack等公司加入了Kubernetes社区。

Kubernetes的前身(Borg系统)在Google内部已经应用了十几年,积累了大量来自生产环境的宝贵实践经验。在设计Kubernete的时候,团队也很好地结合了来自社区的想法。
正是因为这些积累,作为一套分布式应用容器集群系统,Kubernetes拥有鲜明的技术优势:
·优秀的API设计,以及简洁高效的架构设计,主要组件个数很少,彼此之间通过接口调用;
·基于微服务模式的多层资源抽象模型,兼顾灵活性与可操作性,提出的Pod模型被许多平台借鉴;
·可拓展性好,模块化容易替换,伸缩能力极佳,1.2.0版本单集群支持1000个节点,同时运行30000个Pods;
·自动化程度高,真正实现“所得即所需”,用户通过模板声明服务后,生命周期都是自动化管理;
·部署支持多种环境,包括虚拟机、裸机部署,还很好地支持常见云平台,包括AWS、GCE等;
·支持丰富的运维工具,方便用户对集群进行性能测试、问题检查和状态监控;
·自带控制台、客户端命令等工具,允许用户通过多种方式与kubernetes集群进行交互。
基于Kubernetes,可以很容易地实现一套PaaS,比如Openshift和Deis。
Kubernetes目前在github.com/kubernetes/kubernetes进行维护,最新版本为1.3.x。
2015年7月发布的1.0版本是Kubernetes的第一个正式版本,标志着核心功能已经逐渐成熟稳定,可以正式投入生产环境使用。
2016年3月发布的1.2.0版本,在性能、稳定性和可管理性上都有了重大的优化和升级,包括对多可用域的支持、监控服务增强、上千物理节点的支持等令人振奋的特性。本书将以1.2.x版本系列为主,兼顾1.3.x中的新特性进行剖析和实践。
提示
Kubernetes来自希腊语,是“领航员”的意思,经常被缩写为K8S。
