Supprimer un cluster d'administrateur

Cette page explique comment supprimer un cluster d'administrateur créé avec Google Distributed Cloud (logiciel uniquement) pour VMware.

Avant de commencer

Avant de supprimer un cluster d'administrateur, procédez comme suit :

  • Supprimez ses clusters d'utilisateur. Consultez la page Supprimer un cluster d'utilisateur.
  • Supprimez toutes les charges de travail qui utilisent PodDisruptionBudgets (PDB) du cluster d'administrateur.
  • Supprimez tous les objets externes, tels que PersistentVolumes, du cluster d'administrateur.
  • Sur votre poste de travail administrateur, définissez une variable d'environnement KUBECONFIG qui pointe vers le fichier kubeconfig du cluster d'administrateur que vous souhaitez supprimer :

    export KUBECONFIG=ADMIN_CLUSTER_KUBECONFIG
    

    ADMIN_CLUSTER_KUBECONFIG est le chemin d'accès au fichier kubeconfig du cluster d'administrateur.

  • Vous pouvez également exécuter la commande suivante sur votre station de travail administrateur pour obtenir le nom du cluster d'administrateur :

    kubectl get -n=kube-system onpremadmincluster
    

Désinscrire le cluster d'administrateur

Si le cluster d'administrateur est inscrit dans l'API GKE On-Prem, vous devez le désinscrire de l'API avant de supprimer d'autres ressources de cluster. La désinscription du cluster supprime les ressources de l'API GKE On-Prem de Google Cloud. Si vous ne désinscrivez pas le cluster, il continuera à s'afficher dans la Google Cloud console sur la page Kubernetes Engine > Clusters.

Si vous avez créé le cluster d'administrateur à l'aide de la Google Cloud console ou de Terraform, le cluster est automatiquement inscrit dans l'API GKE On-Prem. Les clusters d'administrateur créés avec la version 1.16 ou ultérieure à l'aide de l'outil de ligne de commande gkectl sont automatiquement inscrits dans l'API GKE On-Prem. Si votre cluster d'administrateur a été créé à l'aide de gkectl avec une version antérieure, le cluster est inscrit dans l'API dans les cas suivants :

  1. Répertoriez tous les clusters d'administrateur inscrits dans votre projet :

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

    Remplacez PROJECT_ID par l'ID du projet hôte de parc.

    La commande affiche le nom de chaque cluster d'administrateur enregistré dans l' API GKE On-Prem du projet, ainsi que la Google Cloud région.

    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 la région que vous avez spécifiée lorsque vous avez inscrit le cluster.

  2. Désinscrivez le cluster d'administrateur de l'API GKE On-Prem :

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

    Remplacez les éléments suivants :

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

    L'option --allow-missing renvoie une réussite si le cluster est introuvable.

    L'option --ignore-errors garantit que la désinscription d'une ressource de cluster administrateur aboutit, même si des erreurs se produisent lors de la désinscription.

Supprimer la journalisation et la surveillance

Ignorez cette section si votre cluster est à la version 1.30 ou ultérieure. Étant donné que les ressources personnalisées de journalisation et de surveillance ne sont pas déployées sur les clusters de la version 1.30 et ultérieures, si vous exécutez les commandes, elles ne seront pas renvoyées.

Les pods de journalisation et de surveillance de Google Distributed Cloud, déployés à partir des StatefulSets, utilisent des PDB pouvant empêcher les nœuds de se vider correctement. Pour supprimer correctement un cluster d'administrateur, vous devez supprimer ces pods.

Pour supprimer les pods de journalisation et de surveillance, exécutez les commandes suivantes :

kubectl delete monitoring --all -n kube-system
kubectl delete stackdriver --all -n kube-system

La suppression de la surveillance nettoie les PersistentVolumes (VP) associés aux StatefulSets, mais le PersistentVolume de Stackdriver doit être supprimé séparément.

La suppression du PV de Stackdriver est facultative. Si vous choisissez de ne pas supprimer le volume persistant, enregistrez l'emplacement et le nom du volume persistant associé dans un emplacement externe situé en dehors du cluster d'utilisateur.

La suppression du volume persistant sera propagée par la suppression de la revendication de volume persistant (PVC).

Pour trouver la revendication de volume persistant de Stackdriver, exécutez la commande suivante :

kubectl get pvc -n kube-system

Pour supprimer la revendication de volume persistant, exécutez la commande suivante :

kubectl delete pvc -n kube-system PVC_NAME

Vérifier que la journalisation et la surveillance sont supprimées

Pour vérifier que la journalisation et la surveillance ont été supprimées, exécutez les commandes suivantes :

kubectl get pvc -n kube-system
kubectl get statefulsets -n kube-system

Nettoyer la partition F5 d'un cluster d'administrateur

Ignorez cette section si vous n'utilisez pas l'équilibreur de charge F5.

La suppression de l'espace de noms gke-system du cluster d'administrateur garantit un nettoyage correct de la partition F5, ce qui vous permet de la réutiliser pour un autre cluster d'administrateur.

Pour supprimer l'espace de noms gke-system, exécutez la commande suivante :

kubectl delete ns gke-system

Supprimez ensuite tous les autres services de type LoadBalancer restants. Pour répertorier tous les services, exécutez la commande suivante :

kubectl get services --all-namespaces
Remarque :

Pour chaque service de type LoadBalancer, supprimez le service en exécutant la commande suivante :

kubectl delete service SERVICE_NAME -n SERVICE_NAMESPACE

Ensuite, à partir de la console F5 BIG-IP, effectuez les actions suivantes :

  1. Dans l'angle supérieur droit de la console, basculez vers la partition à nettoyer.
  2. Sélectionnez Trafic local, puis Serveurs virtuels > Liste des serveurs virtuels.
  3. Dans le menu Virtual Servers (Serveurs virtuels), supprimez toutes les adresses IP virtuelles.
  4. Sélectionnez Pools, puis supprimez tous les pools.
  5. Sélectionnez Nœuds, puis supprimez tous les nœuds.

Vérifier que la partition F5 est propre

CLI

Vérifiez que l'adresse IP virtuelle est indisponible en exécutant la commande suivante :

ping -c 1 -W 1 F5_LOAD_BALANCER_IP; echo $?

qui renvoie 1 si l'adresse IP virtuelle n'est pas opérationnelle.

Interface utilisateur F5

Pour vérifier que la partition a été nettoyée de l'interface utilisateur F5, procédez comme suit :

  1. Dans l'angle supérieur droit, cliquez sur le menu déroulant Partition. Sélectionnez la partition de votre cluster d'administrateur.
  2. Dans le menu Principal de gauche, sélectionnez Trafic local > Carte du réseau. Aucun élément ne doit figurer sous la carte de trafic local du réseau.
  3. Dans Trafic local > Serveurs virtuels, sélectionnez Nœuds, puis Liste de nœuds. Aucun élément ne doit figurer ici non plus.

S'il reste des entrées, supprimez-les manuellement dans l'interface utilisateur.

Mettre hors tension les machines de nœud d'administrateur

Tout d'abord, exécutez cette commande pour obtenir les noms des machines avant de les éteindre.

kubectl get machines -o wide

Le résultat donne la liste des noms des machines. Vous les trouverez désormais dans l'interface utilisateur vSphere.

Pour supprimer les machines de nœud du plan de contrôle d'administrateur, vous devez éteindre chacune des VM d'administrateur restantes dans votre pool de ressources vSphere.

Interface utilisateur vSphere

Procédez comme suit :

  1. Dans le menu vSphere, sélectionnez la VM dans le pool de ressources Vsphere.
  2. En haut du menu de la VM, cliquez sur Actions.
  3. Sélectionnez Alimentation > Arrêt. L'arrêt de la VM peut prendre quelques minutes.

Supprimer des machines de nœud d'administrateur

Une fois la VM éteinte, vous pouvez la supprimer.

Interface utilisateur vSphere

Procédez comme suit :

  1. Dans le menu vSphere, sélectionnez la VM dans le pool de ressources Vsphere.
  2. En haut du menu de la VM, cliquez sur Actions.
  3. Cliquez sur Supprimer du disque.

Supprimer le disque de données

Après avoir supprimé les VM, vous pouvez supprimer le disque de données. La procédure varie légèrement selon que vous disposez d'un cluster d'administrateur à haute disponibilité ou non.

Procédez comme suit dans l'interface utilisateur vSphere :

Standard

  1. Dans le menu vSphere, sélectionnez le disque de données dans le datastore, comme spécifié dans le champ vCenter.dataDisk du fichier de configuration du cluster d'administrateur.
  2. Au milieu du menu du datastore, cliquez sur Supprimer.

HA

Les chemins d'accès au disque de données des trois machines du plan de contrôle d'administrateur sont générés automatiquement sous /anthos/ADMIN_CLUSTER/default/, par exemple :

/anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-0-data.vmdk
/anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-1-data.vmdk
/anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-2-data.vmdk

Procédez comme suit pour supprimer chaque disque de données :

  1. Dans le menu vSphere, sélectionnez le disque de données dans le datastore.
  2. Au milieu du menu du datastore, cliquez sur Supprimer.

Supprimer le fichier checkpoint.yaml

Si vous supprimez un cluster d'administrateur à haute disponibilité, ignorez cette étape, car les clusters d'administrateur à haute disponibilité ne sont pas compatibles avec le fichier de point de contrôle.

Le fichier DATA_DISK_NAME-checkpoint.yaml, où DATA_DISK_NAME est le nom du disque de données, se trouve dans le même dossier que le disque de données. Supprimez ce fichier.

Annuler l'enregistrement du cluster d'administrateur

Lorsque vous créez un cluster d'administrateur, celui-ci est automatiquement enregistré dans un Google Cloud parc. Vous devez annuler l'enregistrement du cluster après avoir supprimé les machines de nœud d'administrateur. Sinon, un contrôleur du cluster réenregistre automatiquement le cluster.

L'annulation de l'enregistrement du cluster supprime les ressources d'appartenance au parc de Google Cloud. Si vous n'annulez pas l'enregistrement du cluster, il continuera à s'afficher dans la Google Cloud console sur la page Kubernetes Engine > Clusters.

  1. Exécutez la commande suivante et notez l'emplacement :

    gcloud container fleet memberships list \
        --project=PROJECT_ID
    
  2. Exécutez la commande suivante pour supprimer l'appartenance au parc, ce qui désinscrit le cluster :

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

    Remplacez MEMBERSHIP_REGION par l'emplacement généré par la commande gcloud container fleet memberships list. Il peut s'agir de global ou d'une Google Cloud région.

Une fois terminé

Une fois la suppression du cluster d'administrateur terminée, supprimez son fichier kubeconfig.