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.
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.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.26.8+vmware.1 <none> dev v1.26.8---vmware.2-tkg.1
workload-cluster-2 default running 1/1 1/1 v1.26.8+vmware.1 <none> dev v1.26.8---vmware.2-tkg.1
mgmt-cluster tkg-system running 1/1 1/1 v1.26.8+vmware.1 management dev v1.26.8---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.
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.
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.26.8+vmware.1",
"roles": [],
"tkr": "v1.26.8---vmware.2-tkg.1",
"labels": {
"cluster.x-k8s.io/cluster-name": "workload-cluster-1",
"run.tanzu.vmware.com/tkr": "v1.26.8---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.26.8+vmware.1",
"roles": [],
"tkr": "v1.26.8---vmware.2-tkg.1",
"labels": {
"tanzuKubernetesRelease": "v1.26.8---vmware.2-tkg.1",
"tkg.tanzu.vmware.com/cluster-name": "workload-cluster-2"
}
}
]
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.26.8+vmware.1
roles: []
tkr: v1.26.8---vmware.2-tkg.1
labels:
cluster.x-k8s.io/cluster-name: workload-cluster-1
run.tanzu.vmware.com/tkr: v1.26.8---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.26.8+vmware.1
roles: []
tkr: v1.26.8---vmware.2-tkg.1
labels:
tanzuKubernetesRelease: v1.26.8---vmware.2-tkg.1
tkg.tanzu.vmware.com/cluster-name: workload-cluster-1
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.
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
ImportanteSi 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
ImportanteSi 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.
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ándarSi 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
ImportanteDe forma predeterminada, a menos que especifique la opción
--export-file
para guardar elkubeconfig
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 archivokubeconfig
compartido. Si elimina el archivokubeconfig
compartido, no se podrán utilizar todos los clústeres.
Después de agregar las credenciales a kubeconfig
, puede conectarse al clúster mediante kubectl
.
Obtener contextos disponibles:
kubectl config get-contexts
Apunte kubectl
al clúster. Por ejemplo:
kubectl config use-context my-cluster-admin@my-cluster
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.26.8+vmware.1
my-dev-cluster-md-0-infra-n62lq-hq4k9 Ready <none> 2d2h v1.26.8+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.
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
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.
Antes de realizar esta tarea, asegúrese de lo siguiente:
apt
en lugar de snap
para instalar Docker desde una CLI.kubeconfig
para el clúster de carga de trabajo, como se explica en Recuperar clúster de carga de trabajo kubeconfig
En la CLI de Tanzu, ejecute el siguiente comando:
tanzu context create --endpoint https://MANAGEMENT-CLUSTER-CONTROL-PLANE-ENDPOINT:PORT --name SERVER-NAME
Donde:
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:
OIDC:
Inicie sesión en el proveedor de administración de identidades.
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
.