查看node列表:
kubectl get nodes
NAME STATUS ROLES AGE VERSION
194.246.9.25 Ready <none> 16d v1.19.4
194.246.9.26 Ready <none> 16d v1.19.4
194.246.9.27 Ready <none> 16d v1.19.4
194.246.9.3 Ready <none> 16d v1.19.4
194.246.9.4 Ready <none> 16d v1.19.4
194.246.9.5 Ready <none> 16d v1.19.4
添加:
kubectl label nodes kube-node-name label_name=label_value
kubectl label nodes 194.246.9.5 gpu=true
查询:
kubectl get node -a -l gpu=true
删除:
删除一个Label,只需在命令行最后指定Label的key名并与一个减号相连即可。
kubectl label nodes 194.246.9.5 gpu-
修改:
修改一个Label的值,需要加上--overwrite参数。
kubectl label nodes 194.246.9.5 gpu=false --overwrite
$ kubectl get nodes --show-labels | grep k8s-node07
k8s-node07 Ready node 2d11h v1.17.9 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,deploy=app,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node07,kubernetes.io/os=linux,node-role.kubernetes.io/node=
$ kubectl get nodes --show-labels | grep k8s-node07 | awk '{print $6}' | tr ',' '\n'
beta.kubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
deploy=app
kubernetes.io/arch=amd64
kubernetes.io/hostname=k8s-node07
kubernetes.io/os=linux
node-role.kubernetes.io/node=
cat set_labels.sh
#!/bin/bash
labels="
beta.kubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
deploy=app
kubernetes.io/arch=amd64
kubernetes.io/hostname=k8s-node07
kubernetes.io/os=linux
node-role.kubernetes.io/node=
"
for label in ${labels}
do
kubectl label nodes k8s-node07 ${label}
done
参考
How to add or remove label from node in Kubernetes
https://www.golinuxcloud.com/kubectl-label-node
Update the labels on a resource
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#label
kubectl-commands
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands
网友评论