工作负载的主机调度中最好必须首选规则 新手求指点

Rancher Server 设置

  • Rancher 版本:v2.5.10
  • 安装选项 (Docker install/Helm Chart):
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:

问题描述: 工作负载的主机调度中最好必须首选这三个 最好代表什么 为什么设置后总会被必须覆盖

参考:Assigning Pods to Nodes | Kubernetes

1 个赞

是这样 有强弱亲和性 但是为什么我们有三种规则 我找不到关于Require Any of:的意义

看了下,这地方 UI 确实有bug,我先解释下正常情况下这三个关键字的含义和作用:

比如你分别在 require all ofrequire any of 下创建了 3 个 规则:
require all of: 代表必须同时满足这 3 个规则的主机才能调度
require any of: 代表只要满足 3 个规则中的一个规则就可以调度

prefer any of 对应的就是 K8s 里的 preferredDuringSchedulingIgnoredDuringExecution

1 个赞

开源版Cluster Manager UI这里确实存在BUG(并不属于UI引入的BUG,而是后端的BUG),第一翻译存在歧义,第二当同时设置 Require All Of 和 Require Any Of 会导致 Require All Of 缺失。以上问题在Rancher企业版中已经得到修复。

2 个赞

了解了,多谢

好的,谢谢大佬

这个机制是很早设计的,当时想当然觉得应该给用户把require再细分成:All 和Any。
从用户实际使用上看到,还是很部分人不喜欢二次包装k8s的概念。不过,木已成舟,并不敢轻易改动这块的逻辑。同时,这个有点烧脑的逻辑,也引来了Bug。

2.6开始后,已经采用新的UI,不再会过度封装,这里也不会再是问题。
2.5版本大概在今年10月后到EOL。

企业版本面向国内的商业客户,还在努力维护旧版UI,所以做了一些优化。
社区版内的旧版UI已经确定不再进化,这个帖子描述的问题,建议edit yaml规避。