ACK专有集群已于 2024 年 08 月 21 日起停止创建。推荐在生产环境中使用具有更高可靠性、安全性和调度效率的ACK托管集群Pro版。
如需新建集群,请参见创建ACK托管集群Pro版;如需迁移集群,请参见热迁移ACK专有集群至ACK托管集群Pro版。
如果由于以下特殊原因不便迁移至ACK托管集群,可参见本文手动轮转 Master 节点,更新配置。
当前 Master 节点仍在使用 CentOS、Alibaba Cloud Linux 2 等停止维护的操作系统,期望使用Alibaba Cloud Linux 3 容器优化版。
当前 Master 节点集中在某几个可用区,期望分散至更多可用区。
期望更换 Master 节点至其他可用区。
如需操作协助,请提交工单联系ACK技术支持。
适用范围
轮转 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 运维端口的后端虚拟服务器组进行手动挂载。
请在业务低峰期执行轮转操作。执行轮转操作期间,请避免对集群进行其他变更操作,例如集群升级、应用发布等,以免引发非预期的结果。
操作步骤
手动轮转Master节点需要“先扩容、后缩容”:首先修改控制面配置,使新扩容的Master节点采用新配置;然后逐一扩容新节点、移除旧节点,直至所有Master节点完成替换。
查询当前配置。
调用 DescribeClusterDetail 查询控制面配置(
control_plane_config)和交换机配置(vswitch_ids),作为后续修改的基础。核心参数如下:
完整参数说明,请参见DescribeClusterDetail - 查询指定集群的信息。
参数
说明
vswitch_ids集群控制面使用的vSwitch,决定了Master节点所在的可用区。如需指定新Master节点所在可用区,请替换为对应的vSwitch ID。
image_type集群控制面节点使用的操作系统类型。请选择非停止维护的操作系统类型,并了解相关使用限制。
runtime容器运行时。Kubernetes 1.24不再支持将Docker作为内置容器运行时,请使用containerd。
instance_typesMaster节点的实例规格。请参见ECS实例规格配置建议了解推荐配置。
sizeMaster节点数量,一般为3或5个。
修改目标配置。
根据目标场景,调用 ModifyCluster 修改相应的控制面配置。
请确保提交了完整的参数配置。
验证配置变更。
再次调用 DescribeClusterDetail,查询
control_plane_config是否符合预期。此时,新扩容的 Master 节点将默认使用新配置。扩容一个新Master节点。
调用 ModifyCluster,将
control_plane_config.size的值在当前基础上加1。例如,从3个增加到4个。{ "control_plane_config": { "size": 4 } }验证新节点。
登录容器服务管理控制台,在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择,等待 Master 创建完成。确认新节点配置符合预期,且节点状态和业务运行正常。
移除一个旧Master节点。
确认集群稳定后,调用 DeleteClusterNodes,传入一个旧Master节点进行移除。注意事项请参见DeleteClusterNodes接口说明。
循环轮转。
重复步骤3 到 6,直至所有 Master 节点更新完毕。最后,将Master节点数量恢复至初始数量(通常为3或5)。
场景一:更换Master节点的操作系统
示例流程如下。
以下流程以更换至Alibaba Cloud Linux 3 容器优化版为例,该操作系统镜像仅支持1.26及以上版本的集群。
调用DescribeClusterDetail查询控制面配置(
control_plane_config)和交换机配置(vswitch_ids)。调用 ModifyCluster 修改集群 Master 节点的操作系统类型。
请确保提交了完整的参数配置。
{ "vswitch_ids": [ "vsw-bp1c1j6wbqehaiqmz*****" ], "control_plane_config": { // 修改操作系统类型 "image_type": "AliyunLinux3ContainerOptimized", "node_port_range": "30000-32767", "key_pair": "ack", "charge_type": "PostPaid", "runtime": "containerd", "deploymentset_id": "ds-bp10b35imuam5am******", "cloud_monitor_flags": true, "instance_types": [ "ecs.c6.xlarge" ], "system_disk_category": "cloud_essd", "system_disk_size": 50, "system_disk_performance_level": "PL1", "security_hardening_os": true, "size": 3 } }调用 DescribeClusterDetail 查询上述配置是否提交成功。
如果返回的
control_plane_config下的image_type为AliyunLinux3ContainerOptimized,则表明配置变更成功。此时新扩容的节点将会使用 Alibaba Cloud Linux 3 容器优化版操作系统。调用 ModifyCluster 扩容 Master 节点,在当前 Master 节点数量上增加 1。
如当前 Master 节点数为 3 个,请增加到 4 个。
{ "control_plane_config": { "size": 4 } }登录容器服务管理控制台,在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择。在节点列表等待 Master 扩容完毕,确认新创建 Master 节点的操作系统符合预期,且节点状态和业务运行状态正常。
如状态正常,调用 DeleteClusterNodes 移除一个旧的 Master 节点。注意事项请参见DeleteClusterNodes接口说明。
如状态正常,重复步骤 3 到 6,直至所有 Master 节点更新完毕。
场景二:更换Master节点的可用区
示例流程如下。
调用DescribeClusterDetail查询控制面配置(
control_plane_config)和交换机配置(vswitch_ids)。调用 ModifyCluster 修改集群控制面交换机配置,在
vswitch_ids中指定希望扩容出的 Master 节点所处可用区的交换机。请确保提交了完整的参数配置。
{ "vswitch_ids": [ // 修改为目标可用区对应的 VSwitch ID "vsw-bp1c1j6wbqehaiqmz*****" ], "control_plane_config": { "image_type": "AliyunLinux3", "node_port_range": "30000-32767", "key_pair": "ack", "charge_type": "PostPaid", "runtime": "containerd", "deploymentset_id": "ds-bp10b35imuam5am******", "cloud_monitor_flags": true, "instance_types": [ "ecs.c6.xlarge" ], "system_disk_category": "cloud_essd", "system_disk_size": 50, "system_disk_performance_level": "PL1", "security_hardening_os": true, "size": 3 } }调用 DescribeClusterDetail 查询上述配置是否提交成功。
如返回
vswitch_ids为上述提交的值,则表明配置变更成功。此时新扩容的节点将会使用新配置的可用区。调用 ModifyCluster 扩容 Master 节点 ,在当前 Master 节点数上增加 1。
如当前 Master 节点数为 3 个,请增加到 4 个。
{ "control_plane_config": { "size": 4 } }登录容器服务管理控制台,在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择。在节点列表等待 Master 扩容完毕,确认新创建 Master 节点的可用区符合预期,且节点状态和业务运行状态正常。
如状态正常,调用 DeleteClusterNodes 移除一个旧的 Master 节点。注意事项请参见DeleteClusterNodes接口说明。
(可选)如需更换其他Master节点可用区,重复上述所有步骤,直到所有 Master 节点均分布到新可用区中。