Risolvi i problemi del cluster di bootstrap

Quando Cluster Anthos on bare metal crea o esegue l'upgrade dei cluster, esegue il deployment di un cluster Kubernetes in Docker (tipo) per ospitare temporaneamente i controller Kubernetes necessari per creare o eseguire l'upgrade dei cluster. Questo cluster temporaneo è chiamato cluster di bootstrap. Se nel tuo deployment esiste già un cluster del tipo durante il tentativo di installazione, Cluster Anthos on bare metal elimina il cluster del tipo esistente. L'eliminazione avviene solo dopo che l'installazione o l'upgrade è andato a buon fine. Per conservare il cluster di tipo esistente anche dopo l'esito positivo, utilizza il flag --keep-bootstrap-cluster di bmctl.

Cluster Anthos on bare metal crea un file di configurazione per il cluster di bootstrap in WORKSPACE_DIR/.kindkubeconfig. Puoi connetterti al cluster di avvio solo durante la creazione e l'upgrade del cluster.

Il cluster di bootstrap deve accedere a un repository Docker per eseguire il pull delle immagini. Per impostazione predefinita, il registry utilizza Container Registry, a meno che non utilizzi un registro privato. Durante la creazione del cluster,bmctl crea i seguenti file:

  • bmctl-workspace/config.json: contiene le credenziali dell'account di servizio Google Cloud per l'accesso al registro. Le credenziali vengono ottenute dal campo gcrKeyPath nel file di configurazione del cluster.

  • bmctl-workspace/config.toml: contiene la configurazione containerd nel cluster del tipo.

Esegui il debug del cluster bootstrap

Per eseguire il debug del cluster di bootstrap, puoi seguire questi passaggi:

  • Connettiti al cluster di bootstrap durante la creazione e l'upgrade del cluster.
  • Recupera i log del cluster bootstrap.

Puoi trovare i log nella macchina utilizzata per eseguire bmctl nelle seguenti cartelle:

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

Sostituisci CLUSTER_NAME e TIMESTAMP con il nome del tuo cluster e l'ora del sistema corrispondente.

Per ottenere i log direttamente dal cluster bootstrap, puoi eseguire il seguente comando durante la creazione e l'upgrade del cluster:

docker exec -it bmctl-control-plane bash

Il comando apre un terminale all'interno del container del piano di controllo bmctl che viene eseguito nel cluster bootstrap.

Per controllare i log kubelet e containerd, utilizza i comandi seguenti e cerca eventuali errori o avvisi nell'output:

journalctl -u kubelet
journalctl -u containerd