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.
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
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
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:
~/.kube-tkg/config
~/.kube/config
Para ver los detalles de un clúster de administración:
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
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.24.10+vmware.1 management prod v1.24.10---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
.
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:
Ejecute tanzu login
, utilice la tecla de flecha hacia abajo para resaltar + servidor nuevo y pulse Enter.
tanzu login
? Select a server + new server
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):
Ejecute tanzu login
, utilice la tecla de flecha hacia abajo para resaltar + servidor nuevo y pulse Enter.
tanzu login
? Select a server + new server
Cuando se le solicite, seleccione Endpoint de servidor (Server endpoint) como el tipo de inicio de sesión.
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.
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.
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.
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.
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:
Obtenga el nombre del clúster de administración con tanzu mc get
.
tanzu mc get
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>`
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
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
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.
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.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.
ImportanteNo cambie el contexto ni edite el archivo
.kube-tkg/config
mientras se ejecutan las operaciones de Tanzu Kubernetes Grid.
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.1 con la CLI de Tanzu.
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
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.
Asegúrese de que kubectl
esté conectado al contexto de clúster de administración correcto mostrando el contexto actual.
kubectl config current-context
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
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
Ejecute kubectl get namespaces --show-labels
para ver los nuevos espacios de nombres.
development Active 22m name=development
production Active 22m name=production
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:
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.
Enumere los clústeres que se ejecutan en el espacio de nombres que va a eliminar:
tanzu cluster list -n NAMESPACE
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.
Utilice kubectl
para eliminar el espacio de nombres:
kubectl delete namespace NAMESPACE
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.
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.
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.
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
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:
tanzu cluster delete
para eliminar todos los clústeres en ejecución y, a continuación, vuelva a ejecutar tanzu mc delete
.tanzu mc delete
con la opción --force
.tanzu mc delete my-mgmt-cluster --force
ImportanteNo cambie el contexto ni edite el archivo
.kube-tkg/config
mientras se ejecutan las operaciones de Tanzu Kubernetes Grid.
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.1 con CLI de Tanzu.
Si tiene vSphere 8 con un supervisor, puede utilizar la 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.1 con la CLI de Tanzu.