综述
Kubernetes集群的组件众多,要部署一套符合生产环境的集群不是一件容易的事。好在随着社区的快速发展,特别是在它成为事实上的容器编排标准以后,基本所有的主流云平台都完全支持Kubernetes,或把它作为核心的云解决方案。同时,本地部署也出现了各类成熟的主动化解决方案,特别是Kubeadm,在最新的1.13版本已经官方GA了,也就是完全可以用在生产环境中了。这些云服务或自动化工具都大大减少了Kubernetes的部署难度,让运维力量不足的小型公司也能快速的搭建出可用的Kubernetes生产环境。
Kubernetes部署方案对比
Kubernetes官方文档中,总共列出了5大类,不下30种的Kubernetes安装方式。不说别的,单从数量来说,就可以看出当前Kubernetes生态的包容性和目前其他各类平台对它的技术支持有多强。文档中把部署方案分为以下几类:
- Local-machine Solutions
可以理解为单机版的Kubernetes,非常适合入门Kubernetes学习或测试使用。代表的解决方案为Minikube。 - Hosted Solutions
- Turnkey – Cloud Solutions
- Turnkey – On-Premises Solutions
这三种方式可以放在一块说,他们都是基于云服务商提供的解决方案,区别如下:
Hosted方式是指云服务商搭建的一套公共的Kubernetes,用户直接使用就好了,集群的搭建、管理、运维等操作全部都由云服务商提供,用户只要专注于自己的应用开发,不用关注集群的运维。这种解决方案特别适合小开发团队或小型公司,不仅省去了自有硬件的维护成本,连系统运维人员都可以不用了。
Turnkey–Cloud Solutions指云服务商帮忙搭建了Kubernetes Master节点,并负责维护其可用性,用户可以自定义Node节点加入集群,可以根据具体需求灵活并只用关注Node节点的维护
Turnkey–On-Premises Solutions方案是指包括Master节点和Node节点都由用户配置及维护,灵活性最高,但资源成本和运维成本也最高。
但不管上述哪种方式,云服务商都已经把Kubernetes做了一层包装,用户可以用简单的几个命令就可以部署Kubernetes集群,不需要从头开始一步步安装。
这三种不同的解决方案,阿里云的文档容器服务Kubernetes集群三种形态对比介绍的很清楚,可以对比着理解: