云容器引擎 CCE-工作负载异常:实例调度失败:排查项三:检查工作负载的亲和性配置
排查项三:检查工作负载的亲和性配置
当亲和性配置出现如下互斥情况时,也会导致实例调度失败:
例如:
workload1、workload2设置了工作负载间的反亲和,如workload1部署在Node1,workload2部署在Node2。
workload3部署上线时,既希望与workload2亲和,又希望可以部署在不同节点如Node1上,这就造成了工作负载亲和与节点亲和间的互斥,导致最终工作负载部署失败。
0/2 nodes are available: 1 node(s) didn't match node selector, 1 node(s) didn't match pod affinity rules, 1 node(s) didn't match pod affinity/anti-affinity.
- node selector 表示节点亲和不满足。
- pod affinity rules 表示Pod亲和不满足。
- pod affinity/anti-affinity 表示Pod亲和/反亲和不满足。
解决方案:
- 在设置“工作负载间的亲和性”和“工作负载和节点的亲和性”时,需确保不要出现互斥情况,否则工作负载会部署失败。
- 若工作负载配置了节点亲和性,需确保亲和的节点标签中supportContainer设置为true,否则会导致pod无法调动到节点上,查看事件提示如下错误信息:
No nodes are available that match all of the following predicates: MatchNode Selector, NodeNotSupportsContainer
节点标签为false时将会调度失败。