本文已参与「新人创作礼」活动,一起开启掘金创作之路。
Labels and Selectors
在前面的yaml文件中,看到很多label,顾名思义,就是给一些资源打上标签的
Labels are key/value pairs that are attached to objects, such as pods.
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: nginx
表示名称为nginx-pod的pod,有一个label,key为app,value为nginx。
我们可以将具有同一个label的pod,交给selector管理
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector: # 匹配具有同一个label属性的pod标签
matchLabels:
app: nginx
template: # 定义pod的模板
metadata:
labels:
app: nginx # 定义当前pod的label属性,app为key,value为nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
查看pod的label标签:kubectl get pods --show-labels
这里可以尝试一下selector匹配不上的结果