Getting Following ERROR while Deploy -: `selector` does not match template `labels`

2,239 views
Skip to first unread message

karthik b

unread,
Jul 18, 2018, 8:10:25 PM7/18/18
to Kubernetes user discussion and Q&A
Error: UPGRADE FAILED: Deployment.apps "tips-policy-internal-service" is invalid: spec.template.metadata.labels: Invalid value: map[string]string{"release":"tips-policy-internal-service", "app":"tips-policy-internal-service", "env":"release"}: `selector` does not match template `labels`
this happens in prod..Dev and QA were good

Any idea  ?

my Deployment.yml  

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ .Chart.Name }}
labels:
  app: {{ template "name" . }}
  chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
  release: {{ .Release.Name }}
  heritage: {{ .Release.Service }}
  component: {{ .Values.component}}
  env: {{ .Values.cluster.env}}
spec:
replicas: {{ .Values.replicaCount }}
selector:
   matchLabels:
     app: {{ template "name" . }}
minReadySeconds: {{ .Values.minReadySeconds }}
template:
  metadata:
    annotations:
    labels:
      app: {{ template "name" . }}
      release: {{ .Release.Name }}
      env: {{ .Values.cluster.env }}
  spec:
    {{- if .Values.cluster.rbac }}
    serviceAccountName: {{ .Values.serviceAccountName }}
    {{- end }}
    containers:
      - name: {{ .Chart.Name }}
        image: "{{ if .Values.image.registry }}{{ .Values.image.registry }}/{{ end }}{{ .Values.image.repository_name }}:{{ .Values.image.tag }}{{ if .Values.image.digest }}@{{ .Values.image.digest }}{{ end }}"
        imagePullPolicy: {{ .Values.image.pullPolicy }}
        ports:
          - containerPort: {{ .Values.service.internalPort }}
        livenessProbe:
        {{- if .Values.livenessProbe }}
{{ toYaml .Values.livenessProbe | indent 12 }}
        {{- end }}
        readinessProbe:
        {{- if .Values.readinessProbe }}
{{ toYaml .Values.readinessProbe | indent 12 }}
        {{- end }}
        env:
        - name: JAVA_OPTS
          value: {{ .Values.JAVA_OPTS}}
        - name: POLICY_FIXED_SEGMENT
          value: {{ .Values.POLICY_FIXED_SEGMENT}}
        - name: POLICY_CID_FORMAT
          value: {{ .Values.POLICY_CID_FORMAT}}
        - name: POLICY_INT_BLOCK
          value: "{{ .Values.POLICY_INT_BLOCK}}"
        - name: POLICY_CID_FULL_LENGTH
          value: "{{ .Values.POLICY_CID_FULL_LENGTH}}"
        - name: POLICY_SIMPLE_DATE_TIME_FORMAT
          value: {{ .Values.POLICY_SIMPLE_DATE_TIME_FORMAT}}
        - name: DB_HOST
          value: {{ .Values.DB_HOST}}
        - name: DB_PORT
          value: {{ .Values.DB_PORT | quote}}
        - name: URL
          value: {{ .Values.DB_URL}}
        - name: DB_NAME
          value: {{ .Values.DB_NAME}}
        - name: DB_USERNAME
          valueFrom:
            secretKeyRef:
              name: {{ .Chart.Name }}
              key: DB_USERNAME
        - name: DB_PASSWORD
          valueFrom:
            secretKeyRef:
              name: {{ .Chart.Name }}
              key: DB_PASSWORD
        resources:
{{ toYaml .Values.resources | indent 12 }}
  {{- if .Values.nodeSelector }}
    nodeSelector:
{{ toYaml .Values.nodeSelector | indent 8 }}
  {{- end }}
    {{- if .Values.image.pullSecrets }}
    imagePullSecrets:
    {{- range .Values.image.pullSecrets }}
      - name: {{ . }}
    {{- end }}
    {{- end -}}

Rodrigo Campos

unread,
Jul 18, 2018, 9:01:12 PM7/18/18
to kubernet...@googlegroups.com
I think it should happen in all environments unless something weird changes. Not sure what that syntax for the yaml is.

IIRC spec.selector.matchLabels should match template.metadata.labels
--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-users+unsubscribe@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.
Visit this group at https://groups.google.com/group/kubernetes-users.
For more options, visit https://groups.google.com/d/optout.

Matt Brown

unread,
Jul 19, 2018, 8:20:32 AM7/19/18
to Kubernetes user discussion and Q&A
Doublecheck that spec.selector in the object in the cluster has the value you expect it to.
Reply all
Reply to author
Forward
0 new messages