云容器引擎 CCE-调度策略(亲和与反亲和):通过控制台配置节点亲和调度策略
通过控制台配置节点亲和调度策略
- 在创建工作负载时,在“高级设置”中找到“调度策略”。创建工作负载的步骤详情请参见创建工作负载。
- 选择节点亲和调度的策略类型。
- 不配置:不设置节点亲和策略。
- 指定节点调度:指定工作负载Pod部署的节点。若不指定,将根据集群默认调度策略随机调度。
- 指定节点池调度:指定工作负载Pod部署的节点池。若不指定,将根据集群默认调度策略随机调度。
- 自定义亲和策略:根据节点标签实现灵活的调度策略,支持的调度策略类型请参见表3。选择合适的策略类型后,单击添加调度策略,参数详情请参见表4。您也可以单击“指定节点”或“指定可用区”通过控制台快速选择需要调度的节点或可用区。
“指定节点”和“指定可用区”本质也是通过标签实现,只是通过控制台提供了更为便捷的操作,无需手动填写节点标签和标签值。指定节点使用的是 kubernetes.io/hostname 标签,指定可用区使用的是 failure-domain.beta.kubernetes.io/zone 标签。
表3 节点亲和性设置 参数名
参数描述
必须满足
即硬约束,设置必须要满足的条件,对应requiredDuringSchedulingIgnoredDuringExecution。
添加多条“必须满足”规则时,只需要满足一条规则就会进行调度。
尽量满足
即软约束,设置尽量满足的条件,对应preferredDuringSchedulingIgnoredDuringExecution。
添加多条“尽量满足”规则时,满足其中一条或者都不满足也会进行调度。
表4 节点亲和性调度策略设置参数说明 参数名
参数描述
标签名
设置节点亲和性时,填写需要匹配的节点标签。
该标签可以使用系统默认的标签,也可以使用自定义标签。
操作符
可以设置六种匹配关系(In、NotIn、Exists、DoesNotExist、Gt、Lt)。
- In:亲和/反亲和对象的标签在标签值列表(values字段)中。
- NotIn:亲和/反亲和对象的标签不在标签值列表(values字段)中。
- Exists:亲和/反亲和对象存在指定标签名。
- DoesNotExist:亲和/反亲和对象不存在指定标签名。
- Gt:仅在节点亲和性中设置,调度节点的标签值大于列表值 (字符串比较)。
- Lt:仅在节点亲和性中设置,调度节点的标签值小于列表值 (字符串比较)。
标签值
设置节点亲和性时,填写节点标签对应的标签值。
- 调度策略添加完成后,单击“创建工作负载”。