Pod isn't restarted when configMaps or secrets change

Abierto Apto para principiantes
#202 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
helm, kubernetes
Área
devops

Línea de trabajo

La carga útil nombra las plantillas de ConfigMap y Secret (configmap.yaml, secret.yaml) y la plantilla de pod en el Deployment del chart, que es donde irían las anotaciones. Lee cómo se renderizan los metadatos de la plantilla de pod del Deployment y cómo se montan configMaps y secrets con subPath. Está terminado cuando renderizar el chart con un valor de configMaps o secrets modificado produce una anotación diferente en la plantilla de pod, de modo que el pod se reinicie durante la actualización.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Changing only a configMaps (or secrets) entry in values doesn't restart the pod. The deployment's pod template doesn't change, so helm upgrade updates the ConfigMap but leaves the old pod running. Since the chart mounts these with subPath, the running pod never sees the new content either: it keeps the old file until something else restarts it.

For example, changing an Rspamd override in configMaps and upgrading leaves Rspamd on the old config until a manual kubectl rollout restart.

The usual fix is a checksum annotation on the pod template, so any config change rolls the pod:

template:
  metadata:
    annotations:
      checksum/configmaps: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
      checksum/secrets: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
Lenguaje dominante
Mustache
Estrellas
157
Forks
82
Merge medio
22 min
PR fusionados (30 d)
3

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de docker-mailserver/docker-mailserver-helm

Todos los issues de docker-mailserver/docker-mailserver-helm

Issues similares

Más issues de DevOps

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.