Dépanner les erreurs de permission lors de l'activation de la persistance
Découvrez comment corriger de manière autonome les erreurs de permission rencontrées lors du déploiement de Helm Charts sur OVHcloud Managed Kubernetes
Objectif
Ce guide vous apprend à corriger de manière autonome un OVHcloud Managed Kubernetes Service lorsque des Permission Errors sont rencontrées lors du déploiement d'un Helm Chart ou de la création d'un déploiement.
Explication du problème
Plusieurs Helm Charts sont mis à jour selon des bonnes pratiques de renforcement de la sécurité.
L'utilisation d'un conteneur non-root, par exemple, est une nouvelle règle à suivre pour des raisons de sécurité.
Mais un inconvénient majeur de l'utilisation de conteneurs non-root concerne le montage de persistent volumes dans ces conteneurs.
En effet, les processus s'exécutant dans ces conteneurs ne disposent pas des privilèges nécessaires pour modifier le propriétaire du système de fichiers existant dans un volume.
Une solution consiste à utiliser le SecurityContext fourni par Kubernetes pour modifier automatiquement le propriétaire des volumes attachés, et à fournir une StorageClass qui prend en charge la modification du système de fichiers du volume.
Cependant, la StorageClass utilisée par défaut pour l'« OVHcloud Managed Kubernetes Service » ne prenait pas en charge la possibilité de modifier le système de fichiers du volume.
Dans la documentation suivante, nous fournissons quelques correctifs, en attendant une mise à jour de notre service.
Comportements observés
Certains pods peuvent être marqués avec le statut CrashLoopBackOff quelques secondes/minutes après leur ordonnancement, en raison d'un accès en écriture insuffisant aux persistent volumes.
Exemple de logs d'erreur :
Solutions proposées
- Nous (l'équipe OVHcloud Managed Kubernetes Service) travaillons sur un correctif dont la sortie est prévue début 2022. Ainsi, si vous n'êtes pas impacté par ce problème, ne mettez pas à jour votre déploiement de Helm Chart (seuls les Helm Charts récents semblent utiliser un security context, ce qui cause ce problème) et attendez qu'une nouvelle version de votre service managé soit disponible depuis la console OVHcloud.
- Vous utilisez les Helm Charts Bitnami et vous souhaitez pouvoir corriger rapidement ce comportement sans attendre notre correctif. Vous pouvez suivre les instructions décrites dans cette documentation : https://docs.bitnami.com/kubernetes/faq/troubleshooting/troubleshooting-helm-chart-issues/
- Cette solution n'est pas recommandée si vous ne savez pas ce que vous faites, et ne fonctionne qu'avec des clusters en version
1.20ou supérieure. Vous êtes impacté par ce problème, mais le fournisseur de votre Helm Chart n'a pas proposé de solution adaptée et vous ne pouvez pas attendre notre correctif officiel.
Si vous êtes dans ce cas, suivez ces instructions à vos propres risques :
- Vérifiez quelle est la
StorageClassque vous utilisez par défaut (généralementcsi-cinder-high-speed) :
Si votre cluster est déployé dans une région prenant en charge le stockage chiffré LUKS, vous verrez également les variantes -luks des classes de stockage listées ci-dessus.
- Supprimez la
StorageClassconcernée que vous utilisez par défaut
- Créez une nouvelle
StorageClassavec le correctif requis
- Supprimez le Helm Chart concerné
Par exemple avec le Helm Chart bitnami/wordpress, qui est concerné par ce comportement :
Et n'oubliez pas de vérifier que les PersistentVolumeClaim et PersistentVolume concernés ont bien été supprimés avant de réinstaller le Helm Chart :
- Réinstallez le Helm Chart ou le déploiement concerné
Par exemple avec le Helm Chart bitnami/wordpress, qui est concerné par ce comportement :
Vous pouvez constater que les pods sont désormais opérationnels, ce qui signifie que les erreurs de permission liées aux persistentVolumes sont maintenant corrigées.
Aller plus loin
Pour en savoir plus sur l'utilisation pratique de votre cluster Kubernetes, nous vous invitons à consulter notre documentation OVHcloud Managed Kubernetes.
-
Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.
-
Échangez avec notre communauté d'utilisateurs.