Résoudre les problèmes liés au cluster d'amorçage

Lorsque Anthos clusters on bare metal crée ou met à jour des clusters, il déploie un cluster Kubernetes-In-Docker (kind) afin d'héberger temporairement les contrôleurs Kubernetes nécessaires à la création ou à la mise à niveau des clusters. Ce cluster temporaire est appelé cluster d'amorçage. Si un cluster kind existe déjà dans votre déploiement lorsque vous tentez l'installation, Anthos clusters on bare metal supprime le cluster kind existant. La suppression ne se produit qu'après la réussite de l'installation ou de la mise à niveau. Pour conserver le cluster kind existant même après la réussite de l'opération, utilisez l'option --keep-bootstrap-cluster de bmctl.

Anthos clusters on bare metal crée un fichier de configuration pour le cluster d'amorçage sous WORKSPACE_DIR/.kindkubeconfig. Vous ne pouvez vous connecter au cluster d'amorçage que lors de la création et de la mise à niveau du cluster.

Le cluster d'amorçage doit accéder à un dépôt Docker pour extraire des images. Par défaut, le registre est défini sur Container Registry, sauf si vous utilisez un registre privé. Lors de la création du cluster, bmctl crée les fichiers suivants :

  • bmctl-workspace/config.json : contient les identifiants du compte de service Google Cloud pour l'accès au registre. Les identifiants sont obtenus à partir du champ gcrKeyPath du fichier de configuration du cluster.

  • bmctl-workspace/config.toml : contient la configuration containerd dans le cluster de genre.

Déboguer le cluster d'amorçage

Pour déboguer le cluster d'amorçage, procédez comme suit :

  • Connectez-vous au cluster d'amorçage lors de sa création et de sa mise à niveau.
  • Récupérez les journaux du cluster d'amorçage.

Vous pouvez trouver les journaux de la machine que vous utilisez pour exécuter bmctl dans les dossiers suivants :

  • bmctl-workspace/CLUSTER_NAME/log/create-cluster-TIMESTAMP/bootstrap-cluster/
  • bmctl-workspace/CLUSTER_NAME/log/upgrade-cluster-TIMESTAMP/bootstrap-cluster/

Remplacez CLUSTER_NAME et TIMESTAMP par le nom de votre cluster et l'heure du système correspondant.

Pour obtenir les journaux directement à partir du cluster d'amorçage, vous pouvez exécuter la commande suivante lors de la création et de la mise à niveau du cluster :

docker exec -it bmctl-control-plane bash

La commande ouvre un terminal dans le conteneur de plan de contrôle bmctl qui s'exécute dans le cluster d'amorçage.

Pour inspecter les journaux kubelet et containerd, utilisez les commandes suivantes et recherchez toute erreur ou tout avertissement dans le résultat :

journalctl -u kubelet
journalctl -u containerd