news 2026/5/1 3:11:31

一文掌握k8s的污点和容忍度

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一文掌握k8s的污点和容忍度

节点污点

什么是污点?

污点(Taint)是施加在节点上的属性,用于排斥不匹配的Pod。从而避免Pod调度到该节点上。功能上和pod的亲和性相反

什么是污点容忍度?

  • 容忍度(Toleration)是定义在Pod上的属性,用于声明对污点的容忍能力。容忍度允许调度器调度pod 到有对应污点的节点上,容忍度允许调度但并不保证调度。也就是说,允许pod调度到持有Taint的node上,希望pod能够分配到带污点的节点,增加了污点容忍,那么就会认可这个污点,就「有可能」分配到带污点的节点。

污点参数设置说明

参数名描述
污点键节点的污点键。
操作符Equal:设置此操作符表示准确匹配指定污点键(必填)和污点值的节点。如果不填写污点值,则表示可以与所有污点键相同的污点匹配。
Exists:设置此操作符表示匹配存在指定污点键的节点,此时容忍度不能指定污点值。若不填写污点键则可以容忍全部污点。
污点值操作符为Equal时需要填写污点值。
污点策略全部:表示匹配所有污点效果。
NoSchedule:表示匹配污点效果为NoSchedule的污点。
PreferNoSchedule:表示匹配污点效果为
PreferNoSchedule的污点。
NoExecute:表示匹配污点效果为NoExecute的污点。
容忍时间窗即tolerationSeconds参数,当污点策略为NoExecute时支持配置。在容忍时间窗内,Pod还会在拥有污点的节点上运行,超出时间后会被驱逐。

污点示例:

spec: template: spec: tolerations: - key: istio operator: Equal value: ingressgateway effect: NoExecute

设置容忍策略

  • 容忍度(Toleration) 允许调度器将Pod调度至带有对应污点的节点上。 容忍度需要和节点污点相互配合,每个节点上都可以拥有一个或多个污点,对于未设置容忍度的Pod,调度器会根据节点上的污点效果进行选择性调度,可以用来避免Pod被分配到不合适的节点上。更多关于容忍度的使用示例请参见污点和容忍度。
    污点可以指定多种效果,对应的容忍策略对Pod运行影响如下:
污点效果Pod未设置对污点的容忍策略Pod已设置对污点的容忍策略
NoExecute已运行在该节点的Pod会立刻被驱逐。未运行的Pod不会被调度到该节点。未指定容忍时间窗(tolerationSeconds):Pod可以在这个节点上一直运行。已指定容忍时间窗(tolerationSeconds):在容忍时间窗内,Pod还会在拥有污点的节点上运行,超出时间后会被驱逐。
PreferNoSchedule已运行在该节点的Pod不会被驱逐。未运行的Pod尽量不调度到该节点。Pod可以在这个节点上一直运行。
NoSchedule已运行在该节点的Pod不会被驱逐。未运行的Pod不会被调度到该节点。Pod可以在这个节点上一直运行。

容忍度样例

tolerations: - key: "gpu" operator: "Equal" value: "true" effect: "NoSchedule"

默认容忍策略说明

Kubernetes会自动给Pod添加针对node.kubernetes.io/not-readynode.kubernetes.io/unreachable污点的容忍度,且配置容忍时间窗(tolerationSeconds)为300s。这些默认容忍度策略表示当Pod运行的节点被打上这两个污点之一时,可以在5分钟内依旧保持运行在该节点上。

说明:

DaemonSet中的Pod被创建时,针对以上污点自动添加的容忍度将不会指定容忍时间窗,即表示节点存在上述污点时,DaemonSet中的Pod一直不会被驱逐。

默认策略配置示例:

tolerations: - key: node.kubernetes.io/not-ready operator: Exists effect: NoExecute tolerationSeconds: 300 - key: node.kubernetes.io/unreachable operator: Exists effect: NoExecute tolerationSeconds: 300

通过xkube进行设置

通过多集群k8s管理平台xkube的功能可以轻松的设置节点污点和pod容忍度,xkube安装部署参考:https://blog.csdn.net/weixin_56364253/article/details/156390146

功能参考下图:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 20:06:59

一文掌握k8s的健康检查探针

简介 容器的健康检查探针是指容器运行过程中,需要定时检查容器中应用健康状况。 若未配置健康检查机制,当容器内的应用程序发生异常时,Pod无法感知该异常,也不会自动执行重启操作进行恢复。这样可能导致Pod状态显示为“运行中”&a…

作者头像 李华
网站建设 2026/4/23 14:46:15

一文掌握k8s的升级更新策略

简介 K8S中通过spect.strategy来定义新的 Pod 替换为旧的Pod的策略。策略类型分为:重建策略(Recreate)或滚动升级策略(RollingUpdate),默认为 RollingUpdate 两种升级策略 1.Recreate策略 在这种策略中&…

作者头像 李华
网站建设 2026/5/1 5:31:24

aepic.dll文件丢失找不到问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/4/17 15:24:21

springboot体育运动用品商城系统论坛商家

目录 体育运动用品商城系统论坛商家摘要 项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 体育运动用品商城系统论坛商家摘要 体育运动用品商城系统基于SpringBoot框架开发,整合了商品管理、订…

作者头像 李华
网站建设 2026/5/1 11:10:40

光谷聚能,智联全球:OVC 2026为何成电子产业必赴之约?

光谷聚能,智联全球:OVC 2026为何成电子产业必赴之约?2026年5月20-22日,武汉中国光谷科技会展中心将迎来OVC 2026武汉国际电子技术博览会。在电子信息产业加速向智能化、集成化转型的当下,这场落地华中腹地的行业盛会&a…

作者头像 李华
网站建设 2026/5/1 7:04:14

大模型测试必须包含“对抗性微调测试”

大模型测试的挑战与对抗性微调测试的紧迫性随着大型语言模型(LLMs)如GPT系列、Claude等在2026年的广泛应用,软件测试从业者面临前所未有的挑战。大模型已渗透到金融、医疗、客服等关键领域,但其复杂性导致传统测试方法失效——模型…

作者头像 李华