affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- preference:
matchExpressions:
- key: B
operator: Exists
weight: 100
所以我给节点池B更多的权重。
一开始,它工作得很好。我在24小时后回来,发现一些豆荚被部署到节点池,而我在节点B中有空闲资源(未分配的机器)。这是浪费钱。
我确信NodeAffinity
属性正在简洁地工作。我怀疑在同一时刻,节点池B正在运行,没有任何空闲资源。在这一点上,集群想要成长...新的吊舱被部署到节点池A,直到这里,一切都很好...
spec:
tolerations:
- key: A
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 60
不幸的是,在等待了足够的时间后,我仍然在一个
节点池上看到豆荚。我做错了什么?
您可以污染池a,然后配置所有豆荚以容忍污染,但在您想要的持续时间内有一个容忍秒。这是对池B的配置的补充。
其效果是,如果吊舱不适合B,它将被安排到A,但过一段时间后将被驱逐(希望再次被重新安排到B上)。
参见:https://kubernetes.io/docs/concepts/configuration/taint-and-容忍/#taint-based-evictions