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 fichierkubeconfig
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 :
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é decluster-
. Par exemple, si vous nommez votre clustertest
, l'espace de noms porte un nom tel quecluster-test
.ADMIN_KUBECONFIG_PATH
: chemin d'accès au fichierkubeconfig
du cluster d'administrateur associé.
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
ethaproxy
. - Supprime les fichiers de configuration pour
keepalived
ethaproxy
.
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.