Résoudre les problèmes de création de cluster d'utilisateur dans la console Google Cloud

Cette page explique comment analyser les problèmes liés à la création d'un cluster d'utilisateur Anthos sur VMware (GKE On-Prem) dans la console Google Cloud.

Le cluster d'administrateur ne figure pas dans la liste déroulante Paramètres de base du cluster.

Vous devez enregistrer le cluster d'administrateur dans un parc avant de pouvoir créer des clusters d'utilisateur dans la console Google Cloud. Si le cluster d'administrateur ne figure pas dans la liste déroulante de la section Paramètres de base du cluster de la console Google Cloud, le cluster d'administrateur n'est pas enregistré ou a été enregistré avec la commande gcloud container hub memberships register.

Vérifiez l'état d'enregistrement :

  • Dans la console Google Cloud, accédez à la page Anthos > Clusters, puis sélectionnez le même projet Google Cloud dans lequel vous avez tenté de créer le cluster d'utilisateur.

    Accéder à la page "Clusters Anthos"

    • Si le cluster d'administrateur n'apparaît pas dans la liste, consultez la section Enregistrer un cluster d'administrateur.

    • Si le cluster d'administrateur est présent dans la liste, cela signifie que le cluster a été enregistré avec la commande gcloud container hub memberships register. Cette commande gcloud n'enregistre pas correctement les clusters d'administrateur.

Pour résoudre le problème d'enregistrement, procédez comme suit :

  1. Sur votre poste de travail administrateur, obtenez le nom d'appartenance :

    kubectl describe membership membership \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    
  2. Annuler l'enregistrement du cluster d'administrateur. Dans la commande suivante, remplacez :

    • MEMBERSHIP_NAME par le nom d'appartenance de la commande précédente.
    • Remplacez FLEET_HOST_PROJECT_ID par l'ID de votre projet hôte de parc. Il s'agit du projet que vous avez sélectionné lors de la tentative de création du cluster d'utilisateur dans la console Google Cloud.
    • ADMIN_CLUSTER_KUBECONFIG par le chemin d'accès au fichier kubeconfig du cluster d'administrateur.
    • ADMIN_CLUSTER_CONTEXT par le contexte du cluster d'administrateur tel qu'il apparaît dans le fichier kubeconfig. Vous pouvez obtenir cette valeur depuis la ligne de commande en exécutant kubectl config current-context.
    gcloud container fleet memberships unregister MEMBERSHIP_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --kubeconfig=ADMIN_CLUSTER_KUBECONFIG \
      --context=ADMIN_CLUSTER_CONTEXT
    
  3. Suivez les étapes de la section Enregistrer un cluster d'administrateur pour réenregistrer le cluster.

Erreurs de création de cluster

Cette section décrit certaines erreurs qui se produisent lors de la création de clusters dans la console Google Cloud.

Erreur de ressource déjà existante

La création du cluster d'utilisateur échoue et un message d'erreur semblable à celui-ci s'affiche :

Resource 'projects/1234567890/locations/europe-west1/vmwareClusters/user-cluster1'
already exists
Request ID: 129290123128705826

Ce message d'erreur indique que le nom du cluster est déjà utilisé.

Une solution pour résoudre le problème :

  1. Supprimez le cluster.

  2. Créez à nouveau le cluster avec un autre nom qui n'entre pas en conflit avec un cluster existant.

Erreur des groupes d'anti-affinité

La création du cluster d'utilisateur échoue et un message d'erreur semblable à celui-ci s'affiche :

- Validation Category: VCenter
    - [FATAL] Hosts for AntiAffinityGroups: Anti-affinity groups enabled with
    available vsphere host number 1 less than 3, please add more vsphere hosts
    or disable anti-affinity groups.

Les règles d'anti-affinité VMware Distributed Resource Scheduler (DRS) nécessitent au moins trois hôtes physiques dans votre environnement vSphere. Pour résoudre le problème, désactivez les groupes d'anti-affinité dans la section Fonctionnalités de la page Détails du cluster de votre cluster, comme suit :

  1. Dans la console Google Cloud, accédez à la page Clusters d'Anthos.

    Accéder à la page "Clusters Anthos"

  2. Sélectionnez le projet Google Cloud dans lequel se trouve le cluster d'utilisateur.

  3. Dans la liste des clusters, cliquez sur le nom du cluster, puis sur Afficher les détails dans le panneau Détails.

  4. Dans la section Fonctionnalités, cliquez sur Modifier.

  5. Désactivez l'option Activer les groupes d'anti-affinités, puis cliquez sur OK.

  6. La console Google Cloud affiche État du cluster : modifications en cours. Cliquez sur Afficher les détails pour afficher la Condition d'état de la ressource et les Messages d'état.

Erreur de conflit d'adresses IP

La création du cluster d'utilisateur échoue et un message d'erreur semblable à celui-ci s'affiche :

- Validation Category: Network Configuration
- [FAILURE] CIDR, VIP and static IP (availability and overlapping): user: user
  cluster control plane VIP "10.251.133.132" overlaps with
  example-cluster1/control plane VIP "10.251.133.132"

Actuellement, vous ne pouvez pas modifier des champs tels que Adresse IP virtuelle de plan de contrôle et Adresse IP virtuelle d'entrée dans la section Équilibreur de charge de la page Détails du cluster de la console Google Cloud. Pour résoudre les conflits d'adresses IP :

  1. Supprimez le cluster.

  2. Créez à nouveau le cluster avec des adresses IP qui n'entrent pas en conflit avec un cluster existant.

La suppression du cluster ne permet pas de le supprimer de la console Cloud

Après la suppression d'un cluster d'utilisateur, celui-ci continue de s'afficher dans la console Google Cloud. Cela peut se produire lorsque le cluster d'utilisateur a perdu la connectivité à son cluster d'administrateur. Pour résoudre ce problème, suivez les étapes décrites dans la section Supprimer les ressources de l'API Anthos On-Prem.

Supprimer les ressources de l'API Anthos On-Prem

La console Google Cloud utilise l'API Anthos On-Prem pour gérer le cycle de vie des clusters d'utilisateur. Vous pouvez également configurer les clusters d'utilisateur pour qu'ils soient gérés par l'API Anthos On-Prem. Les ressources de l'API Anthos On-Prem ne sont pas supprimées dans les cas suivants :

  • gkectl a été utilisé pour supprimer un pool de nœuds pour un cluster d'utilisateur géré par l'API Anthos On-Prem.

  • Le cluster d'administrateur d'un cluster d'utilisateur créé dans la console Cloud est supprimé.

Lorsque les ressources de l'API Anthos On-Prem ne sont pas supprimées, le cluster d'utilisateur reste affiché dans la console Google Cloud dans un état non opérationnel. Procédez comme suit pour supprimer les ressources restantes.

  1. Définissez les variables d'environnement suivantes :

    export PROJECT_ID=FLEET_HOST_PROJECT_ID
    export REGION=REGION
    export CLUSTER_NAME=USER_CLUSTER_NAME
    

    Remplacez les éléments suivants :

    • FLEET_HOST_PROJECT_ID: ID du projet dans lequel le cluster d'utilisateur a été créé. Il s'agit également du projet hôte de parc.

    • REGION: région du cluster. La région s'affiche dans le panneau Détails du cluster, dans le champ Emplacement de la console.

    • USER_CLUSTER_NAME : nom du cluster.

  2. Si le pool de nœuds du cluster d'utilisateur a été supprimé, le cluster est toujours enregistré auprès d'un parc. Supprimez l'appartenance au parc du cluster d'utilisateur en exécutant la commande suivante :

    gcloud container fleet memberships delete USER_CLUSTER_NAME
    

    Si le cluster d'administrateur a été supprimé, il est toujours enregistré auprès d'un parc. Supprimez l'appartenance au parc du cluster d'administrateur en exécutant la commande suivante :

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME
    

    Pour en savoir plus, consultez la page gcloud command reference.

  3. Supprimez les métadonnées de l'API Anthos On-Prem :

    curl -X DELETE "https://gkeonprem.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/vmwareClusters/${CLUSTER_NAME}:unenroll?force=true&allow_missing=true" \
    -H "Content-Type: application/json" \
    -H "X-GFE-SSL: yes" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"