容器服务 Kubernetes 版已于 2024 年 08 月 21 日起停止ACK专有集群的创建。推荐您在生产环境中使用具有更高可靠性、安全性和调度效率的ACK托管集群Pro版。
如需操作协助,请提交工单联系ACK技术支持。
如需新建集群,请参见创建ACK托管集群Pro版;如需迁移集群,请参见热迁移ACK专有集群至ACK托管集群Pro版。
如果由于以下特殊原因不便迁移至ACK托管集群,您可参见本文手动轮转 Master 节点,更新配置。
当前 Master 节点仍在使用 CentOS、Alibaba Cloud Linux 2 等停止维护的操作系统,期望使用Alibaba Cloud Linux 3 容器优化版。
当前 Master 节点集中在某几个可用区,期望分散至更多可用区。
期望更换 Master 节点至其他可用区。
前提条件
轮转 Master 节点依赖于 ECS 云助手登录节点操作。请确认当前集群 Master 节点云助手状态均属于正常状态。
如有异常,请参见查看云助手状态及异常状态处理处理。
Master 节点的 etcd 均处于健康状态。
您可以登录 Master 节点后执行以下命令,查看状态是否正常。
请将
local_ip
需要替换为Master节点实例的IP地址。ETCDCTL_API=3 etcdctl --cacert=/var/lib/etcd/cert/ca.pem --cert=/var/lib/etcd/cert/etcd-server.pem --key=/var/lib/etcd/cert/etcd-server-key.pem --endpoints=https://${local_ip}:2379 endpoint --cluster health
集群 kube-system 命名空间下存在 ack-admin-config ConfigMap。
如不满足前提条件,请提交工单。
注意事项
操作前建议使用备份中心对集群应用进行备份。
创建集群时通过集群 API Server CLB 负载均衡暴露的 SSH 运维端口会随着 Master 节点的释放而解除绑定。如需继续使用 SSH 端口运维,请登录传统型负载均衡CLB控制台对 API Server CLB SSH 运维端口的后端虚拟服务器组进行手动挂载。
请在业务低峰期执行轮转操作。执行轮转操作期间,请避免对集群进行其他变更操作,例如集群升级、应用发布等,以免引发非预期的结果。
开始操作前,您可以调用 DescribeClusterDetail 查询控制面配置(control_plane_config
)和交换机配置(vswitch_ids
)。新扩容出的Master节点将默认使用控制面配置,其可用区由vswitch_ids
中指定的交换机和当前Master节点分布的可用区情况共同决定。
更换Master节点的操作系统
示例流程如下。
以下流程以更换至Alibaba Cloud Linux 3 容器优化版为例,该操作系统镜像仅支持1.26及以上版本的集群。
调用 ModifyCluster 修改集群 Master 节点的操作系统类型。
{ "control_plane_config": { "image_type":"AliyunLinux3ContainerOptimized" } }
调用 DescribeClusterDetail 查询上述配置是否提交成功。如果返回
control_plane_config
字段下image_type
为AliyunLinux3ContainerOptimized
,则表明配置变更成功。此时新扩容 Master 节点将会使用 Alibaba Cloud Linux 3 容器优化版操作系统。调用 ModifyCluster 扩容 Master 节点,在当前 Master 节点数量上增加 1。
如当前 Master 节点数为 3 个,请增加到 4 个。
{ "control_plane_config": { "size": 4 } }
登录容器服务管理控制台,在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择在节点列表等待 Master 扩容完毕,确认新创建 Master 节点的操作系统符合预期,且节点状态和业务运行状态正常。 。
如状态正常,调用 DeleteClusterNodes 移除一个旧的 Master 节点。注意事项请参见DeleteClusterNodes接口说明。
如状态正常,重复步骤 3 到 5,直至所有 Master 节点更新完毕。
更换Master节点的可用区
示例流程如下。
调用 ModifyCluster 修改集群控制面交换机配置,在
vswitch-ids
中指定希望扩容出的 Master 节点所处可用区的交换机。{ "vswitch_ids": [ "vsw-id" ] }
调用 DescribeClusterDetail 查询上述配置是否提交成功。如返回
vswitch_ids
字段为上述提交的值,则表明配置变更成功。此时新扩容 Master 节点将会使用新配置的可用区。调用 ModifyCluster 扩容 Master 节点 ,在当前 Master 节点数上增加 1。
如当前 Master 节点数为 3 个,请增加到 4 个。
{ "control_plane_config": { "size": 4 } }
登录容器服务管理控制台,在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择在节点列表等待 Master 扩容完毕,确认新创建 Master 节点的可用区符合预期,且节点状态和业务运行状态正常。 。
如状态正常,调用 DeleteClusterNodes 移除一个旧的 Master 节点。注意事项请参见DeleteClusterNodes接口说明。
(可选)如需更换其他Master节点可用区,重复上述所有步骤,直到所有 Master 节点均分布到新可用区中。