Résoudre les problèmes liés aux clusters inscrits dans l'API GKE On-Prem

Cette page explique comment analyser les problèmes liés à la création d'un cluster d'utilisateurs Google Distributed Cloud dans la console Google Cloud.

L'API GKE On-Prem est une API hébergée par Google Cloud qui vous permet de gérer le cycle de vie de vos clusters sur site à l'aide de Terraform et des outils Google Cloud standards. L'API GKE On-Prem s'exécute sur l'infrastructure Google Cloud. Terraform, la console Google Cloud et Google Cloud CLI sont des clients de l'API. Ils l'utilisent pour créer, mettre à jour, migrer et supprimer des clusters dans votre centre de données. Si vous avez créé le cluster à l'aide d'un client standard, il est inscrit dans l'API GKE On-Prem. Cela signifie que vous pouvez utiliser les clients standards pour gérer le cycle de vie du cluster (à quelques exceptions près).

Si vous avez besoin d'une aide supplémentaire, contactez Cloud Customer Care.

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 fleet memberships register. Cette commande gcloud n'enregistre pas correctement les clusters d'administrateur.

Vérifiez l'état d'enregistrement :

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

    Accéder à la page "Clusters GKE"

    • 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. Supprimez l'appartenance au parc du cluster d'administrateur.

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=global
    
    • ADMIN_CLUSTER_NAME : nom du cluster d'administrateur.
    • PROJECT_ID : 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.
  2. 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/[...]/user-cluster1'
already exists
Request ID: 129290123128705826

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

Pour résoudre ce problème, vous pouvez supprimer et recréer le cluster:

  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 GKE.

    Accéder à la page "Clusters GKE"

  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"

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, supprimez et recréez le cluster:

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

Supprimer les clusters non opérationnels

Un cluster peut se retrouver dans un état non opérationnel pour de nombreuses raisons, par exemple:

  • Problèmes de connectivité avec l'agent Connect ou l'environnement sur site
  • Le cluster d'administrateur d'un cluster d'utilisateur a été supprimé, ou il existe des problèmes de connectivité entre les clusters d'administrateur et d'utilisateur.
  • La VM du cluster a été supprimée avant la suppression du cluster.

Si la console ne parvient pas à supprimer un cluster, utilisez les commandes gcloud CLI pour supprimer les ressources Google Cloud des clusters non fonctionnels. Si vous n'avez pas mis à jour gcloud CLI récemment, exécutez la commande suivante pour mettre à jour les composants:

gcloud components update

Supprimez ensuite les ressources Google Cloud.

Cluster d'utilisateur

  1. Supprimez le cluster d'utilisateurs:

    gcloud container vmware clusters delete USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --force \
      --allow-missing \
      --ignore-errors

    Remplacez les éléments suivants :

    • USER_CLUSTER_NAME: nom du cluster d'utilisateurs à supprimer.

    • PROJECT_ID : ID du projet auquel le cluster d'administrateur est enregistré.

    • REGION : emplacement Google Cloud associé au cluster d'utilisateurs. L'emplacement s'affiche dans la console.

      L'indicateur --force supprime un cluster qui contient des pools de nœuds. Sans l'indicateur --force, vous devez d'abord supprimer les pools de nœuds, puis le cluster.

      L'indicateur --allow-missing permet à la commande de continuer si le cluster n'est pas trouvé.

      L'indicateur --ignore-errors supprime les ressources Google Cloud lorsque les clusters d'administrateur et d'utilisateur ne sont pas joignables. Certaines ressources F5 ou vSphere peuvent persister. Pour savoir comment nettoyer les ressources restantes, consultez la section Nettoyer les ressources.

      Cette commande supprime le cluster s'il existe et supprime les ressources de l'API GKE On-Prem et de l'appartenance au parc de Google Cloud.

  2. Vérifiez que les ressources de l'API GKE On-Prem ont bien été supprimées:

    gcloud container vmware clusters list \
      --project=PROJECT_ID \
      --location=-

    Lorsque vous définissez --location=-, cela signifie que vous souhaitez lister tous les clusters de toutes les régions. Si vous devez limiter la liste, définissez --location sur une région spécifique.

  3. Vérifiez que les ressources d'adhésion au parc ont été supprimées:

    gcloud container fleet memberships list \
      --project=PROJECT_ID

Cluster d'administrateur

  1. Si vous avez inscrit le cluster d'administration dans l'API GKE On-Prem, désinscrivez-le:

    gcloud container vmware admin-clusters unenroll ADMIN_CLUSTER_NAME \
     --project=PROJECT_ID \
     --location=REGION \
     --allow-missing 
    

    Remplacez les éléments suivants :

    • ADMIN_CLUSTER_NAME : nom du cluster d'administrateur.
    • PROJECT_ID : ID du projet hôte du parc
    • REGION : région Google Cloud

    L'indicateur --allow-missing désinscrit le cluster si l'appartenance à la flotte n'est pas trouvée.

    Cette commande supprime les ressources de l'API GKE On-Prem de Google Cloud.

  2. Supprimez le cluster du parc:

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \
     --project=PROJECT_ID \
     --location=global

    Cette commande supprime les ressources d'adhésion à un parc de Google Cloud.

  3. Vérifiez que les ressources de l'API GKE On-Prem ont bien été supprimées:

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME --project=FLEET_HOST_PROJECT_ID
    

    Lorsque vous définissez --location=-, cela signifie que vous souhaitez lister tous les clusters de toutes les régions. Si vous devez limiter la liste, définissez --location sur une région spécifique.

  4. Vérifiez que les ressources d'adhésion au parc ont été supprimées:

    gcloud container fleet memberships list \
      --project=PROJECT_ID

Étape suivante

Si vous avez besoin d'une aide supplémentaire, contactez Cloud Customer Care.