k8s基礎概念之七 汙點
阿新 • • 發佈:2021-12-16
幾個簡單需要打汙點的例子
1.不同的機房 2.不同的城市 3.不同的配置 (1) GPU伺服器 (2) 純固態硬碟伺服器 汙點和容忍的理念: taint在一類伺服器上打上汙點,讓不能容忍這個汙點的pod不能部署在這一類伺服器上
汙點簡單使用
…… spec: containers: …… tolerations: - key: "master-test" #打的汙點的key operator: "Exists" #不管汙點的value是什麼 effect: "NoSchedule" #打的汙點的規則--- kubectl taint node master01 master-test=test:NoSchedule #給一個節點打上汙點 #汙點的一些規則 NoSchedule 禁止排程 NoExecute 如果不符合這個汙點,馬上被驅逐 PreferNoSchedule 儘量避免排程到該節點上,不強制 #刪除汙點 kubectl taint node master01 mater-test:NoSchedule- --- #在配置yaml裡面容忍該汙點 …… spec: containers: …… tolerations: - key: "master-test" #打的汙點的key value: "test" #打的汙點的value effect: "NoSchedule"#打的汙點的規則 operator: "Equal" #匹配 等於 --- …… spec: containers: …… tolerations: - key: "master-test" #打的汙點的key operator: "Exists" #不管汙點的value是什麼 effect: "NoSchedule" #打的汙點的規則 --- …… spec: containers: …… tolerations:- operator: "Exists" #容忍所有汙點 #一般用不到 --- …… spec: containers: …… tolerations: - operator: "Exists" #容忍所有汙點 key: master-test --- #在配置yaml裡面容忍該汙點 …… spec: containers: …… tolerations: - key: "master-test" #打的汙點的key value: "test" #打的汙點的value effect: "NoExecute"#打的汙點的規則 operator: "Equal" #匹配 等於 tolerationSeconds: 60 #匹配汙點60秒後驅逐
kubectl taint node node02 node-test=test:NoExecute [root@master01 ~]# kubectl describe pod nfsvb-57d8cc99c7-kfcnx | grep -A 1 Toler Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 360s node.kubernetes.io/unreachable:NoExecute op=Exists for 360s #停留360秒後驅逐,根據業務來修改,如果要求可用非常高,參考設