Réinitialiser ou supprimer des clusters existants

Réinitialiser des clusters avec bmctl reset cluster

Lorsqu'un cluster ne s'installe pas correctement, vous pouvez essayer de rétablir l'état propre des nœuds en réinitialisant le cluster. La réinitialisation d'un cluster entraîne sa suppression. Une fois supprimé, vous pouvez réinstaller le cluster après avoir effectué les modifications de configuration nécessaires.

Dans le contexte de ce document, les méthodes de réinitialisation et de suppression sont interchangeables.

Réinitialiser des clusters autogérés

Pour réinitialiser un cluster autogéré, tel qu'un cluster d'administrateur, exécutez la commande suivante :

bmctl reset --cluster CLUSTER_NAME

Remplacez CLUSTER_NAME par le nom du cluster que vous réinitialisez.

Réinitialiser des clusters d'utilisateur

Il existe deux façons de supprimer ou de réinitialiser les clusters d'utilisateur, en utilisant respectivement bmctl ou kubectl. L'utilisation de bmctl est la méthode recommandée pour réinitialiser les clusters d'utilisateur.

Utiliser bmctl pour réinitialiser un cluster d'utilisateur

Exécutez la commande suivante pour réinitialiser un cluster d'utilisateur avec bmctl :

bmctl reset --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG_PATH

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom du cluster d'utilisateur que vous réinitialisez.

  • ADMIN_KUBECONFIG_PATH : chemin d'accès au fichier kubeconfig du cluster d'administrateur associé. bmctl permet d'utiliser --kubeconfig comme alias pour l'option --admin-kubeconfig.

Utiliser kubectl pour supprimer un cluster d'utilisateur

Pour supprimer un cluster d'utilisateur à l'aide de kubectl, vous devez d'abord supprimer l'objet du cluster, avant de supprimer son espace de noms. Autrement, les tâches de réinitialisation des machines ne peuvent pas être créées et le processus de suppression peut être bloqué indéfiniment.

Pour supprimer un cluster d'utilisateur à l'aide de kubectl, procédez comme suit :

  1. Exécutez la commande suivante pour supprimer l'objet du cluster :

    kubectl delete cluster CLUSTER_NAME -n CLUSTER_NAMESPACE \
        --kubeconfig ADMIN_KUBECONFIG_PATH

    Remplacez les éléments suivants :

    • CLUSTER_NAME : nom du cluster d'utilisateur que vous supprimez.

    • CLUSTER_NAMESPACE : espace de noms du cluster. Par défaut, les espaces de noms des clusters Anthos sur Bare Metal sont le nom du cluster précédé de cluster-. Par exemple, si vous nommez votre cluster test, l'espace de noms porte un nom tel que cluster-test.

    • ADMIN_KUBECONFIG_PATH : chemin d'accès au fichier kubeconfig du cluster d'administrateur associé.

  2. Une fois le cluster supprimé, exécutez la commande suivante pour supprimer l'espace de noms :

    kubectl delete namespace CLUSTER_NAMESPACE --kubeconfig ADMIN_KUBECONFIG_PATH

Réinitialiser les détails du cluster

Quel que soit le type de cluster, la commande de réinitialisation s'applique à l'ensemble du cluster. Il n'existe aucune option permettant de spécifier un sous-ensemble de nœuds dans un cluster.

Le résultat de la commande bmctl cluster reset ressemble à ceci :

bmctl reset --cluster cluster1
Creating bootstrap cluster... OK
Deleting GKE Hub member admin in project my-gcp-project...
Successfully deleted GKE Hub member admin in project my-gcp-project
Loading images... OK
Starting reset jobs...
Resetting: 1    Completed: 0    Failed: 0
...
Resetting: 0    Completed: 1    Failed: 0
Flushing logs... OK

Lors de la réinitialisation, bmctl tente d'abord de supprimer l'enregistrement de l'abonnement GKE Hub, puis nettoie les nœuds concernés. Lors de la réinitialisation, les installations de stockage et les données provenant de anthos-system StorageClass sont également supprimées.

Pour tous les nœuds, bmctl exécute kubeadm reset, supprime les interfaces de tunnel utilisées pour la mise en réseau du cluster, puis supprime les répertoires suivants :

  • /etc/kubernetes
  • /etc/cni/net.d
  • /root/.kube
  • /var/lib/kubelet

Pour les nœuds d'équilibreur de charge, bmctl effectue également les actions suivantes :

  • Désactive les services keepalived et haproxy.
  • Supprime les fichiers de configuration pour keepalived et haproxy.

La commande bmctl reset s'attend à ce que le fichier de configuration du cluster se trouve dans le répertoire de travail actuel. Par défaut, le chemin d'accès est semblable à ce qui suit : bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME.yaml

Si vous avez utilisé l'option --workspacel-dir pour spécifier un répertoire différent lors de la création du cluster, vous devez également l'utiliser pour spécifier le répertoire de travail lors de la réinitialisation du cluster.