Les échecs lors de la création de clusters Google Kubernetes Engine (GKE) peuvent vous empêcher de provisionner l'infrastructure nécessaire. Une cause fréquente d'échec est une violation de la règle constraints/compute.vmExternalIpAccess. Cette page vous aide à résoudre les problèmes d'échec de création de cluster causés par cette règle d'administration.
Ces informations sont importantes pour les administrateurs et opérateurs de plate-forme, ou pour les autres utilisateurs chargés de créer et de gérer des clusters GKE dans une Google Cloud organisation. Pour en savoir plus sur les rôles courants et les exemples de tâches que nous citons dans le Google Cloud contenu, consultez Rôles utilisateur et tâches courantes de GKE.
Pour les problèmes généraux liés à un cluster Kubernetes, consultez la section Dépannage des clusters dans la documentation de Kubernetes.
Erreur : la contrainte constraints/compute.vmExternalIpAccess a été enfreinte
Une erreur semblable à celle-ci peut se produire lorsque vous essayez de créer un cluster GKE public :
Constraint constraints/compute.vmExternalIpAccess violated for project
Remarque : Cela ne concerne que les clusters GKE publics, y compris les clusters GKE Autopilot.
Lorsque vous créez des clusters GKE publics, des adresses IP externes sont attribuées aux VM Compute Engine sous-jacentes, qui constituent les nœuds de calcul de ce cluster.
Si vous configurez la contrainte de règle d'administration
constraints/compute.vmExternalIpAccess
sur Deny All ou pour limiter les adresses IP externes à des instances de VM spécifiques au niveau
de l'organisation, du dossier ou du projet, la
règle empêche les nœuds de calcul GKE d'obtenir des adresses IP
externes, ce qui entraîne l'échec de la création du cluster.
Pour trouver les journaux de l'opération de création de cluster, vous pouvez consulter les journaux d'audit des opérations de cluster GKE à l'aide de l'explorateur de journaux avec une requête de recherche semblable à la suivante :
resource.type="gke_cluster"
logName="projects/test-last-gke-sa/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload.methodName="google.container.v1beta1.ClusterManager.CreateCluster"
resource.labels.cluster_name="CLUSTER_NAME"
resource.labels.project_id="PROJECT_ID"
Remplacez les éléments suivants :
CLUSTER_NAME: nom du cluster qui n'a pas été créé.PROJECT_ID: ID de votre projet.
Pour résoudre ce problème, assurez-vous que la règle en vigueur pour la contrainte constraints/compute.vmExternalIpAccess est Allow All sur le projet dans lequel vous essayez de créer un cluster public GKE. Pour en savoir plus sur l'utilisation de cette contrainte, consultez la section Limiter les adresses IP externes à des instances de VM spécifiques.
Après avoir défini cette contrainte sur Allow All, supprimez le cluster défaillant et créez-en un autre. Cette étape est nécessaire, car il n'est pas possible de réparer le cluster défaillant.
Étape suivante
Si vous ne trouvez pas de solution à votre problème dans la documentation, consultez Obtenir de l'aide pour bénéficier d'une assistance supplémentaire, y compris des conseils sur les sujets suivants :
- Ouvrir une demande d'assistance en contactant Cloud Customer Care.
- Obtenir de l'aide de la communauté en posant des questions sur Stack Overflow et en utilisant le tag
google-kubernetes-enginepour rechercher des problèmes similaires. Vous pouvez également rejoindre le#kubernetes-enginecanal Slack pour obtenir une assistance supplémentaire de la communauté. - Signaler des problèmes ou demander des fonctionnalités à l'aide de l' outil public de suivi des problèmes.