文章目录

  • 一、Taint(污点)
    • `1.1概念`
    • `1.2设置污点`
    • 取消污点
  • 二、tolerations(污点容忍)
    • `2.1概念`
    • `2.2示例`
  • 三、Node 和 Pod 对于污点与容忍基本概念
  • 参考资料

一、Taint(污点)

1.1概念

节点亲和性是 Pod 的一种属性,它使 Pod 被吸引到一类特定的节点 。 这可能出于一种偏好,也可能是硬性要求。 Taint(污点)则相反,它使节点能够排斥一类特定的 Pod。

1.2设置污点

kubectl taint nodes [Node Name] key=value:[effect]

effect可取三种值:

NoSchedule           #一定不能被调度【常用】
PreferNoShedule     #尽量不要调度
NoExecute           #不仅不会调度,而且还会驱逐Node上所有的Pod

例如:

kubectl taint node k8smaster type=dev:NoSchedule

给k8smaster节点增加一个污点,它的键名是type,键值是 dev,效果是 NoSchedule。 这表示只有拥有和这个污点相匹配的容忍度的 Pod 才能够被分配到 这个节点。

取消污点

kubectl taint nodes [Node Name] key:[effect]-

二、tolerations(污点容忍)

2.1概念

允许Pod调度到持有Taints的Node上(并不是强制调度到持有Taints的Node上,如果有干净的节点,也会往其上调度)

污点容忍+nodeSelector可以实现只调度到专用节点上

一个容忍度和一个污点相“匹配”是指它们有一样的键名和效果,并且:

如果 operator 是 Exists (此时容忍度不能指定 value)
如果 operator 是 Equal ,则它们的 value 应该相等

2.2示例

tolerations:
- key: "type"operator: "Exists"effect: "NoSchedule"

或者

tolerations:
- key: "type"operator: "Equal"value: "dev"effect: "NoExecute"tolerationSeconds: 3600

表示该Pod可以调度到key等于type,且动作为NoSchedule的节点上。

tolerationSeconds: 3600表示如果这个 Pod 已经在这个带污点且 effect 为 NoExecute 的 node 上。这个 pod 可以一直运行到 3600s 后再被踢掉。如果这时候 Node 的污点被移除了,这个 Pod 就不会被踢掉。

三、Node 和 Pod 对于污点与容忍基本概念

  • 一个 node 可以有多个污点;
  • 一个 pod 可以有多个容忍;
  • kubernetes 执行多个污点和容忍方法类似于过滤器

如果一个 node 有多个污点,且 pod 上也有多个容忍,只要 pod 中容忍能包含 node 上设置的全部污点,就可以将 pod 调度到该 node 上。

如果 pod 上设置的容忍不能够包含 node 上设置的全部污点,且 node 上剩下不能被包含的污点 effect 为 PreferNoSchedule,那么也可能会被调度到该节点。

注意:

  • 当 pod 总存在 容忍,首先 pod 会选择没有污点的节点,然后再次选择容忍污点的节点。
  • 如果 node 上带有污点 effect 为 NoSchedule,而 pod 上不带响应的容忍,kubernetes 就不会调度 pod 到这台 node 上。
  • 如果 Node 上带有污点 effect 为 PreferNoShedule,这时候 Kubernetes 会努力不要调度这个 Pod 到这个 Node 上。
  • 如果 Node 上带有污点 effect 为 NoExecute,这个已经在 Node 上运行的 Pod 会从 Node 上驱逐掉。没有运行在 Node 的 Pod 不能被调度到这个 Node 上。一般使用与当某个节点处于 NotReady 状态下,pod 迅速在其他正常节点启动。

参考资料

参考视频:https://ke.qq.com/course/1709963
三只兔子的故事理解 Kubernetes 污点和容忍,真的很简单!

K8S taint(污点)和tolerations(污点容忍)相关推荐

  1. Kubernetes K8S之Taints污点与Tolerations容忍详解

    Kubernetes K8S之Taints污点与Tolerations容忍详解与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master C ...

  2. K8S中的亲和,污点和容忍

    一.引入故事 在讲述一系列相关专业术语之前,先尝试用一个通俗易懂的故事来说明 Kubernetes 中 node 与 pod 之间的爱恨情仇. 雄性(node)| 雌性(pod)在银河系以外的一个星球 ...

  3. Kubernetes Pod调度进阶:Taints(污点)和Tolerations(容忍)

    [注意]最后更新于 2 years ago,文中内容可能已过时,请谨慎使用. 污点(Taint)和容忍(Toleration)是从Kubernetes 1.6开始提供的高级调度功能. 在Kuberne ...

  4. k8s调度:亲和度、容忍度

    k8s调度:亲和性调度.容忍度调度 一.实验环境及简介 1.1.实验环境 1.2.亲和性 1.3.污点和容忍度 二.节点亲和性调度 2.1.节点硬亲和性 2.2.节点软亲和性 三.Pod亲和度 3.1 ...

  5. [Kubernetes] Taint和Toleration(污点和容忍)

    Taint(污点)和 Toleration(容忍)可以作用于 node 和 pod 上,其目的是优化 pod 在集群间的调度,这跟节点亲和性类似,只不过它们作用的方式相反,具有 taint 的 nod ...

  6. 【云原生 · Kubernetes】Taint和Toleration(污点和容忍)

    个人名片: 因为云计算成为了监控工程师

  7. K8S - k8s查看污点和删除污点

    查看污点,可以使用以下命令 kubectl describe nodes k8s-master |grep Taints Taints: gameble=true:NoSchedule[root@k8 ...

  8. kubernetes 的 Taints and Tolerations(污点和耐性)

    功能 Taints and Tolerations 是pod的一个属性,它将允许某些pod在指定的节点上或者不允许指定的pod到指定节点上或者必须要有某些的pod才能调度到指定节点上 可以通过kube ...

  9. K8s Taint 和 Tolerations

    用途 强隔离,独占节点.如按部门或业务划拨一批节点,不让其他用户的Pod调度到这个节点上,只有加上了特定的Toleration才能调度到这个Taint 节点上,其他的统统不行. 为什么不用Label隔 ...

最新文章

  1. 线阵相机和面阵相机的区别及应用
  2. 强大的shell常用命令集锦
  3. Walking on the path of Redis --- Redis configuration
  4. ept技术_EPT技术在压载水处理中的运用
  5. 牛客竞赛语法入门班函数与递归习题【未完结】
  6. 2016及以后的自动化测试趋势 -《测试技术六月刊》
  7. ASP.NET Core微服务(三)——【跨域配置】
  8. 六年级下册百分数计算题_小学六年级数学期末考,题量较大,出题全面、灵活...
  9. C语言中的静态函数的作用
  10. php 利用http上传协议(表单提交上传图片 )
  11. Golang实践录:使用gin框架实现转发功能:上传文件并转
  12. Watermaker水位线/水印
  13. n皇后---一维数组解法
  14. im即时通讯软件app源码-仿微信-开发日记
  15. 光纤交换机 和 SAN交换机 概念
  16. 笔记本用HDMI转VGA转接线后,显示器没声音的解决方法
  17. 学计算机选择师范类好吗,师范教育类专业和计算机类专业,两者相比,哪个更适合自考生报读...
  18. 设置两个路由器无线桥接
  19. args.verbose 的意思
  20. SpringSecurity系列之基于数据库认证

热门文章

  1. 创建型设计模式(待更新)
  2. 黑马头条推荐系统完整版(包括虚拟机和数据,代码已修复过可完美跑起来)
  3. 计算机三级网络技术最全知识点总结六
  4. 付费入群怎么做_微信群怎么设置付费才可以进入
  5. Java中的移位操作——Java编程思想笔记
  6. 安装 Git 之后系统自动添加自定义快捷命令列表
  7. 机器学习零基础?手把手教你用TensorFlow搭建图像识别系统
  8. matlab ftt图像压缩,求助 fft图像压缩程序问题
  9. XP系统添加网络打印机步骤
  10. egg 添加 samesite=none, 出现感叹号