> 其它学习 > Kubernetes >

k8s label 打标签 去标签

打标签
kubectl label nodes <node-name> <label-key>=<label-value>



实战打标签

kubectl taint nodes 10.71.8.13 node-role.kubernetes.io/master:NoSchedule



去标签

kubectl taint nodes 10.71.8.13 node-role.kubernetes.io/master:NoSchedule-



查看现有node及label
通过–show-labels 选项将节点的标签显示出来

kubectl get node --show-labels



去标签
kubectl label nodes <node-name> <label-key>-



kubectl label node 192.168.1.205 mem-
# 上面命令中的mem-中的mem为标签的键,后面的减号表示将该标签删除



在Deployment配置文件,spec属性中增加nodeSelector属性
如下的Deployment配置文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 3
  template:
    metadata:
      labels:
       app: nginx
       track: stable
    spec:
      containers:
       - name: nginx
         image: nginx:1.7.9
         ports:
          - containerPort: 80
      nodeSelector:
        mem: large


创建一个名为nginx-deployment.yaml的配置文件

kubectl apply -f nginx-deployment.yaml
kubectl get pods -o wide


除了可以在配置文件中通过nodeSelector属性指定节点之外,用户在命令行中也可以通过
-l或者–labels=这两个选项指定节点的标签,例如

kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=3 --labels='mem=large'


(责任编辑:IT)