部署无效:spec.template.metadata.labels:无效值 [英] Deployment invalid: spec.template.metadata.labels: Invalid value
本文介绍了部署无效:spec.template.metadata.labels:无效值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
将我的服务部署到生产环境:
Deploying my service to production:
envsubst < ./kubernetes/pre-production/aks.yaml | kubectl apply -f -
我遇到以下错误:
部署"moverick-mule-pre"无效:spec.template.metadata.labels:无效值:map [string] string {"commit":"750a26deebc3582bec4bfbb2426b3f22ee042eaa","app":"moverick-mule-pre"}:
选择器
与模板不匹配标签
我的Yaml文件是:
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: moverick-mule-pre
spec:
replicas: 2
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
template:
metadata:
labels:
app: moverick-mule-pre
commit: $CI_COMMIT_SHA
spec:
containers:
- name: moverick-mule-pre
image: $REGISTRY_SERVER_PRE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
imagePullPolicy: Always
ports:
- containerPort: 80
envFrom:
- secretRef:
name: moverick-pre
livenessProbe:
httpGet:
path: /console
port: 80
initialDelaySeconds: 5
periodSeconds: 5
volumeMounts:
- name: logs
mountPath: /opt/mule/logs/
- name: asc
mountPath: /opt/mule/asc/
imagePullSecrets:
- name: registry-pre
volumes:
- name: logs
azureFile:
secretName: azure-files-pre
shareName: logs-pre
readOnly: false
- name: asc
azureFile:
secretName: azure-asc-pre
shareName: asc-pre
readOnly: false
---
apiVersion: v1
kind: Service
metadata:
name: moverick-mule-pre
spec:
ports:
- port: 80
selector:
app: moverick-mule-pre
推荐答案
您需要在部署的 spec
中添加 selector
.
You need to add selector
in spec
of Deployment.
而且,这些 selector
应该与PodTemplate中的 labels
相匹配.
And also, these selector
should match with labels
in PodTemplate.
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: moverick-mule-pre
spec:
replicas: 2
selector:
matchLabels:
app: moverick-mule-pre
commit: $CI_COMMIT_SHA
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
template:
metadata:
labels:
app: moverick-mule-pre
commit: $CI_COMMIT_SHA
否则,您将得到如下错误
Otherwise, you will get error like below
部署"moverick-mule-pre"无效:
The Deployment "moverick-mule-pre" is invalid:
- spec.selector:必需值
- spec.template.metadata.labels:无效值:map [string] string {...}
选择器
与模板labels
不匹配
- spec.selector: Required value
- spec.template.metadata.labels: Invalid value: map[string]string{...}
selector
does not match templatelabels
这篇关于部署无效:spec.template.metadata.labels:无效值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文