污点与容忍度用于控制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 可以被调度到特定节点上。
污点(Taints):限制节点的调度能力
污点是设置在节点上的属性,用来“排斥”某些 Pod。只有具备相应容忍度的 Pod 才能被调度到带有污点的节点上。
一个污点由三部分组成:key、value 和 effect。常见的 effect 包括:
NoSchedule:不允许新 Pod 调度到该节点(已运行的不受影响)PreferNoSchedule:尽量不调度,但不是强制NoExecute:不仅阻止调度,还会驱逐节点上已运行的不匹配 Pod
例如,给节点标记为专用用途:
kubectl taint nodes node-1 dedicated=special:NoSchedule
容忍度(Tolerations):允许 Pod 接受污点
容忍度配置在 Pod 上,表示该 Pod 可以“容忍”某些污点,从而被调度到对应节点。
只要 Pod 定义了与节点污点匹配的容忍度,调度器就会允许调度。
示例:让 Pod 能调度到上面那个节点:
tolerations:- key: "dedicated" operator: "Equal" value: "special" effect: "NoSchedule" tolerationSeconds: 3600
这里 tolerationSeconds 表示在 NoExecute 场景下,可以容忍多长时间后才被驱逐。
常见使用场景
污点和容忍度常用于以下情况:
将关键系统组件隔离到专用节点保留某些节点供特定团队或应用使用节点维护期间防止新 Pod 调度(如设置 NoExecute)混合部署环境(如 GPU 节点只允许 AI 类 Pod 调度)
基本上就这些。通过组合污点和容忍度,你可以精细控制集群中 Pod 的分布,提升资源隔离性和运维灵活性。
以上就是什么是 Kubernetes 的污点与容忍度?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1440165.html
微信扫一扫
支付宝扫一扫