容器服务 原生节点扩缩容

原生节点的自动伸缩功能由容器平台自研实现,普通节点的自动伸缩功能依赖云产品 弹性伸缩 AS。

相关产品
容器服务 产品页,含版本规格、价格与购买入口。

一、使用说明

·原生节点池未开启自动伸缩:

·初始化节点数量取决于设置的节点数(字段名:replicas)。

·用户可以手动调整期望节点数,节点数上限受限于后台默认值 500 和容器子网 IP 数。

·原生节点池开启自动伸缩:

·初始化节点数量取决于设置的节点数(字段名:replicas)。

·需要设置节点数量范围(字段名:minReplicas/maxReplicas),CA 调节当前节点池的节点数量受限于该范围。

·不支持用户手动调节期望实例数。

注意:说明:

注意:同一时间,控制台节点池弹性伸缩只能由一个角色控制,若已启用弹性伸缩,则不能手动调整实例数量;若要手动调整实例数量,则先关闭弹性伸缩。

二、参数说明

功能项 字段名/值 描述
自动伸缩 字段名:spec.scaling 默认勾选开启,开启后 CA 组件对该类节点池进行自动伸缩。
节点数量范围 字段名:spec.scaling.maxReplicas/minReplicas字段值:自定义 节点池内的节点数量受限于该范围内的最小值/最大值,若节点池开启了自动伸缩,原生节点数量将在设定的范围内自动调节。
扩容策略 字段名:spec.scaling.createPolicy字段值:ZonePriority(首选可用区优先) ZoneEquality(多可用区打散) 首选可用区优先:弹性伸缩会在你首选的可用区优先执行扩缩容。若首选可用区无法扩缩容,才会在其他可用区进行扩缩容。多可用区打散:在伸缩组指定的多可用区(即指定多个子网)之间尽最大努力均匀分配节点实例。只有配置了多个子网时该策略才能生效。

三、方式1:通过节点池创建页开启或关闭自动伸缩

1. 登录 容器服务控制台,在集群中新建节点池。操作详情见 新建原生节点。

2. 在新建页面,勾选运维功能设置的自动伸缩。

四、方式2:通过节点池详情页开启或关闭自动伸缩

1. 登录 容器服务控制台,选择左侧导航栏中的集群。

2. 在集群页面,单击集群 ID,进入该集群详情页。

3. 选择左侧导航栏中的节点管理,在节点池中单击节点池 ID,进入节点池详情页。

4. 在节点池详情页中,单击运维信息右侧的编辑。

5. 勾选开启弹性伸缩。

6. 单击确定。

五、通过 YAML 操作

请根据参数介绍,在节点池 YAML 中填写scaling字段。

apiVersion: node.tke.cloud.tencent.com/v1beta1kind: MachineSetmetadata: name:np-xxx ## 节点池名称,唯一标识资源spec: type: Native displayName: mstest replicas: 2 autoRepair: true deletePolicy: Random healthCheckPolicyName: test-all instanceTypes: – C3.LARGE8 ## 实例类型 subnetIDs: – subnet-xxxxxxxx ## 实例子网 – subnet-yyyyyyyy。 ## 实例子网 scaling: createPolicy: ZonePriority minReplicas: 10 maxReplicas: 100 template: spec: displayName: mtest runtimeRootDir: /var/lib/containerd unschedulable: false……

六、查看扩缩容记录

1. 登录 容器服务控制台,选择左侧导航栏中的集群。

2. 在集群页面,单击集群 ID,进入该集群详情页。

3. 选择左侧导航中的节点管理,在节点池中单击节点池 ID,进入节点池详情页。

4. 在运维记录页中,你可以查看节点扩缩容记录。如下:


七、扩容原理介绍

本节将针对多机型、多子网条件下,举例说明原生节点的扩容原理。

八、场景1:开启弹性伸缩,扩容策略为“首选可用区优先”

算法:

1. 根据子网排列顺序,确定首选可用区。

2. 按照客户设置的机型排列顺序,依次选择机型进行扩容。每扩容一台机器后实时判断一次库存,确保机器尽量在首选可用区中扩容成功。

示例:

假设节点池设置了机型A/B(机型顺序为A优先,A库存5台,B库存3台),子网1/2/3(3个子网在不同可用区,子网1为首选),机型和子网的排列顺序在算法判断时有效,此时 CA 触发节点池扩容10台机器。后台判断流程如下:

1. 根据子网顺序确定首选可用区所在子网为“子网1”。

2. 按机型顺序优先选择A进行扩容,以此循环。

3. 扩容8台节点后(5台A+3台B),此时没有资源可在子网1所中继续扩容,执行2.1步骤切换首选可用区为子网2。

九、场景2:开启弹性伸缩,扩容策略为“多可用区打散”

算法:

1. 根据节点池中存量节点在可用区的分布情况,确定每个可用区预计扩容的数量,使扩容后每个可用区分布的节点数量尽量一致。

2. 确定可用区后,按照客户设置的机型排列顺序,依次选择机型进行扩容。每扩容一台机器后实时判断一次库存,确保机器尽量在当前可用区中扩容成功。

示例:假设节点池设置了机型A/B(机型顺序为A优先,A库存5台,B库存3台),子网1/2/3(3个子网在不同可用区,子网1为首选),机型和子网的排列顺序在算法判断时有效,节点池中存在5台节点且部署在可用区1中,此时 CA 触发节点池扩容10台机器。后台判断流程如下:

1. 根据存量节点的部署情况,预计要在可用区2和3中各扩容5台机器。

2. 根据子网顺序确定当前操作的可用区子网,即“子网2”。

2.1 按机型顺序优先选择A进行扩容,以此循环。

2.2 可用区2扩容完毕后,执行2.2步骤切换当前待扩容的可用区子网为“子网3”。

十、场景3:关闭弹性伸缩,手动调高节点池数量

此时扩容策略默认为“多可用区打散”,原理同场景2。

赞 (0)
上一篇 4天前
下一篇 4天前