Project

General

Profile

Actions

Bug #8

open

[Bloquant] Application "PortailClients" - Échec démarrage pods suite à MàJ ConfigMap - Environnement UAT

Added by UserName LastName 10 months ago. Updated 10 months ago.

Status:
New
Priority:
High
Assignee:
-
Start date:
05/12/2025
Due date:
% Done:

0%

Estimated time:

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) :

  1. Le problème est survenu immédiatement après l'application du nouveau ConfigMap portailclients-config-v3.
  2. Observer l'état des pods : kubectl get pods -n namespace-uat -l app=portailclients
  3. 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-v3 aujourd'hui à 11h00 CEST pour modifier logLevel et activer newDashboard.
    • Le déploiement portailclients-depl est configuré pour redémarrer les pods automatiquement si leur ConfigMap associé change.

Actions Déjà Tentées :

  • Un kubectl rollout undo deployment/portailclients-depl -n namespace-uat a été tenté, mais le problème persiste car le ConfigMap portailclients-config-v3 est 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.1 est bien présente sur les nœuds (confirmé par describe 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) ou APP-PortailClients-UAT

No data to display

Actions

Also available in: Atom PDF