- 最新动态
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- UCS集群
- 容器舰队
- 集群联邦
- 镜像仓库
- 权限管理
-
策略中心
- 策略中心概述
- 策略定义与策略实例的基本概念
- 启用策略中心
- 创建和管理策略实例
- 示例:使用策略中心实现Kubernetes资源合规性治理
-
使用策略定义库
- 策略定义库概述
- k8spspvolumetypes
- k8spspallowedusers
- k8spspselinuxv2
- k8spspseccomp
- k8spspreadonlyrootfilesystem
- k8spspprocmount
- k8spspprivilegedcontainer
- k8spsphostnetworkingports
- k8spsphostnamespace
- k8spsphostfilesystem
- k8spspfsgroup
- k8spspforbiddensysctls
- k8spspflexvolumes
- k8spspcapabilities
- k8spspapparmor
- k8spspallowprivilegeescalationcontainer
- k8srequiredprobes
- k8srequiredlabels
- k8srequiredannotations
- k8sreplicalimits
- noupdateserviceaccount
- k8simagedigests
- k8sexternalips
- k8sdisallowedtags
- k8sdisallowanonymous
- k8srequiredresources
- k8scontainerratios
- k8scontainerrequests
- k8scontainerlimits
- k8sblockwildcardingress
- k8sblocknodeport
- k8sblockloadbalancer
- k8sblockendpointeditdefaultrole
- k8spspautomountserviceaccounttokenpod
- k8sallowedrepos
- 配置管理
- 服务网格
- 流量分发
- 可观测性
- 云原生服务中心
- 容器迁移
- 流水线
- 错误码
- 最佳实践
- API参考
- 常见问题
- 文档下载
- 通用参考
链接复制成功!
配置调度与差异化
集群调度策略
当前界面支持集群权重和自动均衡两种策略。
通过控制台配置调度策略
- 登录UCS控制台。
- 在创建工作负载时,单击“下一步:调度与差异化”。
- 添加调度策略。
表1 调度策略 策略
描述
集群权重策略
需要您选择集群并配置分发权重,按照集群权重配比分发Pod。
自动均衡策略
按照剩余资源量自动选择集群分发Pod,不需要额外配置。
集群权重的计算方法
计算方法
对于基于集群权重的调度策略,在您设置各个集群的权重后,相应的集群分配Pod数的计算方法如下所述。
- 按照权重计算各个集群的分配Pod数(向下取整)。
- 计算剩余Pod数。
- 若剩余Pod数不为0,则按照集群权重大小排序后再次分配,一次分配一个Pod。排序后,若各个集群设置的权重相同,则会由系统随机选择成员集群进行Pod分配。
计算示例
Pod总数共7个,分配至三个集群member1、member2和member3,设置的集群权重为2 : 1 : 1。
- 计算各集群分配Pod数
member1分配Pod数 = 7 * 2 / 4,向下取整后为3。
member2分配Pod数 = 7 * 1 / 4,向下取整后为1。
member3分配Pod数 = 7 * 1 / 4,向下取整后为1。
也就是说,首次分配的结果为member1分配3个Pod,为member2分配1个Pod,为member3分配1个Pod。
- 计算剩余Pod数
- 按照集群权重大小排序后再次分配
权重排序为member1权重 > member2权重 = member3权重,则再次分配的结果为:member1分配1个Pod,剩余的一个Pod在member2、member3中由系统随机选择一个集群进行分配。
集群容忍策略
集群容忍策略允许调度器将Pod调度至带有对应污点的集群上,需要与集群污点配合使用。
默认的集群容忍策略
在创建工作负载时,UCS会为您的负载配置默认的容忍策略。默认的容忍策略会在某集群出现故障后为其添加表2所示的污点,待持续时长超出容忍时长后会自动驱逐该集群上所有Pod。
在驱逐所有故障集群上的Pod后,待该集群恢复正常,UCS不会按照原有调度策略将Pod迁回该集群。若您需要继续执行原调度策略配置,可以对工作负载进行重新调度。
污点键 |
容忍策略 |
---|---|
cluster.karmada.io/not-ready |
集群状态为not ready时自动添加该污点,持续时长超出容忍时长后会自动驱逐该集群上所有Pod。 |
cluster.karmada.io/unreachable |
集群状态为不可用时自动添加该污点,持续时长超出容忍时长后会自动驱逐该集群上所有Pod。 |
通过控制台配置集群容忍策略
- 登录UCS控制台。
- 在创建工作负载时,单击“下一步:调度与差异化”。
- 添加污点容忍策略。
参数名
参数描述
污点键
集群的污点键。
操作符
- Equal:设置此操作符表示准确匹配指定污点键(必填)和污点值的节点。如果不填写污点值,则表示可以与所有污点键相同的污点匹配。
- Exists:设置此操作符表示匹配存在指定污点键的节点,此时容忍度不能指定污点值。若不填写污点键则可以容忍全部污点。
污点值
- 如果操作符的值是 Exists,则value属性可省略。
- 如果操作符的值是 Equal,则表示其key与value之间的关系是Equal(等于)。
- 如果不指定操作符属性,则默认值为Equal。
污点策略
- 全部:表示匹配所有污点效果。
- NoSchedule:表示匹配污点效果为NoSchedule的污点。
- NoExecute:表示匹配污点效果为NoExecute的污点。
容忍时间窗
即tolerationSeconds参数,当污点策略为NoExecute时支持配置。
在容忍时间窗内,Pod还会在拥有污点的节点上运行,超出时间后会被驱逐。若不配置容忍时间窗,则Pod永远不会被驱逐。