Supprimer un cluster d'administrateur

Cette page explique comment supprimer un cluster d'administration GKE On-Prem.

Avant de commencer

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

  • Supprimez ses clusters d'utilisateur. Consultez la section 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.
  • Définissez une variable d'environnement KUBECONFIG pointant 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.

Supprimer la journalisation et la surveillance

Les pods de journalisation et de surveillance de GKE On-Prem, 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

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

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

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.

Une fois terminé

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

Dépannage

Pour en savoir plus, consultez la section Dépannage.

Diagnostiquer des problèmes de cluster à l'aide de gkectl

Utilisez les commandes gkectl diagnose pour identifier les problèmes de cluster et partager des informations de cluster avec Google. Consultez la page Diagnostiquer les problèmes de cluster.

Comportement de journalisation par défaut

Pour gkectl et gkeadm, l'utilisation des paramètres de journalisation par défaut est suffisante :

  • Par défaut, les entrées de journal sont enregistrées comme suit :

    • Pour gkectl, le fichier journal par défaut est /home/ubuntu/.config/gke-on-prem/logs/gkectl-$(date).log, et le fichier est lié symboliquement au fichier logs/gkectl-$(date).log dans le répertoire local où vous exécutez gkectl.
    • Pour gkeadm, le fichier journal par défaut est logs/gkeadm-$(date).log dans le répertoire local où vous exécutez gkeadm.
  • Toutes les entrées de journal sont enregistrées dans le fichier journal, même si elles ne sont pas affichées sur le terminal (lorsque --alsologtostderr a la valeur false).
  • Le niveau de verbosité -v5 (par défaut) couvre toutes les entrées de journal requises par l'équipe d'assistance.
  • Le fichier journal contient également la commande exécutée et le message d'échec.

Nous vous recommandons d'envoyer le fichier journal à l'équipe d'assistance lorsque vous avez besoin d'aide.

Spécifier un emplacement autre que celui par défaut pour le fichier journal

Pour spécifier un emplacement autre que celui par défaut pour le fichier journal gkectl, utilisez l'option --log_file. Le fichier journal que vous spécifiez ne sera pas lié symboliquement au répertoire local.

Pour spécifier un emplacement autre que celui par défaut pour le fichier journal gkeadm, utilisez l'option --log_file.

Localiser des journaux de l'API Cluster dans le cluster d'administrateur

Si une VM ne démarre pas après le démarrage du plan de contrôle d'administrateur, vous pouvez essayer de la déboguer en inspectant les journaux des contrôleurs de l'API Cluster dans le cluster d'administrateur :

  1. Recherchez le nom du pod des contrôleurs d'API Cluster dans l'espace de noms kube-system, où [ADMIN_CLUSTER_KUBECONFIG] est le chemin d'accès au fichier kubeconfig du cluster d'administrateur :

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
  2. Ouvrez les journaux du pod, où [POD_NAME] correspond au nom du pod. Vous pouvez éventuellement utiliser grep ou un outil similaire pour rechercher les erreurs :

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system logs [POD_NAME] vsphere-controller-manager