1.4 集群系统层
集群系统层是指Kubernetes 及其组件,比如网络组件CNI、存储插件FlexVolume 等。这部分内容,实际上是大部分工程师学习Kubernetes 的起点,也是工程师相对比较熟悉的一部分内容。
为了适配云环境,以及支持百万级线上集群稳定运行,阿里云三种版本Kubernetes 集群的实现,对原生的Kubernetes 做了一些定制和改造。比如为了支持托管版和Serverless 版,API Server 的形态和部署位置都做了调整。
1.4.1 专有版
总体上来说,集群系统层的组件和功能,在专有版集群里,体现在Master节点和Worker 节点上。
在Master 节点上,运行着集群中心数据库Etcd,以及集群管控的三大件API Server、Controller Manager 和Scheduler, 另外包括Cloud ControllerManager 等定制组件。
在Worker 节点上,运行着服务代理Proxy、节点代理Kubelet,以及网络插件和存储插件等自定义组件,如图1-6 所示。
图1-6 专有版集群系统层架构
1.4.2 托管版
在托管版集群的实现中,Kubernetes 管控三大件被封装成Pod,运行在Master 集群隔离的命名空间中,如图1-7 所示。
Master 集群里混合部署了很多集群的管控三大件。我们通过主备Pod 以及集群本身的高可用特性,保证用户集群管控三大件的高可用。