hello云胜

技术与生活

0%

kubectl label操作

显示标签

显示pod上所有标签

1
2
3
4
$ kubectl get pod --show-labels
NAME READY STATUS RESTARTS AGE LABELS
nfs-provisioner-5c684ddcff-d4qmx 1/1 Running 0 56d app=nfs-provisioner,pod-template-hash=5c684ddcff,release=nfs-client

只显示指定标签

1
2
3
4
$ kubectl get pod -L app,release
NAME READY STATUS RESTARTS AGE APP RELEASE
nfs-provisioner-5c684ddcff-d4qmx 1/1 Running 0 56d nfs-provisioner nfs-client

加标签

1
$ kubectl label pod xxx creation_method=manual

改标签

1
$ kubectl label pod xxx env=debug --overwrite

选择

选择所有带有标签creation_method,并且其值为manual的pod

1
$ kubectl get pod -l creation_method=manual

选择所有带有标签creation_method,并且不管值是啥

1
$ kubectl get pod -l creation_method

没有env标签的pod

1
$ kubectl get pod -l '!env'

选择所有带有标签creation_method,并且其值不为manual的pod

1
$ kubectl get pod -l creation_method!=manual

用in做多值选择

1
$ kubectl get pod -l env in (prod,devel)

也有not in

1
$ kubectl get pod -l env not in (prod,devel)

多个条件,用逗号,隔开即可

1
$ kubectl get pod -l creation_method=manual,env=prod