Usar un clúster de arranque existente para implementar y eliminar clústeres de administración

De forma predeterminada, cuando se implementa un clúster de administración mediante la ejecución de tanzu mc create, Tanzu Kubernetes Grid crea un clúster kind temporal en la máquina de arranque local. A continuación, utiliza el clúster local para aprovisionar el clúster de administración final en su infraestructura de nube de destino (vSphere, Amazon Web Services (AWS) o Azure, y elimina el clúster temporal después de que el clúster de administración se implemente correctamente. Al ejecutar tanzu mc delete para eliminar un clúster de administración, se invoca un proceso similar para crear, usar y, a continuación, eliminar un clúster kind local temporal.

En algunas circunstancias, es posible que desee conservar el clúster local después de implementar o eliminar un clúster de administración. Por ejemplo, para examinar los objetos del clúster o revisar sus registros. Para ello, puede implementar o eliminar el clúster de administración con las opciones de la CLI --use-existing-bootstrap-cluster o --use-existing-cleanup-cluster.

Con estas opciones, Tanzu Kubernetes Grid omite la creación y la eliminación del clúster kind local y, en su lugar, utiliza un clúster local preexistente que ya tiene o crea un nuevo para el propósito.

Precaución

El uso de un clúster de arranque existente es un caso de uso avanzado para usuarios de Kubernetes experimentados. Si es posible, se recomienda encarecidamente utilizar el clúster kind predeterminado que Tanzu Kubernetes Grid proporciona para arrancar los clústeres de administración.

Identificar o crear un clúster de arranque local

Para conservar el clúster kind local durante la creación o la eliminación del clúster de administración, primero debe tener un clúster compatible en ejecución en la máquina de arranque. Asegúrese de esto identificando o creando el clúster, como se describe en las siguientes subsecciones.

Usar un clúster existente

Para utilizar un clúster local existente, debe asegurarse de que se cumpla lo siguiente:

  • El clúster nunca se utilizó previamente para arrancar o eliminar un clúster de administración.

  • El clúster se creó con kind v0.11 o una versión posterior.

    • Para comprobarlo, ejecute docker ps y asocie la versión kindest:node que aparece con las versiones indicadas en las notas de la versión de kind.

    • Fondo: Si la máquina de arranque utiliza un kernel de Linux compilado después de la revisión de seguridad de Linux de mayo de 2021 (por ejemplo, Linux 5.11 y 5.12 con Fedora), el clúster de arranque debe crearse con la versión 0.11 de kind o una versión posterior. Las versiones anteriores de kind intentan cambiar un archivo de solo lectura en las versiones recientes de Linux, lo que provoca un error. La revisión de seguridad se está adaptando a versiones anteriores de todos los kernels LTS a partir de la versión 4.9, lo que provoca posibles errores de implementación del clúster de administración a medida que se envían actualizaciones del sistema operativo, incluida la máquina Docker en el sistema operativo Mac y el subsistema Windows para Linux.

Si ambas calificaciones son ciertas para el clúster local actual, puede utilizarlo para crear o eliminar un clúster de administración. De lo contrario, debe reemplazar el clúster de la siguiente manera:

  1. Elimine el clúster.

  2. Descargue e instale una nueva versión de kind, tal como se describe en la documentación de kind.

  3. Cree un clúster kind como se describe en la sección Crear un clúster nuevo a continuación.

Crear un clúster nuevo

Para crear un nuevo clúster de arranque local, realice una de las siguientes acciones, en función de la conectividad de la máquina de arranque:

  • Entorno completamente conectado:

    Cree el clúster:

    kind create cluster
    
  • Entorno con acceso a Internet restringido:

    1. Cree un archivo de configuración del clúster kind kind.yml de la siguiente manera:

      kind: Cluster
      apiVersion: kind.x-k8s.io/v1alpha4
      name: tkg-kind
      nodes:
      - role: control-plane
       # This option mounts the host docker registry folder into
       # the control-plane node, allowing containerd to access them.
       extraMounts:
         - containerPath: CONTAINER-CA-PATH
           hostPath: HOST-CA-PATH
      containerdConfigPatches:
      - |-
       [plugins."io.containerd.grpc.v1.cri".registry.configs."REGISTRY-FQDN".tls]
         ca_file = "/etc/containerd/REGISTRY-FQDN/CA.crt"
      

      Donde:

      • CONTAINER-CA-PATH es la ruta del certificado de CA de Harbor en el contenedor kind, como /etc/containerd/REGISTRY-FQDN
      • HOST-CA-PATH es la ruta de acceso al certificado de CA de Harbor en la máquina virtual de arranque en la que se crea el clúster kind, como /etc/docker/certs.d/REGISTRY-FQDN
      • REGISTRY-FQDN es el nombre del registro de Harbor
      • CA.crt es el certificado de CA del registro de Harbor

      De forma predeterminada, crashd busca un clúster con el nombre tkg-kind, de modo que asignar un nombre al clúster kind tkg-kind facilita la recopilación de registros si el clúster no puede arrancar.

    2. Utilice el archivo de configuración anterior para crear el grupo kind.

      kind create cluster --config kind.yml
      

Implementar un clúster de administración con un clúster de arranque existente

Para implementar un clúster de administración de Tanzu Kubernetes Grid con un clúster de arranque existente:

  1. Siga el procedimiento anterior para Identificar o crear un clúster de arranque local.

  2. Establecer el contexto dekubectl al clúster de arranque local:

    kubectl config use-context my-bootstrap-cluster-admin@my-bootstrap-cluster
    
  3. Implemente el clúster de administración ejecutando el comando tanzu mc create con la opción --use-existing-bootstrap-cluster:

    tanzu mc create --file mc.yaml --use-existing-bootstrap-cluster my-bootstrap-cluster
    

    Consulte Implementar clústeres de administración para obtener más información sobre la ejecución de tanzu mc create.

Eliminar un clúster de administración con un clúster de arranque existente

Para eliminar un clúster de administración de Tanzu Kubernetes Grid con un clúster de arranque existente:

  1. Siga el procedimiento anterior para Identificar o crear un clúster de arranque local.

  2. Establecer el contexto dekubectl al clúster de arranque local:

    kubectl config use-context my-bootstrap-cluster-admin@my-bootstrap-cluster
    
  3. Elimine el clúster de administración ejecutando el comando tanzu mc delete con la opción --use-existing-cleanup-cluster:

    tanzu mc delete --use-existing-cleanup-cluster my-bootstrap-cluster
    

    Consulte Eliminar clústeres de administración para obtener más información sobre la ejecución de tanzu mc delete.

check-circle-line exclamation-circle-line close-line
Scroll to top icon