label
Label 是用于标识 Kubernetes 对象,以 key/value 的方式附加到对象上。
key 最长不能超过 63 字节,value 是不超过 253 字节的字符串。
pod和node等Kubernetes对象都可以带有标签
pod与标签
创建pod时,可以带有标签,命令参考如下
kubectl run pod1 --image=nginx --generator=run-pod/v1 --labels func=web
创建有多个标签的pod
kubectl run pod1 --image=nginx --generator=run-pod/v1 --labels func=web,disk=ssid
查看pod的yaml文件
kubectl get pod pod1 -o yaml | more
以标签过滤pod
kubectl get pods -l func=web
node与标签
node也可以有标签。查看节点当前的标签
kubectl get nodes --show-labels
将标签添加到你所选择的节点上
kubectl label nodes <node-name> <label-key>=<label-value>
标签选择器(Label Selector)
标签定义好之后,其他对象可以使用标签选择器来选择一组相同标签的对象, 比如 ReplicaSet来选择一组 Pod,来确定数量是否创建够。标签选择器支持以下几种方式:
等式或不等式,如 app=redis 和 env!=production
集合,如 env in (production, qa)