这篇文章我们介绍下kubernetes的标签。kubernetes的标签是什么呢?
kubernetes的标签其实就是我们在进行对象管理的时候,给kubernetes对象打的一个标记,通过这个标记我们可以很直白明了的了解这个对象是干什么的。同时后期我们也可以根据标签进行筛选,查询出我们的标记分类信息。
在kubernetes里面添加标签的方式是在meta节点上添加,例如:
metadata: labels: key1: value1 key2: value2
这里的标签可以是一个,也可以是多个,添加的标签对对象没有任何影响,只是为了我们很直观的表达对象的含义,同时后期为了进行筛选使用。所以在多个kubernetes的对象上我们都可以添加同一个标签。但是我们不能在一个对象上添加多个相同名称的标签,例如:
第一个对象的标签是:
metadata: labels: key1: value1
第二个对象的标签是:
metadata: labels: key1: value1
像上面这个案例就是可以被允许的,但是下面这种案例是不被允许的,例如:
metadata: labels: key1: value1 key1: value2
所以大家在添加标签的时候一定要注意下这个问题,最后贴一个实际的案例:
--- apiVersion: apps/v1 kind: Deployment metadata: annotations: k8s.kuboard.cn/displayName: nginx labels: k8s.kuboard.cn/layer: web k8s.kuboard.cn/name: nginx name: nginx namespace: kuboard resourceVersion: '11532' spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: k8s.kuboard.cn/layer: web k8s.kuboard.cn/name: nginx strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: creationTimestamp: null labels: k8s.kuboard.cn/layer: web k8s.kuboard.cn/name: nginx spec: containers: - image: 'nginx:1.7.9' imagePullPolicy: IfNotPresent name: nginx ports: - containerPort: 80 hostPort: 8080 protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 status: availableReplicas: 1 conditions: - lastTransitionTime: '2022-10-26T05:57:48Z' lastUpdateTime: '2022-10-26T05:57:48Z' message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: 'True' type: Available - lastTransitionTime: '2022-10-26T05:56:52Z' lastUpdateTime: '2022-10-26T05:57:48Z' message: ReplicaSet "nginx-58d48c6bc6" has successfully progressed. reason: NewReplicaSetAvailable status: 'True' type: Progressing observedGeneration: 2 readyReplicas: 1 replicas: 1 updatedReplicas: 1
这个案例里面我们给nginx这个pod对象添加了web和nginx两个标签。即如下部分:
metadata: annotations: k8s.kuboard.cn/displayName: nginx labels: k8s.kuboard.cn/layer: web k8s.kuboard.cn/name: nginx
还没有评论,来说两句吧...