- 阿里云数字新基建系列:云原生操作系统Kubernetes
- 罗建龙等
- 561字
- 2021-02-26 12:12:17
1.4 集群系统层
集群系统层是指Kubernetes及其组件,比如网络组件CNI、存储插件FlexVolume等。这部分内容,实际上是大部分工程师学习Kubernetes的起点,也是工程师相对比较熟悉的一部分内容。
为了适配云环境,以及支持百万级线上集群稳定运行,阿里云三种版本Kubernetes集群的实现,对原生的Kubernetes做了一些定制和改造。比如为了支持托管版和Serverless版,API Server的形态和部署位置都做了调整。
1.4.1 专有版
总体上来说,集群系统层的组件和功能,在专有版集群里,体现在Master节点和Worker节点上。
在Master节点上,运行着集群中心数据库Etcd,以及集群管控的三大件API Server、Controller Manager和Scheduler,另外包括Cloud Controller Manager等定制组件。
在Worker节点上,运行着服务代理Proxy、节点代理Kubelet,以及网络插件和存储插件等自定义组件,如图1-6所示。
图1-6 专有版集群系统层架构
1.4.2 托管版
在托管版集群的实现中,Kubernetes管控三大件被封装成Pod,运行在Master集群隔离的命名空间中,如图1-7所示。
Master集群里混合部署了很多集群的管控三大件。我们通过主备Pod以及集群本身的高可用特性,保证用户集群管控三大件的高可用。
图1-7 托管版集群系统层架构
1.4.3 Serverless版
从集群系统层的角度来看Serverless版和托管版集群,两者的实现是非常类似的。如图1-8所示,Serverless版也使用了Master集群,并以Pod的形式来管理集群的管控三大件。
不一样的地方在于,Serverless版集群在Master集群里部署了Virtual Kubelet组件,这个组件会直接通过ECI编程接口来管理ECI实例生命周期,给Pod提供运行环境。
图1-8 Serverless版集群系统层架构