阅读 kubernetes 文档时,我不太清楚在顶级元数据键和规范级别指定标签之间有什么区别。
考虑:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
run: nginx
name: nginx
spec:
replicas: 2
selector:
matchLabels:
run: nginx
strategy: {}
template:
metadata:
labels:
run: nginxv1
spec:
containers:
- image: nginx
name: nginx
我从中复制而来https://stackoverflow.com/questions/54837981/k8s-significance-of-spec-template-metadata-section,我通过谷歌搜索找到了这里。
此清单中设置的两个标签有何区别?
答案1
metadata.labels
设置适用于的标签部署。
spec.template.metadata.labels
设置适用于的标签通过 Deployment 管理 Pod。
中的值spec.selectors.matchLabels
用于选择 pod,因此它们需要与 中的标签匹配spec.template.metadata.labels
;它们与 Deployment 的 无关metadata.labels
。