在 Kubernetes (K8S) 中,调度策略决定了 Pod 如何分配到适合的节点上。以下是基于 污点、容忍度、和 亲和性 的多种调度策略,它们可以配合使用来实现灵活的 Pod 调度。
一.污点
污点是一种标记,添加在节点上,用来限制某些 Pod 被调度到该节点上。
格式:key=value:effect
,常见的 effect
包括NoSchedule,PreferNoSchedule和NoExecute。
-
NoSchedule
:不允许没有容忍度的 Pod 被调度到此节点。 -
PreferNoSchedule
:尽量不调度到此节点,但不是强制性的。 -
NoExecute
:会立即驱逐节点上没有相应容忍度的 Pod
具体添加污点的命令如下
kubectl taint nodes <node-name> key=value:NoSchedule
查看污点
kubectl describe nodes master01 | grep Taints</