行至水穷处 坐看“云”起时

Cloud Native ADN -> CNadn.Net

Node Affinity / Taints /Tolerations

在一个matchexpression部分中的多条件是 AND关系


多nodeselectorterm是 或,任意一个匹配即可


required首先要满足,在同时多个node满足的情况下,使用prefer,preference下只能配置一个matchexpression,如果匹配则给node加weight(因为此时scheduler还需根据很多其它条件来排序可用的nodes,增加分值可以增加选择概率)


Taints, 用在node上,格式为key=value:effect,例如

edge=true:NoSchedule
gpu=true:NoSchedule
bigdata=true:NoExcute
dev=team3:PreferNoSschedule
最后的effect指明了这个taint的动作,拒绝被调度,拒绝pod在其上执行,不优先考虑被调度。如果一个node有了Noschedule的taint,那么只有当pod声明了对应的key/value/effect的tolerations时,这个pod才可以被调度到这个node上。

所以这个方法一般用来保护一个node,确保node上只调度那些期望的pods。

一个node包含多个taints,tolerations会挨个根据自己的tolerations去匹配过滤,都能被toleration了就可以调度,如果有剩余的taints没被匹配,那么根据这个剩余的taints本身的效果来决定。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注