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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21816375/article/details/79967605

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

可以通过kubectl taint 来执行
例如

添加 Taints and Tolerations

kubectl taint nodes node1 key=value:NoSchedule

-------node1:节点名称
-------key 就是key
-------value 就是value 
-------效果是 NoSchedule
意思是说只有拥有: key=value:NoSchedule这个属性的pod才能调度到node1上

删除Taints and Tolerations

kubectl taint nodes node1 key:NoSchedule-

该属性是在PodSpec下,只有这个值才能被调度到node1上

tolerations:
- key: "key"
  operator: "Equal"
  value: "value"
  effect: "NoSchedule"
tolerations:
- key: "key"
  operator: "Exists"
  effect: "NoSchedule"

以上表示只有key=’key’ value=’value’ 或者 存在key=’key’的pod才会调度到node1上

Operator默认是Equal

tolerations:
- operator: "Exists"
这中情况 Exists的空键匹配所有的键,值和效果,这意味着这将容忍一切
tolerations:
- key: "key"
  operator: "Exists"
  匹配key="key"键关键字的所有效果。
kubectl taint nodes node1 key1=value1:NoSchedule
kubectl taint nodes node1 key1=value1:NoExecute
kubectl taint nodes node1 key2=value2:NoSchedule

pod要生成以下

tolerations:
- key: "key1"
  operator: "Equal"
  value: "value1"
  effect: "NoSchedule"
- key: "key1"
  operator: "Equal"
  value: "value1"
  effect: "NoExecute"

未完待续

参考
taint-and-toleration

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页