【发布时间】:2019-06-11 17:37:18
【问题描述】:
今天我正在浏览一些关于 matchLabels 语句的文档和讨论,该语句是 Kubernetes 中部署(或其他对象)的一部分。示例如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
在一些讨论中,我看到根据 API 的版本,使用此选择器可能是可选的或强制的。
参考:
https://github.com/helm/charts/issues/7680
What is the purpose of a kubernetes deployment pod selector?
但是我看不到任何官方文档明确说明对于特定版本的 Kubernetes API 是否强制使用此选择器。您是否知道任何官方文档说明是否必须使用 matchLabels 选择器?
我已经检查了这些链接,但我没有遇到官方声明: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#deploymentspec-v1beta2-apps
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
【问题讨论】:
标签: kubernetes