最近更新时间:2021-09-24 16:57:59
Pod亲和策略可以决定工作负载的Pod和哪些Pod部署在同一个拓扑域中,同时也可以基于已经运行在节点上的 Pod 的标签来限定 Pod 可以被调度到哪个节点上。
注:您可根据实际需求选择Deployment、StatefulSet、DaemonSet。
以下为Pod亲和设置详情:
参数 | 描述 |
---|---|
必须满足 | 即硬约束,Pod的亲和性调度必须要满足后续定义的约束条件,对应requiredDuringSchedulingIgnoredDuringExecution,您可以点击新增调度规则添加多条必须满足的规则,多个调度规则是逻辑或的关系,即只需要满足一条规则即可被调度。 |
尽量满足 | 即软约束,对应preferredDuringSchedulingIgnoredDuringExecution,Pod的亲和性调度会尽量满足后续定义的约束条件。同时您可点击新增调度规则添加多条尽量满足的规则,无论是满足其中一条或者是都不满足都会进行调度。 |
对应matchExpressions,您可以单击新增选择器添加多条选择器,多个选择器是逻辑与的关系,即需要满足全部选择器才能依据此条规则进行调度。
参数 | 描述 |
---|---|
权重 | 尽量满足时可为规则设置权重值,权重值越高会被优先调度。 |
命名空间 | 依据Pod的标签进行调度,所以会受到命名空间的约束 |
拓扑域 | 即topologyKey,用于指定调度时的作用域。拓扑域通过设置Node节点的标签,例如指定为 kubernetes.io/hostname, 以Node节点作为区分范围 |
查看应用列表 | 根据实际需求查看各命名空间下的应用,将可用的标签导入到亲和性配置中 |
标签名 | 对应工作负载的Pod标签,您可以手工填写,也可从应用列表中选择 |
操作符 | 可选值为In, NotIn, Exists, DoesNotExist |
标签值 | 当操作符选择In或NotIn时,可以添加单个或多个value值;选择Exists或DoesNotExist时不需设置value值,即判断某个label是否存在 |
纯净模式