k8s 給節點打標籤和打汙點

2022-09-20 17:57:12 字數 1563 閱讀 1415

打標籤

kubectl label node node1 env-role=prod

檢視標籤

kubectl get nodes  --show-labels

kubectl taint node node名 key=value:汙點三個可選值

noschedule : 一定不被排程

prefernoschedule : 盡量不被排程

noexecute : 不會排程,並且還會驅逐node已有pod

kubectl taint node node1 key1=value1:noschedule 

kubectl taint node node1 key1=value1:noexecute

kubectl taint node node1 key2=value2:noschedule

檢視taint:

kubectl describe node node1 | grep taints

刪除taint:

kubectl taint node node1 key1:noschedule-  # 這裡的key可以不用指定value

kubectl taint node node1 key1:noexecute-

# kubectl taint node node1 key1- 刪除指定key所有的effect

kubectl taint node node1 key2:noschedule-

master節點設定taint

kubectl taint nodes master1 node-role.kubernetes.io/master=:noschedule

注意⚠️ : 為master設定的這個taint中,node-role.kubernetes.io/masterkey,value為空,effectnoschedule

如果輸入命令時, 你丟掉了=符號, 寫成了node-role.kubernetes.io/master:noschedule, 會報error: at least one taint update is required錯誤

以上面為 master1 設定的 taints 為例, 你需要為你的 yaml 檔案中新增如下配置, 才能容忍 master 節點的汙點

在 pod 的 spec 中設定 tolerations 字段

tolerations:

- key: "node-role.kubernetes.io/master"

operator: "equal"

value: ""

effect: "noschedule"

k8s 節點打標籤

node標籤設定後,pod可以根據要求讓pod排程到想要的節點上執行,或者不在某節點執行。或者確保pod排程到具有高效能 比如ssd的機器 的節點山上。1.展示節點標籤 kubectl get node show labels true2.新增節點標籤 3.把pod排程到指定標籤 啟動乙個deplo...

K8S汙點機制

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

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...