Bug #8
open[Bloquant] Application "PortailClients" - Échec démarrage pods suite à MàJ ConfigMap - Environnement UAT
0%
Description
Demandeur : Laura Mercier (QA Lead - Équipe Validation)
Service Concerné : Infrastructure Applicative & Plateforme Kubernetes
Application Impactée : PortailClients
Environnement : UAT (Recette)
Urgence : Haute (Bloque la campagne de tests de non-régression prévue aujourd'hui)
Impact : Majeur (Impossible de valider la nouvelle release, risque de décalage du planning de production)
Description du Problème :
L'application "PortailClients" sur l'environnement UAT ne démarre plus depuis la tentative de mise à jour de sa configuration via un ConfigMap ce matin vers 11h00 CEST. Les pods du déploiement portailclients-depl restent en état Pending ou entrent brièvement en CrashLoopBackOff avant de s'arrêter.
La précédente version de l'application avec l'ancienne configuration fonctionnait correctement hier.
Étapes pour Reproduire (si applicable) :
- Le problème est survenu immédiatement après l'application du nouveau ConfigMap
portailclients-config-v3. - Observer l'état des pods :
kubectl get pods -n namespace-uat -l app=portailclients - Tenter de consulter les logs d'un pod affecté (difficile car ils ne démarrent pas complètement).
Messages d'Erreur Observés (Logs, Captures d'écran) :
-
Sortie de
kubectl describe pod <nom-dun-pod-affecte> -n namespace-uat(partie "Events") :Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning Failed 1m (x5 over 5m) kubelet Error: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/etc/config/app-settings.json" to rootfs at "/app/config/app-settings.json": mount /etc/config/app-settings.json:/app/config/app-settings.json (ro,rbind): mount_cb failed: no such file or directory: unknown Normal Scheduled 6m default-scheduler Successfully assigned namespace-uat/portailclients-depl-xxxx-yyyy to k8s-worker-node-3 Normal Pulled 5m kubelet Container image "registry.lan/portailclients:release-2.4.1" already present on machine(Note : Le message "no such file or directory" pour un montage de ConfigMap est suspect)
-
Contenu (ou partie) du ConfigMap
portailclients-config-v3(extrait potentiellement problématique) :apiVersion: v1 kind: ConfigMap metadata: name: portailclients-config-v3 namespace: namespace-uat data: # Ancienne clé: app-settings.json # Nouvelle clé utilisée par erreur lors de la création du CM ?: application.settings.json_data application.settings.json_data: | { "apiEndpoint": "https://api.uat.entreprise.com/clients", "featureFlags": { "newDashboard": true, "betaFeatureX": false }, "logLevel": "DEBUG" # Changement par rapport à la v2 qui était "INFO" } # ... autres configurations ...
Informations Techniques Complémentaires (Kubernetes) :
-
Namespace :
namespace-uat -
Nom du Déploiement :
portailclients-depl -
Nom du ConfigMap affecté :
portailclients-config-v3 -
Manière dont le ConfigMap est monté dans les pods (extrait du manifeste de déploiement) :
# ... spec: containers: - name: portailclients-container image: registry.lan/portailclients:release-2.4.1 volumeMounts: - name: config-volume mountPath: /app/config/app-settings.json # L'application s'attend à trouver app-settings.json ici subPath: app-settings.json # <- Clé attendue dans le ConfigMap # ... volumes: - name: config-volume configMap: name: portailclients-config-v3 # Référence au ConfigMap # items: # (Optionnel, si on ne monte pas toutes les clés) # - key: app-settings.json # path: app-settings.json -
Changements Récents :
- Tentative d'application du ConfigMap
portailclients-config-v3aujourd'hui à 11h00 CEST pour modifierlogLevelet activernewDashboard. - Le déploiement
portailclients-deplest configuré pour redémarrer les pods automatiquement si leur ConfigMap associé change.
- Tentative d'application du ConfigMap
Actions Déjà Tentées :
- Un
kubectl rollout undo deployment/portailclients-depl -n namespace-uata été tenté, mais le problème persiste car le ConfigMapportailclients-config-v3est toujours référencé par la version précédente du déploiement (ou le rollback n'a pas correctement restauré la référence à un ancien ConfigMap si le nom du ConfigMap était versionné et modifié dans le déploiement). - Vérification que l'image Docker
registry.lan/portailclients:release-2.4.1est bien présente sur les nœuds (confirmé pardescribe pod).
Personne à Contacter pour plus d'Informations :
Laura Mercier (Demandeur)-
David Moreau (DevOps Engineer - david.moreau@entreprise.com)(A appliqué le changement de ConfigMap)
Catégorisation (Proposée) :
-
Catégorie :
Incident de Configuration -
Sous-catégorie :
Erreur de Déploiement Kubernetes/Problème ConfigMap -
Élément de Configuration (CI) :
CONF-PortailClients-UAT(si les ConfigMaps sont des CIs) ouAPP-PortailClients-UAT
No data to display