給k8s集群中的node節點加標簽


 

 

1.增加節點標簽 備注 =:代表增加標簽

kubectl label nodes node3 node-role.kubernetes.io/node3= 

2.減少節點標簽 備注 -:代表減少標簽

kubectl label nodes node3 node-role.kubernetes.io/node3- 

 

 

在某些特殊情況下,需要將某些服務固定在一台宿主機上, k8s可以使用label給node節點打上標簽來滿足這種需求.

Label添加刪除和修改

添加label

# 語法
kubectl label nodes <node-name> <label-key>=<label-value> 
# 查看現有node及label [root@master ~]# kubectl get nodes --show-labels NAME STATUS ROLES AGE VERSION LABELS master Ready master 54d v1.13.4 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=master,node-role.kubernetes.io/master= node01 Ready <none> 54d v1.13.4 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=node01 node02 Ready <none> 6d19h v1.13.4 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=node02 # 添加一個key為disktype和value為ssd的label [root@master ~]# kubectl label nodes node01 disktype=ssd node/node01 labeled # 查看是否被添加 [root@master ~]# kubectl get nodes --show-labels NAME STATUS ROLES AGE VERSION LABELS master Ready master 54d v1.13.4 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=master,node-role.kubernetes.io/master= node01 Ready <none> 54d v1.13.4 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,disktype=ssd,kubernetes.io/hostname=node01 

刪除Label

# 語法
kubectl label nodes <node-name> <label-key>- 
# 刪除key為disktype的label [root@master ~]# kubectl label nodes node01 disktype- node/node01 labeled [root@master ~]# kubectl get nodes --show-labels NAME STATUS ROLES AGE VERSION LABELS master Ready master 54d v1.13.4 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=master,node-role.kubernetes.io/master= node01 Ready <none> 54d v1.13.4 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=node01 node02 Ready <none> 6d19h v1.13.4 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=node02 

修改Label的值,

#語法: 需要加上--overwrite參數: kubectl label nodes <node-name> <label-key>=<label-value> --overwrite [root@master ~]# kubectl label nodes node01 disktype=ssd node/node01 labeled [root@master ~]# kubectl label nodes node01 disktype=hdd --overwrite node/node01 labeled [root@master ~]# kubectl get nodes --show-labels NAME STATUS ROLES AGE VERSION LABELS master Ready master 54d v1.13.4 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=master,node-role.kubernetes.io/master= node01 Ready <none> 54d v1.13.4 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,disktype=hdd,kubernetes.io/hostname=node01 node02 Ready <none> 6d19h v1.13.4 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=node02 

Pod選擇Label

# 添加nodeSelector選項用來選擇對應的node
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    env: test
spec:
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
  nodeSelector:
    disktype: ssd




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM