概述
当前阿里云线上如果要创建多可用区k8s集群,界面上只支持专属k8s集群的模式,那么,我们是否可以为托管版k8s集群(managed k8s)实现类似的能力从而达成高可用k8s集群呢?答案是肯定的,本文将以实操的方式进行说明。
具体步骤
- 新建一个managed k8s集群,此处自动添加的worker节点位于同一个可用区(选择当前可选的最小节点数2,或选择自己规划好的每az需要的ecs节点数量),本例中选择“自动创建“专有网络,以及选择“为专有网络配置SNAT”
- managed k8s集群创建成功后,查看并记录当前集群所在的vpc,以及当前worker所在的az和vswitch
当前已有worker在az A
- 在该managed k8s集群所在的同一个vpc下,在另一个az中新建一个vswitch,注意这个vswtich所在网段不和之前的已有vswitch冲突
- 在新选定的az中创建ecs实例(centos7.4版本),网络选用对应的k8s vpc,以及前面步骤中新建的vswitch
- 查看新创建ECS是否成功,并记录下ip地址等相关信息
- 在集群列表中,在对应的待扩展为高可用多AZ worker的managed k8s集群上,选择添加已有节点
- 可选择添加方式为“自动添加“,选择添加待添加进集群的ECS节点
- 集群开始伸缩
- 几分钟后集群添加节点成功
- 如有更多节点需要添加,可采用同样的方式手动进行添加
总结
通过本文的步骤,可快速为阿里云线上托管版k8s集群实现多可用区的高可用能力,阿里云容器服务提供了生产级稳定的Kubernetes服务,更多内容读者可以访问https://www.aliyun.com/product/kubernetes 。