污点与容忍度用于控制Pod调度,污点设在节点上排斥不匹配的Pod,包含key、value和effect(如NoSchedule、PreferNoSchedule、NoExecute),例如kubectl taint nodes node-1 dedicated=special:NoSchedule;容忍度配在Pod上以接受特定污点,使其能调度到带污点的节点,如tolerations中定义key、operator、value和effect,并可设tolerationSeconds控制驱逐延迟;常用于节点隔离、专用资源分配、维护期间调度控制及混合部署场景,提升资源隔离与调度灵活性。

Kubernetes 的污点(Taints)与容忍度(Tolerations)是用于控制 Pod 调度行为的机制,它们决定了哪些 Pod 可以被调度到特定节点上。
污点是设置在节点上的属性,用来“排斥”某些 Pod。只有具备相应容忍度的 Pod 才能被调度到带有污点的节点上。
一个污点由三部分组成:key、value 和 effect。常见的 effect 包括:
例如,给节点标记为专用用途:
kubectl taint nodes node-1 dedicated=special:NoSchedule容忍度配置在 Pod 上,表示该 Pod 可以“容忍”某些污点,从而被调度到对应节点。
只要 Pod 定义了与节点污点匹配的容忍度,调度器就会允许调度。
示例:让 Pod 能调度到上面那个节点:
tolerations: - key: "dedicated" operator: "Equal" value: "special" effect: "NoSchedule" tolerationSeconds: 3600
这里 tolerationSeconds 表示在 NoExecute 场景下,可以容忍多长时间后才被驱逐。
污点和容忍度常用于以下情况:
基本上就这些。通过组合污点和容忍度,你可以精细控制集群中 Pod 的分布,提升资源隔离性和运维灵活性。
以上就是什么是 Kubernetes 的污点与容忍度?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号