Conectarse a clústeres de carga de trabajo y examinarlos

Después de implementar los clústeres de carga de trabajo, utilice los comandos tanzu cluster list y tanzu cluster kubeconfig get para obtener la lista de clústeres en ejecución y sus credenciales. A continuación, puede conectarse a los clústeres mediante kubectl y empezar a trabajar con los clústeres.

Enumerar clústeres de carga de trabajo implementados

Para enumerar los clústeres de carga de trabajo y el clúster de administración que los administra, utilice el comando tanzu cluster list.

  • Para enumerar todos los clústeres de carga de trabajo que se ejecutan en el espacio de nombres default del clúster de administración, ejecute el comando tanzu cluster list:

    tanzu cluster list
    

    El resultado enumera todos los clústeres de carga de trabajo en el espacio de nombres predeterminado, incluidos los nombres de los clústeres, su estado actual, los números de nodos de trabajo y plano de control reales y solicitados, y la versión de Kubernetes en la que se ejecuta el clúster.

    Los clústeres pueden tener los siguientes estados:

    • creating: Se está creando el plano de control.
    • createStalled: El proceso de creación del plano de control se detuvo.
    • deleting: El clúster se está eliminando.
    • failed: Se produjo un error en la creación del plano de control.
    • running: El plano de control se ha inicializado por completo.
    • updating: El clúster está en proceso de implementar una actualización o está escalando nodos.
    • updateFailed: Se produjo un error en el proceso de actualización del clúster.
    • updateStalled: El proceso de actualización del clúster se detuvo.
    • Sin estado: La creación del clúster aún no se ha iniciado.

    Si un clúster se encuentra en un estado detenido, compruebe que haya conectividad de red con el registro externo, asegúrese de que haya suficientes recursos en la plataforma de destino para que se complete la operación y de que DHCP emita las direcciones IPv4 correctamente.

  • Para enumerar los clústeres de todos los espacios de nombres a los que tiene acceso, especifique la opción -A o --all-namespaces.

    tanzu cluster list --all-namespaces
    
  • Para enumerar solo los clústeres que se ejecutan en un espacio de nombres determinado, especifique la opción --namespace.

    tanzu cluster list --namespace=NAMESPACE
    

    Donde NAMESPACE es el espacio de nombres en el que se ejecutan los clústeres.

    En vSphere with Tanzu, los ingenieros de desarrollo y operaciones deben incluir un valor --namespace cuando ejecuten tanzu cluster list, para especificar un espacio de nombres al que puedan acceder. Consulte Flujos de trabajo y funciones de usuario de vSphere with Tanzu en la documentación de VMware vSphere.

  • Si inició sesión en un clúster de administración independiente, especifique las opciones --include-management-cluster -A para incluir el clúster independiente actual en el resultado de tanzu cluster list.

    tanzu cluster list --include-management-cluster -A
    

    Puede ver que el clúster de administración se está ejecutando en el espacio de nombres tkg-system y que tiene la función management.

    NAME                   NAMESPACE   STATUS         CONTROLPLANE  WORKERS  KUBERNETES        ROLES       PLAN  TKR
    workload-cluster-1     default     running        1/1           1/1      v1.27.5+vmware.1 <none>      dev   v1.27.5---vmware.2-tkg.1
    workload-cluster-2     default     running        1/1           1/1      v1.27.5+vmware.1 <none>      dev   v1.27.5---vmware.2-tkg.1
    mgmt-cluster           tkg-system  running        1/1           1/1      v1.27.5+vmware.1 management  dev   v1.27.5---vmware.2-tkg.1
    
  • Para ver todos los clústeres de administración y cambiar el contexto de la CLI de Tanzu a otro clúster de administración, ejecute el comando tanzu context use. Consulte Enumerar clústeres de administración y cambiar contexto para obtener más información.

Exportar los detalles del clúster de carga de trabajo a un archivo

Puede exportar los detalles de los clústeres a los que tiene acceso en formato JSON o YAML. Puede guardar JSON o YAML en un archivo para que pueda utilizarlo en scripts para ejecutar operaciones masivas en clústeres.

Exportar como archivo JSON

Para exportar los detalles del clúster como JSON, ejecute tanzu cluster list con la opción --output especificando json:

tanzu cluster list --output json > clusters.json

El resultado muestra la información del clúster como JSON:

[
  {
    "name": "workload-cluster-1",
    "namespace": "default",
    "status": "running",
    "plan": "dev",
    "controlplane": "1/1",
    "workers": "1/1",
    "kubernetes": "v1.27.5+vmware.1",
    "roles": [],
    "tkr": "v1.27.5---vmware.2-tkg.1",
    "labels": {
      "cluster.x-k8s.io/cluster-name": "workload-cluster-1",
      "run.tanzu.vmware.com/tkr": "v1.27.5---vmware.2-tkg.1",
      "tkg.tanzu.vmware.com/cluster-name": "workload-cluster-1",
      "topology.cluster.x-k8s.io/owned": ""
    }
  },
  {
    "name": "workload-cluster-2",
    "namespace": "default",
    "status": "running",
    "plan": "dev",
    "controlplane": "1/1",
    "workers": "1/1",
    "kubernetes": "v1.27.5+vmware.1",
    "roles": [],
    "tkr": "v1.27.5---vmware.2-tkg.1",
    "labels": {
      "tanzuKubernetesRelease": "v1.27.5---vmware.2-tkg.1",
      "tkg.tanzu.vmware.com/cluster-name": "workload-cluster-2"
    }
  }
]

Exportar como archivo YAML

Para exportar los detalles del clúster como YAML, ejecute tanzu cluster list con la opción --output especificando yaml:

tanzu cluster list --output yaml > clusters.yaml

El resultado muestra la información del clúster como YAML:

- name: workload-cluster-1
  namespace: default
  status: running
  plan: dev
  controlplane: 1/1
  workers: 1/1
  kubernetes: v1.27.5+vmware.1
  roles: []
  tkr: v1.27.5---vmware.2-tkg.1
  labels:
    cluster.x-k8s.io/cluster-name: workload-cluster-1
    run.tanzu.vmware.com/tkr: v1.27.5---vmware.2-tkg.1
    tkg.tanzu.vmware.com/cluster-name: workload-cluster-1
    topology.cluster.x-k8s.io/owned: ""
- name: workload-cluster-1
  namespace: default
  status: running
  plan: dev
  controlplane: 1/1
  workers: 1/1
  kubernetes: v1.27.5+vmware.1
  roles: []
  tkr: v1.27.5---vmware.2-tkg.1
  labels:
    tanzuKubernetesRelease: v1.27.5---vmware.2-tkg.1
    tkg.tanzu.vmware.com/cluster-name: workload-cluster-1

Exportar detalles para varios clústeres

Para obtener información sobre cómo guardar los detalles de varios clústeres de administración, incluidos el contexto y los archivos kubeconfig, consulte Administrar sus clústeres de administración.

Recuperar el clúster de carga de trabajo kubeconfig

Después de crear un clúster de carga de trabajo, puede obtener su contexto y configuración kubeconfig ejecutando el comando tanzu cluster kubeconfig get, especificando el nombre del clúster. De forma predeterminada, el comando agrega la configuración kubeconfig del clúster al archivo kubeconfig actual.

tanzu cluster kubeconfig get my-cluster
Importante

Si la administración de identidades no está configurada en el clúster, debe especificar la opción --admin.

Para exportar kubeconfig a un archivo, especifique la opción --export-file.

tanzu cluster kubeconfig get my-cluster --export-file my-cluster-kubeconfig
Importante

Si elimina el archivo kubeconfig, no podrá acceder a todos los clústeres que implementó desde la CLI de Tanzu.

Si la administración de identidades y el control de acceso basado en funciones (RBAC) están configurados en el clúster, los usuarios con credenciales kubeconfig estándar, diferentes a las de administrador, tendrán que autenticarse con un proveedor de identidad externo para iniciar sesión en el clúster.

Administrador kubeconfig

Para generar un archivo admin kubeconfig independiente con credenciales integradas, agregue la opción --admin. Este archivo kubeconfig concede a sus usuarios acceso completo a los recursos del clúster y les permite acceder al clúster sin iniciar sesión en un proveedor de identidades.

tanzu cluster kubeconfig get my-cluster --admin

Debe ver el siguiente resultado:

You can now access the cluster by running 'kubectl config use-context my-cluster-admin@my-cluster'

kubeconfig estándar

Si la administración de identidades está configurada en el clúster de destino, puede generar un kubeconfig que requiera que el usuario se autentique con el proveedor de identidad externo y le conceda acceso a los recursos del clúster de acuerdo con sus funciones asignadas. En este caso, ejecute tanzu cluster kubeconfig get sin la opción --admin.

tanzu cluster kubeconfig get CLUSTER-NAME --namespace=NAMESPACE

Donde CLUSTER-NAME y NAMESPACE es el clúster y el espacio de nombres de destino.

Debe ver el siguiente resultado:

You can now access the cluster by running 'kubectl config use-context ...'

Para guardar la información de configuración en un archivo kubeconfig independiente, por ejemplo, para distribuirla a los desarrolladores, especifique la opción --export-file. Este archivo kubeconfig requiere que el usuario se autentique con un proveedor de identidad externo y conceda acceso a los recursos del clúster en función de sus funciones asignadas.

tanzu cluster kubeconfig get CLUSTER-NAME --namespace=NAMESPACE --export-file PATH-TO-FILE
Importante

De forma predeterminada, a menos que especifique la opción --export-file para guardar el kubeconfig de un clúster en un archivo específico, las credenciales de todos los clústeres que implemente desde la CLI de Tanzu se agregarán a un archivo kubeconfig compartido. Si elimina el archivo kubeconfig compartido, no se podrán utilizar todos los clústeres.

Examinar el clúster implementado

Después de agregar las credenciales a kubeconfig, puede conectarse al clúster mediante kubectl.

  1. Obtener contextos disponibles:

    kubectl config get-contexts
    
  2. Apunte kubectl al clúster. Por ejemplo:

    kubectl config use-context my-cluster-admin@my-cluster
    
  3. Utilice kubectl para ver el estado de los nodos del clúster:

    kubectl get nodes
    

    Por ejemplo, si implementó el my-dev-cluster con el plan dev, verá el siguiente resultado.

    NAME                                       STATUS   ROLES           AGE    VERSION
    my-dev-cluster-control-plane-9qx88-p88cp   Ready    control-plane   2d2h   v1.27.5+vmware.1
    my-dev-cluster-md-0-infra-n62lq-hq4k9      Ready    <none>          2d2h   v1.27.5+vmware.1
    

    Debido a que las redes con Antrea están habilitadas de forma predeterminada en los clústeres de carga de trabajo, todos los clústeres se encuentran en el estado Ready sin necesidad de ninguna configuración adicional.

  4. Utilice kubectl para ver el estado de los pods que se ejecutan en el clúster:

    kubectl get pods -A
    

    El siguiente ejemplo muestra los pods que se ejecutan en el espacio de nombres kube-system en el clúster my-dev-cluster en Azure.

    NAMESPACE              NAME                                                             READY   STATUS    RESTARTS        AGE
    kube-system            antrea-agent-ck7lv                                               2/2     Running   4 (3h7m ago)    2d2h
    kube-system            antrea-agent-fpq79                                               2/2     Running   4 (3h7m ago)    2d2h
    kube-system            antrea-controller-66d7978fd7-nkzgb                               1/1     Running   4 (3h7m ago)    2d2h
    kube-system            coredns-77d74f6759-b68ht                                         1/1     Running   2 (3h7m ago)    2d2h
    kube-system            coredns-77d74f6759-qfp8b                                         1/1     Running   2 (3h7m ago)    2d2h
    kube-system            csi-azuredisk-controller-5957dc576c-42tsd                        6/6     Running   12 (3h7m ago)   2d2h
    kube-system            csi-azuredisk-node-5hmkw                                         3/3     Running   6 (3h7m ago)    2d2h
    kube-system            csi-azuredisk-node-k7fr7                                         3/3     Running   6 (3h7m ago)    2d2h
    kube-system            csi-azurefile-controller-5d48b98756-rmrxp                        5/5     Running   10 (3h7m ago)   2d2h
    kube-system            csi-azurefile-node-brnf2                                         3/3     Running   6 (3h7m ago)    2d2h
    kube-system            csi-azurefile-node-vqghv                                         3/3     Running   6 (3h7m ago)    2d2h
    kube-system            csi-snapshot-controller-7ffbf75bd9-5m64r                         1/1     Running   2 (3h7m ago)    2d2h
    kube-system            etcd-my-dev-cluster-control-plane-9qx88-p88cp                    1/1     Running   2 (3h7m ago)    2d2h
    kube-system            kube-apiserver-my-dev-cluster-control-plane-9qx88-p88cp          1/1     Running   2 (3h7m ago)    2d2h
    kube-system            kube-controller-manager-my-dev-cluster-control-plane-9qx88-p88cp 1/1     Running   2 (3h7m ago)    2d2h
    kube-system            kube-proxy-hqhfx                                                 1/1     Running   2 (3h7m ago)    2d2h
    kube-system            kube-proxy-s6wwf                                                 1/1     Running   2 (3h7m ago)    2d2h
    kube-system            kube-scheduler-my-dev-cluster-control-plane-9qx88-p88cp          1/1     Running   2 (3h7m ago)    2d2h
    kube-system            metrics-server-545546cdfd-qhbxc                                  1/1     Running   2 (3h7m ago)    2d2h
    secretgen-controller   secretgen-controller-7b7cbc6d9d-p6qww                            1/1     Running   2 (3h7m ago)    2d2h
    tkg-system             kapp-controller-868f9469c5-j58pn                                 2/2     Running   5 (3h7m ago)    2d2h
    tkg-system             tanzu-capabilities-controller-manager-b46dcfc7f-7dzd9            1/1     Running   4 (3h7m ago)    2d2h
    

Acceder a un clúster de carga de trabajo como usuario estándar (clúster de administración independiente)

En esta sección se describe cómo un usuario estándar no administrador puede iniciar sesión en un clúster de carga de trabajo implementado por un clúster de administración independiente. Este flujo de trabajo difiere de la forma en que un administrador de clústeres que creó el clúster de administración del clúster puede acceder al clúster de carga de trabajo.

Requisitos previos

Antes de realizar esta tarea, asegúrese de lo siguiente:

  • Tiene una aplicación de Docker que se está ejecutando en el sistema. Si el sistema ejecuta Microsoft Windows, establezca el modo de Docker en Linux y configure Windows Subsystem para Linux.
    • En una máquina Linux, use apt en lugar de snap para instalar Docker desde una CLI.
  • Ha obtenido del administrador del clúster:

Acceder al clúster de carga de trabajo

  1. En la CLI de Tanzu, ejecute el siguiente comando:

    tanzu context create --endpoint https://MANAGEMENT-CLUSTER-CONTROL-PLANE-ENDPOINT:PORT --name SERVER-NAME
    

    Donde:

    • De forma predeterminada, PORT es 6443. Si el administrador del clúster estableció CLUSTER_API_SERVER_PORT o VSPHERE_CONTROL_PLANE_ENDPOINT_PORT al implementar el clúster, utilice el número de puerto definido en la variable.
    • SERVER-NAME es el nombre de su servidor de clúster de administración.

    Si la administración de identidades está configurada en el clúster de administración, se abre la pantalla de inicio de sesión del proveedor de administración de identidades (LDAP u OIDC) en el navegador predeterminado.

    LDAPS:

    Página de inicio de sesión de LDAPS

    OIDC:

    Página de inicio de sesión de OIDC

  2. Inicie sesión en el proveedor de administración de identidades.

  3. Ejecute el siguiente comando para cambiar al clúster de carga de trabajo:

    kubectl config use-context CONTEXT --kubeconfig="MY-KUBECONFIG"
    

    Donde CONTEXT y MY-KUBECONFIG son el contexto del clúster y el archivo kubeconfig obtenido del administrador del clúster.

En los inicios de sesión posteriores a la CLI de Tanzu, verá una opción para elegir el entorno de Tanzu Kubernetes Grid de una lista que aparece después de introducir tanzu context use.

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