K8S-污點(diǎn)與污點(diǎn)容忍

Taints(污點(diǎn)):避免Pod調(diào)度到特定的Node上
Tolerations(污點(diǎn)容忍): 允許Pod調(diào)度到持有Taints的Node上

應(yīng)用場(chǎng)景:
? 專用節(jié)點(diǎn):根據(jù)業(yè)務(wù)線將Node分組管理,希望在默認(rèn)情況下不調(diào)度該節(jié)點(diǎn),只有配置了污點(diǎn)容忍才允許分配
? 配備特殊硬件:部分Node配有SSD硬盤,GPU,希望在默認(rèn)情況下不調(diào)度該節(jié)點(diǎn),只有配置了污點(diǎn)容忍才允許分配
? 基于Taint的驅(qū)逐

污點(diǎn)配置:

給node節(jié)點(diǎn)添加污點(diǎn)

kubectl taint node [node] key=value:[effect]

其中key=value 是設(shè)定一個(gè)污點(diǎn)標(biāo)簽

其中[effect] 可取值:
? NoSchedule :一定不能被調(diào)度
? PreferNoSchedule:盡量不要調(diào)度,非必須配置容忍
? NoExecute:不僅不會(huì)調(diào)度,還會(huì)驅(qū)逐Node上已有的Pod

污點(diǎn)容忍配置:

在pod.yaml中添加配置(spec下級(jí),和containers段同級(jí))

tolerations: 
- key: "gpu"  #允許容忍的污點(diǎn)標(biāo)簽key(添加節(jié)點(diǎn)污點(diǎn)時(shí)指定的)
  operator: "Equal"  #操作符,equal等于
  value: "yes" #允許容忍的污點(diǎn)標(biāo)簽value(添加節(jié)點(diǎn)污點(diǎn)時(shí)指定的)
  effect: "NoSchedule"  #effect (添加節(jié)點(diǎn)污點(diǎn)時(shí)指定的)
去掉污點(diǎn)
kubectl taint node [node] key-
例子:
  1. 一共2臺(tái)node節(jié)點(diǎn),給node1 和 node2 都打上污點(diǎn)。分別指定兩個(gè)污點(diǎn)標(biāo)簽gpu=yes,disk=ssd,最后查看pod狀態(tài)和污點(diǎn)狀態(tài)
kubectl taint node k8s-node1 gpu=yes:NoSchedule
kubectl taint node k8s-node2 disk=ssd:NoSchedule
#創(chuàng)建個(gè)pod
kubectl apply -f pod_taint.yaml 
image.png

image.png

上述結(jié)果說(shuō)明,污點(diǎn)配置成功,node1和node2都被打上了污點(diǎn),當(dāng)前已無(wú)合適的node可分配了。

  1. 如果在特殊情況下,需要污點(diǎn)機(jī)器也可以被分配,就要配置污點(diǎn)容忍。 在上面的情況下,如果讓node1還能繼續(xù)被分配,在pod.yaml添加


    image.png

再次創(chuàng)建pod,發(fā)現(xiàn)成功分配到了。驗(yàn)證Tolerations


image.png
  1. 最后再去掉這兩臺(tái)node的污點(diǎn)
kubectl taint node k8s-node1 gpu-
#node/k8s-node1 untainted
kubectl taint node k8s-node2 disk-
#node/k8s-node2 untainted
kubectl describe node|grep Taint
Taints:             node-role.kubernetes.io/master:NoSchedule
Taints:             <none>
Taints:             <none>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容