# 使用案例
污点和容忍使用起来非常灵活,可以用于:
- 避免 Pod 被调度到某些特定的节点
- 从节点上驱逐本不应该在该节点运行的 Pod
具体的场景可能有:
- 专属的节点: 如果您想将一组节点专门用于特定的场景,您可以为这些节点添加污点(例如
kubectl taint nodes nodename dedicated=groupName:NoSchedule
)然后向对应的 Pod 添加容忍。带有这些容忍的 Pod 将可以使用这一组专属节点,同时也可以使用集群中的其他节点。如果您想进一步限制这些 Pod 只能使用这一组节点,那么您应该为这一组节点添加一个标签(例如 dedicated=groupName),并为这一组 Pod 添加 node affinity(或 node selector)以限制这些 Pod 只能调度到这一组节点上。 - 带有特殊硬件的节点: 集群中,如果某一组节点具备特殊的硬件(例如 GPU),此时非常有必要将那些不需要这类硬件的 Pod 从这组节点上排除掉,以便需要这类硬件的 Pod 可以得到资源。此时您可以为这类节点添加污点(例如:
kubectl taint nodes nodename special=true:NoSchedule
或者kubectl taint nodes nodename special=true:PreferNoSchedule
)并为需要这类硬件的 Pod 添加匹配的容忍。 - 基于污点的驱逐 当节点出现问题时,可以使用污点以 Pod 为单位从节点上驱逐 Pod。进一步描述请参考 基于污点的驱逐
免费答疑
微信群
微信扫码 进群发广告者死全家...
赞赏
微信扫码