# Dépanner le montage de ressources Kubernetes dans les environnements de Dynamic Engine

Utilisez cette section de diagnostic pour identifier et résoudre les problèmes les plus fréquents lors du montage de ressources Kubernetes (ConfigMap, Secret, volumes, PersistentVolumeClaim et securityContext) dans vos environnements de Dynamic Engine. Cette section vous permet de reconnaître les modèles d'erreurs et vous dirige vers la solution appropriée.

## Modèles d'erreurs et solutions les plus fréquent·es

Le tableau suivant décrit les types d'erreur, les actions à entreprendre pour les diagnostiquer et les liens vers les sections relatives à la personnalisation correspondante de Dynamic Engine :

| Error Type (Type d'erreur) | Action | Section associée |
| --- | --- | --- |
| CreateContainerConfigError | Vérifiez la cohérence des clés dans additionalSpec avec le Secret ou ConfigMap monté | [Monter le Secret Kubernetes comme volumes dans des conteneurs de Dynamic Engine](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/mounting-kubernetes-secrets-as-volumes "Au lieu d'utiliser Secret comme variables d'environnement, vous pouvez les monter en tant que fichier dans le système de fichiers du conteneur, permettant ainsi à vos tâches d'intégration de données (y compris Big Data), à vos services de données et tâches de Routes d'accéder aux identifiants dans les fichiers de configuration.") ou [Injecter des variables d'environnement depuis le Secret Kubernetes](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/injecting-sensitive-data-from-kubernetes-secrets "Injectez des données sensibles (mots de passe, clés API, jetons) du Secret Kubernetes comme variables d'environnement dans vos tâches de Jobs (Intégration de données, Big Data et services de données) et de Routes pour qu'elles puissent accéder simplement et de manière sécurisée aux identifiants.") ou [Injecter des variables d'environnement depuis ConfigMap](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/injecting-environment-variables-from-configmaps "Utilisez ConfigMap Kubernetes pour fournir une configuration non sensible à la casse (comme les endpoints d'API, les feature flags ou les paramètres d'applications comme variables d'environnement pour vos tâches d'intégration de données (y compris Big Data), de services de données et de Routes.") |
| Job non créé | Vérifiez la cohérence des clés dans additionalSpec avec les volumes ou PVC déclarés | [Monter PersistentVolumeClaims de Kubernetes pour un stockage persistant dans le Dynamic Engine](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/mounting-kubernetes-persistentvolumeclaims "Utilisez PersistentVolumeClaims pour monter les volumes de stockage persistants pour que vos tâches d'intégration de données (y compris Big Data), vos services de données et vos tâches de Routes puissent accéder aux données des états, partager des données dans plusieurs pods et redémarrer le stockage persistant à travers les pods.") |
| Erreur securityContext | <ul> <li>Vérifiez que les valeurs d'UID et de GID sont valides pour l'image de votre conteneur.</li> <li>Vérifiez les événements des pods pour les erreurs <span>securityContext</span>.</li> <li>Assurez-vous que <span>runAsNonRoot: true</span> est compatible avec l'image de votre conteneur</li> </ul> | [Configurer securityContext pour les conteneurs de tâches s'exécutant dans les environnements de Dynamic Engine](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/configuring-security-context-in-dynamic-engine "Écrasez le conteneur securityContext par défaut pour exécuter les tâches avec des ID d'utilisateur·trices et de groupes spécifiques. Cela permet un contrôle granulaire fin des autorisations, améliore la politique de sécurité et répond aux prérequis de conformité pour les différents ID d'utilisateur·trices ou de groupes.") |
| Les variables d'environnement ne s'affichent pas. | <ul> <li>Vérifiez l'existence de ConfigMap/Secret&nbsp;: <span>kubectl get configmap/secret -n qlik-processing-env-$DYNAMIC_ENGINE_ENVIRONMENT_ID</span>.</li> <li>Vérifiez l'environnement du pod&nbsp;: <span>kubectl exec &lt;pod-name&gt; -n qlik-processing-env-$DYNAMIC_ENGINE_ENVIRONMENT_ID -- env</span>.</li> <li>Vérifier les valeurs Helm</li> </ul> | [Injecter des variables d'environnement depuis le Secret Kubernetes](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/injecting-sensitive-data-from-kubernetes-secrets "Injectez des données sensibles (mots de passe, clés API, jetons) du Secret Kubernetes comme variables d'environnement dans vos tâches de Jobs (Intégration de données, Big Data et services de données) et de Routes pour qu'elles puissent accéder simplement et de manière sécurisée aux identifiants.") ou [Injecter des variables d'environnement depuis ConfigMap](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/injecting-environment-variables-from-configmaps "Utilisez ConfigMap Kubernetes pour fournir une configuration non sensible à la casse (comme les endpoints d'API, les feature flags ou les paramètres d'applications comme variables d'environnement pour vos tâches d'intégration de données (y compris Big Data), de services de données et de Routes.") |
| volumes ne se monte pas | <ul> <li>Vérifiez l'existence de Secret&nbsp;: <span>kubectl get secret -n qlik-processing-env-$DYNAMIC_ENGINE_ENVIRONMENT_ID</span>.</li> <li>Vérifiez le statut du PVC&nbsp;: <span>kubectl get pvc -n qlik-processing-env-$DYNAMIC_ENGINE_ENVIRONMENT_ID</span>.</li> <li>Inspectez les événements du pod&nbsp;: <span>kubectl describe pod &lt;pod-name&gt; -n qlik-processing-env-$DYNAMIC_ENGINE_ENVIRONMENT_ID</span></li> </ul> | [Monter le Secret Kubernetes comme volumes dans des conteneurs de Dynamic Engine](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/mounting-kubernetes-secrets-as-volumes "Au lieu d'utiliser Secret comme variables d'environnement, vous pouvez les monter en tant que fichier dans le système de fichiers du conteneur, permettant ainsi à vos tâches d'intégration de données (y compris Big Data), à vos services de données et tâches de Routes d'accéder aux identifiants dans les fichiers de configuration.") ou [Monter PersistentVolumeClaims de Kubernetes pour un stockage persistant dans le Dynamic Engine](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/mounting-kubernetes-persistentvolumeclaims "Utilisez PersistentVolumeClaims pour monter les volumes de stockage persistants pour que vos tâches d'intégration de données (y compris Big Data), vos services de données et vos tâches de Routes puissent accéder aux données des états, partager des données dans plusieurs pods et redémarrer le stockage persistant à travers les pods.") |

## Étapes suivantes

Après identification du problème à l'aide de cette section :

* Consultez la section [Monter des ressources Kubernetes personnalisées dans les environnements de Dynamic Engine](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/custom-kubernetes-resource-mounting "Personnalisez les environnements de Dynamic Engine via le montage de ressources Kubernetes : ConfigMap pour la configuration non sensible, Secret pour les identifiants, volumes pour les fichiers et les certificats, PersistentVolumeClaim pour le stockage persistant et securityContext pour les autorisations utilisateur·trices.") pour les prérequis.
* Consultez la [documentation Kubernetes](https://kubernetes.io/docs/concepts/configuration/) (en anglais) pour plus d'informations concernant ConfigMap, Secret, volumes et securityContext.
* Pour des modèles de débogage Kubernetes et les références des commandes kubectl, consultez le guide [Kubernetes debugging guide](https://kubernetes.io/docs/tasks/debug-application-cluster/debug-application/) (en anglais).