1. 程式人生 > 其它 >k8s基礎概念之七 汙點

k8s基礎概念之七 汙點

幾個簡單需要打汙點的例子

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秒後驅逐,根據業務來修改,如果要求可用非常高,參考設