Label作用是给资源上添加标识,用来对资源进行区分和选择。其实就是一对 key/value ,被关联到对象上。
相关特点:
Label是以键值对的形式附加在各种对象上的
一个资源可以定义任意数量的label,同一个label也可以被添加到任意数量的对象上
label可以在创建对象时指定,也可以在对象创建后动态添加或删除
标签设置完毕后,对标签的选择就需要Label Selector。以下两种Label Selector:
基于等式
eg:
name=zhangsan
env!=pro
基于集合
num in (12,23,34)
name not in (font)
1、通过命令操作Label
(1)为pod资源添加label
kubectl label pod "pod名称" "label信息" "命名空间"
(2)查看label
kubectl get pod "pod名称" "命名空间" --show-labels
kubectl get pod nginx -n dev --show-labels -o wide
(3)更新label
kubectl label pod "pod名称" "label信息" "命名空间" --overwrite
kubectl label pod nginx version=1.17.1.1 -n dev --overwrite
(4)筛选标签
kubectl get pod "命名空间" -l "label选择表达式"
(5)删除标签
kubectl label pod "pod名称" "标签的key+'-'" "命名空间"
kubectl label pod nginx version- -n dev
二、通过yaml操作Label
vim label-dev.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx2
namespace: dev
labels:
version: "1.17.1"
env: "dev"
spec:
containers:
- image: nginx:1.17.1
name: pod2
ports:
- name: nginx-port2
containerPort: 81
protocol: TCP
(1)创建
kubectl create -f label-dev.yaml
(2)删除
kubectl delete -f label-dev.yaml
更多详细配置用法可以在别的章节中具体查看。