簡介
label是標簽的意思,一對 key/value ,被關聯到對象上,k8s中的資源對象大都可以打上標簽,如Node、Pod、Service 等
一個資源可以綁定任意多個label,k8s 通過 Label 可實現多維度的資源分組管理,后續可通過 Label Selector 查詢和篩選擁有某些 Label 的資源對象
操作
幫助
kubectl label --help
打標簽
pod:kubectl label pods busybox app=busybox
node:kubectl label node k8s-node01 k8s-node02 env=test
查看
查看pods為busybox的標簽:kubectl get pods busybox --show-labels
查看默認名稱空間下所有pod資源的標簽:kubectl get pods --show-labels
查看指定名稱空間:kubectl get pods -n kube-system --show-labels
通過標簽篩選
列出默認名稱空間下標簽key是app的pod,不顯示標簽:kubectl get pods -l app
列出默認名稱空間下標簽key是app、值是busybox的pod,不顯示標簽:kubectl get pods -l app=busybox
多個篩選條件:kubectl get po -l version!=v1,app=nginx
刪除標簽
pod:kubectl label po busybox app- -n kube-public
node:kubectl label node k8s-node02 env-
修改標簽
加上--overwrite參數修改標簽
kubectl label po busybox app=busybox2 -n kube-public --overwrite