阿里云ACK产品有两种基本形态,专有集群和托管集群。这两种形态的最大差别,就是用户对Master的管理权限。对安全组来说,两种形态的集群略有差别,这里分开讨论。关于两种集群的架构,请参考第1章的图1-2、图1-3。
专有集群使用资源编排(ROS)模板搭建集群的主框架。其中专有网络是整个集群运行的局域网,云服务器构成集群的节点,安全组构成集群节点的出入防火墙。
另外,集群使用弹性伸缩实现动态扩缩容功能,NAT网关作为集群的网络出口,SLB和EIP实现集群API Server的入口。
托管集群与专有集群类似,同样使用资源编排模板搭建集群的主框架。在托管集群中,云服务器、专有网络、SLB、EIP、安全组等扮演的角色专有集群类似。
与专有集群不同的是,托管集群的Master系统组件以Pod的形式运行在管控集群里。这就是用Kubernetes管理Kubernetes的概念。
因为托管集群在用户的VPC里,而管控集群在阿里云管控账号的VPC里。所以这样的架构需要解决的一个核心问题,就是跨账号、跨VPC通信问题。
为了解决这个问题,此处用到类似传送门的技术。托管集群会在集群VPC里创建两个弹性网卡,这两个弹性网卡可以像普通云服务器一样通信。但是这两个网卡被挂载到托管集群的API Server Pod上,这就解决了跨VPC通信问题。