这篇文章我们介绍下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









还没有评论,来说两句吧...