参考

在某些特殊情况下,需要将某些服务固定在一台宿主机上, k8s可以使用label给node节点打上标签来满足这种需求.

Label添加删除和修改

添加label语法

kubectl label nodes <node-name> <label-key>=<label-value> 

删除label语法

kubectl label nodes <node-name> <label-key>-

修改Label的值
语法: 需要加上--overwrite参数

kubectl label nodes <node-name> <label-key>=<label-value> --overwrite

查看现有node及label

root@server01:~# kubectl get node --show-labels
NAME              STATUS    ROLES     AGE       VERSION   LABELS
192.168.174.135   Ready     <none>    220d      v1.9.0    beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.174.135
192.168.174.136   Ready     <none>    220d      v1.9.0    beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.174.136
192.168.174.137   Ready     <none>    220d      v1.9.0    beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.174.137

添加一个key为label-test和value为label-test的label

root@server01:~# kubectl label node 192.168.174.135 label-test=label-test
node "192.168.174.135" labeled

查看是否被添加

root@server01:~# kubectl get node --show-labels
NAME              STATUS    ROLES     AGE       VERSION   LABELS
192.168.174.135   Ready     <none>    220d      v1.9.0    beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.174.135,label-test=label-test
192.168.174.136   Ready     <none>    220d      v1.9.0    beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.174.136
192.168.174.137   Ready     <none>    220d      v1.9.0    beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.174.137

删除label

root@server01:~# kubectl label node 192.168.174.135 label-test-
node "192.168.174.135" labeled

修改Label的值
语法: 需要加上--overwrite参数

kubectl label nodes <node-name> <label-key>=<label-value> --overwrite
root@server01:~# kubectl label node 192.168.174.135 label_key=label_value
node "192.168.174.135" labeled
root@server01:~#
root@server01:~# kubectl get node --show-labels
NAME              STATUS    ROLES     AGE       VERSION   LABELS
192.168.174.135   Ready     <none>    220d      v1.9.0    beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.174.135,label_key=label_value
192.168.174.136   Ready     <none>    220d      v1.9.0    beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.174.136
192.168.174.137   Ready     <none>    220d      v1.9.0    beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.174.137
root@server01:~#
root@server01:~# kubectl label node 192.168.174.135 label_key=label_value_update --overwrite
node "192.168.174.135" labeled
root@server01:~#
root@server01:~# kubectl get node --show-labels
NAME              STATUS    ROLES     AGE       VERSION   LABELS
192.168.174.135   Ready     <none>    220d      v1.9.0    beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.174.135,label_key=label_value_update
192.168.174.136   Ready     <none>    220d      v1.9.0    beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.174.136
192.168.174.137   Ready     <none>    220d      v1.9.0    beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.174.137
root@server01:~#

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐