在定义污点和容忍度时,我们将污点定义如下:
kubectl taint nodes node1 key1=value1:NoSchedule
Run Code Online (Sandbox Code Playgroud)
现在,任何不具有如下定义的容忍度的 Pod 将不会被调度到 Node1 上。定义了容忍度的节点将被调度到该节点上。但是,为什么我们需要在 POD 上定义 NoSchedule 呢?它已经在节点上定义了。
tolerations:
- key: "key1"
operator: "Equal"
value: "value1"
effect: "NoSchedule"
Run Code Online (Sandbox Code Playgroud)
如果出现以下情况,会产生什么影响:
kubectl taint nodes node1 key1=value1:NoSchedule
Run Code Online (Sandbox Code Playgroud)
tolerations:
- key: "key1"
operator: "Equal"
value: "value1"
effect: "NoExecute"
Run Code Online (Sandbox Code Playgroud)
注意:我知道它不仅试图匹配“污点值”,还尝试匹配“污点效果”。但是也有匹配“污点效应”的用例吗?
tolerations.effect (string) Effect 指示要匹配的污点效果。空意味着匹配所有污点效果。指定后,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。
谢谢
如果出现以下情况,会产生什么影响:
- 节点效果为NoSchedule
kubectl 污点节点 node1 key1=value1:NoSchedule
- 但POD的容忍度是NoExecute
Pod 不会被调度到它无法容忍的节点上,例如。您的示例 pod 不会被安排在受 污染的节点上,NoSchdule因为它只容忍NoExecute.
...use case for matching "taint effect"
不确定这里的意思是什么;但仅通过指定键和值就可以容忍具有任何效果的键。
| 归档时间: |
|
| 查看次数: |
737 次 |
| 最近记录: |