Administrar los clústeres de administración

En este tema se explica cómo administrar varios clústeres de administración desde la misma máquina de arranque, incluidos los clústeres de administración implementados por Tanzu Kubernetes Grid en vSphere, Azure o Amazon Web Services (AWS) y supervisores vSphere with Tanzu designados como clústeres de administración Tanzu Kubernetes Grid.

Enumerar clústeres de administración y cambiar contexto

Para enumerar los clústeres de administración disponibles y ver en cuál inició sesión actualmente, ejecute tanzu login en la máquina de arranque:

tanzu login
  • Para cambiar el contexto de inicio de sesión actual, utilice las teclas de flecha hacia arriba y hacia abajo para resaltar el nuevo clúster de administración y, a continuación, presione Enter.
  • Para conservar el contexto actual, presione Enter sin cambiar el resaltado.

Por ejemplo, si tiene dos clústeres de administración, my-vsphere-mgmt-cluster y my-aws-mgmt-cluster, actualmente inició sesión en my-vsphere-mgmt-cluster:

$ tanzu login
? Select a server  [Use arrows to move, type to filter]
> my-vsphere-mgmt-cluster  ()
 my-aws-mgmt-cluster      ()
 + new server

Clústeres de administración,kubectl y kubeconfig

Tanzu Kubernetes Grid no cambia automáticamente el contexto de kubectl cuando ejecuta tanzu login para cambiar el contexto de la CLI de Tanzu. Tanzu Kubernetes Grid no establece automáticamente el contexto kubectl en un clúster de carga de trabajo cuando se crea. Para cambiar el contexto de kubectl, utilice el comando kubectl config use-context.

De forma predeterminada, Tanzu Kubernetes Grid guarda la información del contexto del clúster en los siguientes archivos de la máquina de arranque:

  • Contextos del clúster de administración: ~/.kube-tkg/config
  • Contextos de clúster de carga de trabajo: ~/.kube/config

Consulte los detalles del clúster de administración

Para ver los detalles de un clúster de administración:

  1. Ejecute tanzu login para iniciar sesión en el clúster de administración, como se describe en Enumerar clústeres de administración y cambiar contexto.

    tanzu login
    
  2. Ejecute tanzu mc get.

    tanzu mc get
    
    NAME         NAMESPACE   STATUS   CONTROLPLANE  WORKERS  KUBERNETES         ROLES       PLAN  TKR
    mc-test-cli  tkg-system  running  3/3           3/3      v1.25.7+vmware.1  management  prod  v1.25.7---vmware.1-tkg.1
    
    
    Details:
    
    NAME                                                         READY  SEVERITY  REASON  SINCE  MESSAGE
    /mc-test-cli                                                 True                     2d1h
    ├─ClusterInfrastructure - VSphereCluster/mc-test-cli-jjtpf   True                     2d1h
    ├─ControlPlane - KubeadmControlPlane/mc-test-cli-mffw9       True                     2d1h
    │ ├─Machine/mc-test-cli-mffw9-5zcbj                          True                     2d1h
    │ ├─Machine/mc-test-cli-mffw9-fs6zh                          True                     2d1h
    │ └─Machine/mc-test-cli-mffw9-jlwnm                          True                     2d1h
    └─Workers
      ├─MachineDeployment/mc-test-cli-md-0-tnz59                 True                     15h
      │ └─Machine/mc-test-cli-md-0-tnz59-64bdc75d94-gtg54        True                     2d1h
      ├─MachineDeployment/mc-test-cli-md-1-2d26b                 True                     15h
      │ └─Machine/mc-test-cli-md-1-2d26b-776885b84-6hzkj         True                     2d1h
      └─MachineDeployment/mc-test-cli-md-2-fs824                 True                     15h
        └─Machine/mc-test-cli-md-2-fs824-7bfd7b9c7b-c7n95        True                     2d1h
    
    
    Providers:
    
      NAMESPACE                          NAME                            TYPE                    PROVIDERNAME     VERSION  WATCHNAMESPACE
      caip-in-cluster-system             infrastructure-ipam-in-cluster  InfrastructureProvider  ipam-in-cluster  v0.1.0
      capi-kubeadm-bootstrap-system      bootstrap-kubeadm               BootstrapProvider       kubeadm          v1.2.8
      capi-kubeadm-control-plane-system  control-plane-kubeadm           ControlPlaneProvider    kubeadm          v1.2.8
      capi-system                        cluster-api                     CoreProvider            cluster-api      v1.2.8
      capv-system                        infrastructure-vsphere          InfrastructureProvider  vsphere          v1.5.1
    

Para ver más opciones, ejecute tanzu mc get --help. El alias de la CLI de Tanzu mc es abreviado para management-cluster.

Agregar clústeres de administración existentes a la CLI de Tanzu

La CLI de Tanzu permite iniciar sesión en un clúster de administración que otro usuario creó. Para iniciar sesión, puede utilizar los detalles locales de kubeconfig o la opción de endpoint del servidor.

Para iniciar sesión en un clúster de administración existente mediante un kubeconfig local:

  1. Ejecute tanzu login, utilice la tecla de flecha hacia abajo para resaltar + servidor nuevo y pulse Enter.

    tanzu login
    
    ? Select a server + new server
    
  2. Cuando se le solicite, seleccione Local kubeconfig como tipo de inicio de sesión e introduzca la ruta de acceso al archivo kubeconfig local, el contexto y el nombre del servidor. Por ejemplo:

    ✔tanzu login
    ? Select a server + new server
    ? Select login type Local kubeconfig
    ? Enter path to kubeconfig (if any) /Users/exampleuser/examples/kubeconfig
    ? Enter kube context to use new-mgmt-cluster-admin@new-mgmt-cluster
    ? Give the server a name new-mgmt-cluster
      successfully logged in to management cluster using the kubeconfig new-mgmt-cluster
    

Para iniciar sesión en un clúster de administración existente mediante la opción Endpoint de servidor (Server endpoint):

  1. Ejecute tanzu login, utilice la tecla de flecha hacia abajo para resaltar + servidor nuevo y pulse Enter.

    tanzu login
    ? Select a server + new server
    
  2. Cuando se le solicite, seleccione Endpoint de servidor (Server endpoint) como el tipo de inicio de sesión.

  3. En el campo Introduzca endpoint de servidor (Enter Server endpoint), introduzca la dirección IP del servidor de API de Kubernetes del clúster de administración.
  4. En el campo Escriba un nombre en el servidor (Give the server a name), introduzca un nombre para el servidor y pulse Enter.
  5. Si la administración de identidades está habilitada en el clúster de administración, en la página de inicio de sesión de Okta que se abre en el navegador predeterminado, introduzca sus credenciales de Okta. Ha iniciado sesión en el clúster de administración.
  6. Compruebe que se muestre el siguiente resultado en la CLI de Tanzu:
successfully logged in to management cluster by using the kubeconfig <server name>

Como alternativa, puede ejecutar tanzu login con las opciones --server, --kubeconfig y --context y omitir las indicaciones interactivas.

Eliminar clústeres de administración de la configuración de la CLI de Tanzu

Es posible que agregue un clúster de administración que otra persona creó a la instancia de la CLI de Tanzu, que en algún momento ya no necesite. De forma similar, si implementó un clúster de administración y dicho clúster se eliminó de la plataforma de destino por medios distintos a la ejecución de tanzu mc delete, ese clúster de administración seguirá apareciendo en la lista de clústeres de administración que la CLI obtiene cuando ejecuta tanzu login. En estos casos, puede eliminar el clúster de administración de la lista de clústeres de administración que realiza la CLI de Tanzu.

  1. Ejecute tanzu config server list, para ver la lista de clústeres de administración que rastrea la CLI de Tanzu.

    tanzu config server list
    

    Debería ver todos los clústeres de administración que implementó o agregó a la CLI de Tanzu, la ubicación de sus archivos kubeconfig y sus contextos.

  2. Ejecute el comando tanzu config server delete para eliminar un clúster de administración.

    tanzu config server delete my-vsphere-mc
    

Al ejecutar el comando tanzu config server delete, se eliminan los detalles del clúster de los archivos ~/.config/tanzu/config.yaml y ~/.kube-tkg/config.yaml. No elimina el clúster de administración en sí, si aún existe. Para eliminar un clúster de administración en lugar de simplemente quitarlo de la configuración de la CLI de Tanzu, consulte Eliminar clústeres de administración.

Actualizar el certificado del clúster de administración en la configuración de la CLI de Tanzu

En la máquina de arranque, la CLI de Tanzu utiliza un certificado que se almacena localmente para autenticarse en el clúster de administración. Si el certificado caduca, verá mensajes de error con errores al ejecutar los comandos de la CLI de tanzu.

Por lo tanto, cuando el certificado esté a punto de caducar, siga estos pasos para actualizar el certificado:

  1. Obtenga el nombre del clúster de administración con tanzu mc get.

    tanzu mc get
    
  2. Obtenga los datos de configuración del clúster:

    kubectl -n tkg-system get secrets CLUSTER-NAME-kubeconfig -o 'go-template={{ index .data "value"}}' | base64 -d > mc_kubeconfig.yaml
    

    Donde CLUSTER-NAME es el nombre del clúster de administración. Por ejemplo:

    apiVersion: v1
    clusters:
    - cluster:
      certificate-authority-data: LS0tLS1CRUdJTiBD<redacted>
      server: https://192.168.100.90:6443
      name: tkg-mgmt
    contexts:
    - context:
      cluster: tkg-mgmt
      user: tkg-mgmt-admin
    name: tkg-mgmt-admin@tkg-mgmt
    current-context: tkg-mgmt-admin@tkg-mgmt
    kind: Config
    preferences: {}
    users:
    - name: tkg-mgmt-admin
      user:
      client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZ<redacted>
      client-key-data: LS0tLS1CRUdJTiBSU<redacted>`
    
  3. Elimine la entrada de clúster de administración existente de la lista de clústeres de administración que la CLI de Tanzu está siguiendo actualmente:

    tanzu config server delete CLUSTER-NAME
    
  4. Utilice el comando tanzu login para agregar una nueva entrada de clúster de administración con el kubeconfig actualizado:

    tanzu login --kubeconfig mc_kubeconfig.yaml --name CLUSTER-NAME --context CLUSTER-NAME-admin@CLUSTER-NAME
    

Ampliar clústeres de administración

Después de implementar un clúster de administración, puede aumentar o reducir verticalmente el número de máquinas virtuales de nodo que contiene o reducirlo. Para escalar un clúster de administración, utilice el comando tanzu cluster scale con una o ambas de las siguientes opciones:

  • --controlplane-machine-count cambia el número de nodos del plano de control del clúster de administración.
  • --worker-machine-count cambia el número de nodos de trabajo del clúster de administración.

Debido a que los clústeres de administración se ejecutan en el espacio de nombres tkg-system en lugar del espacio de nombres default, también debe especificar la opción --namespace al escalar un clúster de administración.

  1. Ejecute tanzu login antes de ejecutar tanzu cluster scale para asegurarse de que el clúster de administración que se va a escalar sea el contexto actual de la CLI de Tanzu.
  2. Para escalar un clúster de administración de producción que se implementó originalmente con 3 nodos de plano de control y 5 nodos de trabajo a 5 y 10 nodos, respectivamente, ejecute el siguiente comando:

    tanzu cluster scale MANAGEMENT-CLUSTER-NAME --controlplane-machine-count 5 --worker-machine-count 10 --namespace tkg-system
    

Si inicialmente implementó un clúster de administración de desarrollo con un nodo de plano de control, y lo escala hasta 3 nodos de plano de control, Tanzu Kubernetes Grid habilita automáticamente HA apilada en el plano de control.

Importante

No cambie el contexto ni edite el archivo .kube-tkg/config mientras se ejecutan las operaciones de Tanzu Kubernetes Grid.

Actualizar credenciales del clúster de administración (vSphere)

Para actualizar las credenciales de vSphere que utiliza un clúster de administración y, de forma opcional, todos los clústeres de carga de trabajo que administra, consulte Actualizar credenciales de clúster de carga de trabajo y administración en Crear y administrar clústeres de carga de trabajo de TKG 2.2 con CLI de Tanzu.

Administrar la participación en el CEIP

Cuando se implementa un clúster de administración mediante la interfaz del instalador de o la CLI, la participación en el programa de mejora de la experiencia de cliente (Customer Experience Improvement Program, CEIP) de VMware está habilitada de forma predeterminada, a menos que se especifique la opción para no participar. Si sigue participando en el programa, el clúster de administración envía información sobre cómo se utiliza Tanzu Kubernetes Grid a VMware en intervalos regulares, para que podamos realizar mejoras en las versiones futuras.

Para obtener información sobre el CEIP, consulte Administrar participación en el CEIP.

Si decidió no participar en el CEIP cuando implementó un clúster de administración y desea participar, o si decidió participar y desea hacerlo, consulte Participar en VMware de CEIP en Participación en el CEIP para cambiar la configuración de participación en el CEIP después de la implementación

Crear espacios de nombres en un clúster de administración

Para ayudarle a organizar y administrar los proyectos de desarrollo, tiene la opción de dividir el clúster de administración en espacios de nombres de Kubernetes. A continuación, puede utilizar la CLI de Tanzu para implementar clústeres de carga de trabajo en espacios de nombres específicos del clúster de administración. Por ejemplo, es posible que desee crear diferentes tipos de clústeres en espacios de nombres dedicados. Si no crea espacios de nombres adicionales, Tanzu Kubernetes Grid crea todos los clústeres de carga de trabajo en el espacio de nombres default. Para obtener información sobre los espacios de nombres de Kubernetes, consulte la documentación de Kubernetes.

  1. Asegúrese de que kubectl esté conectado al contexto de clúster de administración correcto mostrando el contexto actual.

    kubectl config current-context
    
  2. Enumere los espacios de nombres que están presentes actualmente en el clúster de administración.

    kubectl get namespaces
    

    Verá que el clúster de administración ya incluye varios espacios de nombres para los diferentes servicios que proporciona:

    capi-kubeadm-bootstrap-system       Active   4m7s
    capi-kubeadm-control-plane-system   Active   4m5s
    capi-system                         Active   4m11s
    capi-webhook-system                 Active   4m13s
    capv-system                         Active   3m59s
    cert-manager                        Active   6m56s
    default                             Active   7m11s
    kube-node-lease                     Active   7m12s
    kube-public                         Active   7m12s
    kube-system                         Active   7m12s
    tkg-system                          Active   3m57s
    
  3. Utilice kubectl create -f para crear nuevos espacios de nombres, por ejemplo, para desarrollo y producción.

    Estos ejemplos utilizan los espacios de nombres production y development de la documentación de Kubernetes.

    kubectl create -f https://k8s.io/examples/admin/namespace-dev.json
    
    kubectl create -f https://k8s.io/examples/admin/namespace-prod.json
    
  4. Ejecute kubectl get namespaces --show-labels para ver los nuevos espacios de nombres.

    development                         Active   22m   name=development
    production                          Active   22m   name=production
    

Eliminar un espacio de nombres en un clúster de administración

Antes de eliminar un espacio de nombres para los clústeres de carga de trabajo en un clúster de administración, debe eliminar los propios clústeres de carga de trabajo. No se pueden eliminar los clústeres de carga de trabajo mediante la eliminación de su espacio de nombres del clúster de administración.

Para eliminar un espacio de nombres para clústeres de carga de trabajo en un clúster de administración:

  1. Establezca el contexto de kubectl en su clúster de administración:

    kubectl config use-context MY-MGMT-CLUSTER@MY-MGMT-CLUSTER
    

    Donde MY-MGMT-CLUSTER es el nombre del clúster de administración.

  2. Enumere los clústeres que se ejecutan en el espacio de nombres que va a eliminar:

    tanzu cluster list -n NAMESPACE
    
  3. Siga el procedimiento Eliminar clústeres de carga de trabajo para eliminar volúmenes y servicios, migrar cargas de trabajo si es necesario y eliminar los clústeres del espacio de nombres.

  4. Utilice kubectl para eliminar el espacio de nombres:

    kubectl delete namespace NAMESPACE
    

Eliminar clústeres de administración

Para eliminar un clúster de administración, ejecute el comando tanzu mc delete.

Al ejecutar tanzu mc delete, Tanzu Kubernetes Grid crea un clúster de limpieza temporal kind en la máquina de arranque para administrar el proceso de eliminación. El clúster kind se elimina cuando se completa el proceso de eliminación.

  1. AWS: Asegúrese de que las credenciales de AWS utilizadas por TKG sigan siendo válidas. Pueden ser perfiles de credenciales o variables de entorno estáticas y locales, como se describe en Configurar credenciales de cuenta de AWS.

  2. Para ver todos los clústeres de administración, ejecute tanzu login como se describe en Escribir clústeres de administración y cambiar de contexto.

  3. Si ya no necesita clústeres de administración, ejecute tanzu mc delete.

    Debe haber iniciado sesión en el clúster de administración que desea eliminar.

    tanzu mc delete my-mgmt-cluster
    

    Para omitir el paso de verificación yes/no al ejecutar la eliminación del clúster de tanzu mc delete, especifique la opción --yes.

    tanzu mc delete my-mgmt-cluster --yes
    
  4. Si hay clústeres de carga de trabajo en ejecución en el clúster de administración, no se realiza la operación de eliminación.

    En este caso, puede eliminar el clúster de administración de dos formas:

    • Ejecute tanzu cluster delete para eliminar todos los clústeres en ejecución y, a continuación, vuelva a ejecutar tanzu mc delete.
    • Ejecute tanzu mc delete con la opción --force.
    tanzu mc delete my-mgmt-cluster --force
    
Importante

No cambie el contexto ni edite el archivo .kube-tkg/config mientras se ejecutan las operaciones de Tanzu Kubernetes Grid.

Qué hacer a continuación

Puede utilizar Tanzu Kubernetes Grid para comenzar a implementar clústeres de carga de trabajo en diferentes instancias de Tanzu Kubernetes Grid. Para obtener información, consulte Crear clústeres de carga de trabajo en Crear y administrar clústeres de carga de trabajo de TKG 2.2 con CLI de Tanzu.

Si tiene vSphere 8 con un supervisor, puede utilizar CLI de Tanzu para implementar clústeres de TKG 2.x. Para obtener más información, consulte Crear y administrar clústeres de TKG 2.2 con CLI de Tanzu.

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