4 commentaires
C'est classique. Tu dois utiliser le champ excludedNamespaces dans ta définition de Constraint. Gatekeeper ne supporte pas l'exclusion directe dans le template lui-même.
Voici un exemple de ce que tu dois ajouter dans ton fichier de contrainte :
spec:
match:
excludedNamespaces:
- "kube-system"
- "gatekeeper-system"
Ah bien vu ! Je cherchais ça dans le ConstraintTemplate, c'est pour ça que je ne trouvais rien. Je teste ça tout de suite.
Attention à bien redémarrer le pod ou à réappliquer la ressource, parfois le cache du webhook met un peu de temps à prendre en compte les changements sur les exclusions.
Effectivement, après avoir réappliqué la Constraint, les pods système passent bien. Merci pour l'astuce, ça m'a sauvé une après-midi de debug.
Laisser une réponse
Vous devez être connecté pour poster un message !
Salut à tous, je galère avec OPA Gatekeeper sur mon cluster Kubernetes. J'ai un ConstraintTemplate qui bloque les déploiements sans labels spécifiques, mais même mes pods système se font rejeter lors de l'upgrade de certains composants.
Voici l'erreur que je reçois dans les logs du controller manager :
admission webhook "validation.gatekeeper.sh" denied the request. Quelqu'un sait comment exclure des namespaces spécifiques de la validation ?