上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
Kubernetes引领潮流
如上文所述,DevOps自动化为我们提供了超前的应用扩展能力。而容器化部署则需要更加优质的编排,Kubernetes可以满足这一需求。对运维人员而言,在部署文件中描述完整的应用技术栈能打造可复制、可移植的基础设施。这是因为Kubernetes能提供的不只有DevOps工具包中颇受欢迎的部署管理工具。Kubernetes控制平面可以在底层的计算、网络和存储中实施部署要求,从而管理应用基础设施的整个生命周期。即使底层硬件发生变化,预期的应用状态也能保持不变。如图1-4所示,我们现在不是在部署虚拟机,而是在部署虚拟数据中心,以构成完整定义的场景。
Kubernetes的人气越来越高,用在DevOps中的所有其他容器编排工具都黯然失色。Kubernetes已经战胜了部署基础设施的所有其他方法,并且发展速度毫无放缓的迹象。然而,Kubernetes早期主要用于无状态服务。
在使用容器和Kubernetes之前,管理大规模数据基础设施是一大难题。数据库等有状态服务的接受曲线与Kubernetes的接受曲线平行。很多专家认为有状态服务不应运行在Kubernetes上。这种观点曾经是对的,但现在情况已经变了。如今Kubernetes正在不断完善,以期承载整个应用技术栈。
图1-4 从虚拟服务器迁移到虚拟数据中心
那么,有状态服务面临哪些挑战呢?为什么很难用Kubernetes部署数据基础设施呢?下面探讨一下数据基础设施的各个组件。