本番環境へのサービスの展開:
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"}:
selector
はテンプレートlabels
と一致しません
私の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
Deploymentのselector
にspec
を追加する必要があります。
また、これらのselector
はPodTemplateのlabels
と一致する必要があります。
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
そうしないと、次のようなエラーが発生します
展開「moverick-mule-pre」は無効です:
- spec.selector:必須の値
- spec.template.metadata.labels:無効な値:map [string] string {...}
selector
はテンプレートlabels
と一致しません