Soluciona los problemas del clúster de arranque

Cuando los clústeres de Anthos en el equipo físico crean o actualizan clústeres, implementa un clúster de Kubernetes en Docker (tipo) para alojar de forma temporal los controladores de Kubernetes necesarios a fin de crear o actualizar clústeres. Este clúster transitorio se denomina clúster de arranque. Si ya existe un clúster de tipo en tu implementación cuando intentas realizar una instalación, los clústeres de Anthos en el equipo físico borran el clúster de tipo existente. La eliminación solo ocurre después de que la instalación o actualización se realiza de forma correcta. Para conservar el clúster de tipo existente incluso después de éxito, usa la marca --keep-bootstrap-cluster de bmctl.

Los clústeres de Anthos en equipos físicos crean un archivo de configuración para el clúster de arranque en WORKSPACE_DIR/.kindkubeconfig. Solo puedes conectarte al clúster de arranque durante la creación y actualización del clúster.

El clúster de arranque necesita acceder a un repositorio de Docker para extraer imágenes. El registro se establece de forma predeterminada en Container Registry, a menos que uses un registro privado. Durante la creación del clúster, bmctl crea los siguientes archivos:

  • bmctl-workspace/config.json: Contiene las credenciales de la cuenta de servicio de Google Cloud para el acceso al registro. Las credenciales se obtienen del campo gcrKeyPath en el archivo de configuración del clúster.

  • bmctl-workspace/config.toml: Contiene la configuración en containerd en el clúster de tipo.

Depura el clúster de arranque

Para depurar el clúster de arranque, puedes realizar los siguientes pasos:

  • Conectarse al clúster de arranque durante la creación y actualización del clúster
  • Obtén los registros del clúster de arranque.

Puedes encontrar los registros en la máquina que usas para ejecutar bmctl en las siguientes carpetas:

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

Reemplaza CLUSTER_NAME y TIMESTAMP por el nombre de tu clúster y la hora del sistema correspondiente.

Para obtener los registros directamente del clúster de arranque, puedes ejecutar el siguiente comando durante la creación y la actualización del clúster:

docker exec -it bmctl-control-plane bash

El comando abre una terminal dentro del contenedor del plano de control de bmctl que se ejecuta en el clúster de arranque.

Para inspeccionar los registros kubelet y containerd, usa los siguientes comandos y busca errores o advertencias en el resultado:

journalctl -u kubelet
journalctl -u containerd