我在这里错误地提到了类似的问题:ValidationError:在io.k8s.api.v1.DeploymentSpec中缺少必需字段“选择器”
我将apiVersion,即apiVersion: apiVersion/v1beta 1改为apiVersion: app/v1,我使用的是kubeadm和运行工作者的3个节点。
然而,在我的yaml中,我确实有匹配的标签选择器
labels:
app: rabbitmq
role: master
tier: queue如果我尝试运行以下yaml部署:
部署"rabbitmq“无效:
selector与模板labels不匹配rabbitmq.yaml
---
# EXPORT SERVICE INTERFACE
kind: Service
apiVersion: v1
metadata:
name: message-queue
labels:
app: rabbitmq
role: master
tier: queue
spec:
ports:
- port: 5672
targetPort: 5672
selector:
app: rabbitmq
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: rabbitmq-pv-claim
labels:
app: rabbitmq
role: master
tier: queue
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: rabbitmq
spec:
replicas: 1
template:
metadata:
labels:
app: rabbitmq
role: master
tier: queue
spec:
containers:
- name: rabbitmq
image: bitnami/rabbitmq:3.7
envFrom:
- configMapRef:
name: bitnami-rabbitmq-config
ports:
- name: queue
containerPort: 5672
- name: queue-mgmt
containerPort: 15672
livenessProbe:
exec:
command:
- rabbitmqctl
- status
initialDelaySeconds: 120
timeoutSeconds: 5
failureThreshold: 6
readinessProbe:
exec:
command:
- rabbitmqctl
- status
initialDelaySeconds: 10
timeoutSeconds: 3
periodSeconds: 5
volumeMounts:
- name: rabbitmq-storage
mountPath: /bitnami
volumes:
- name: rabbitmq-storage
persistentVolumeClaim:
claimName: rabbitmq-pv-claim发布于 2021-04-25 19:07:21
您缺少了selector:字段在Deployment.spec下。目前,只有replicas:和template:在那里。
来自部署文档的示例
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
...还请参阅格式,包括:
kubectl explain Deployment.spechttps://stackoverflow.com/questions/67257138
复制相似问题