K8S汙點機制

2021-10-12 01:16:44 字數 1009 閱讀 3066

汙點kubectl taint

#汙點 ( taint ) 的組成

使用 kubectl taint 命令可以給某個 node 節點設定汙點,node 被設定上汙點之後就和 pod 之間存在了一種相

斥的關係,可以讓 node 拒絕 pod 的排程執行,甚至將 node 已經存在的 pod 驅逐出去

每個汙點的組成如下:

key=value:effect

每個汙點有乙個 key 和 value 作為汙點的標籤,其中 value 可以為空,effect 描述汙點的作用。當前 taint

effect 支援如下三個選項:

noschedule :表示 k8s 將不會將 pod 排程到具有該汙點的 node 上

prefernoschedule :表示 k8s 將盡量避免將 pod 排程到具有該汙點的 node 上

noexecute :表示 k8s 將不會將 pod 排程到具有該汙點的 node 上,同時會將 node 上已經存在的 pod 驅

逐出去檢視是否設定汙點

[root@kmaster1 k8s]

# kubectl describe nodes kmaster1 | grep -i taint

taints: node-role.kubernetes.io/master:noschedule

去除汙點

[root@kmaster1 k8s]

# kubectl taint nodes kmaster1 node-role.kubernetes.io/master:noschedule-

node/kmaster1 untainted

再次檢視

[root@kmaster1 k8s]

# kubectl describe nodes kmaster1 | grep -i taint

taints:

k8s中汙點設定

kubectl taint 汙點 taint 的組成 使用 kubectl taint 命令可以給某個 node 節點設定汙點,node 被設定上汙點之後就和 pod 之間存在了一種相 斥的關係,可以讓 node 拒絕 pod 的排程執行,甚至將 node 已經存在的 pod 驅逐出去 每個汙點的組...

k8s設定汙點taint

如果不想讓master節點參與到正常的pod排程,則需要對master進行打汙點標籤,這樣master就不會有pod建立 pod建立時可以進行容忍度設定,這樣master還是可以進行pod排程 汙點標記 prefernoschedule noschedule 的軟策略版本,表示盡量不排程到汙點節點上...

k8s 節點親和性和汙點容忍

1 檢視標籤 kubectl get nodes show labels 2 打標籤 kubectl label nodes node1.com kong true kubectl label nodes node2.com kong true kubectl label nodes node3.c...