Consulte estas instrucciones para instalar y configurar el paquete del escalador automático de clústeres mediante la CLI de Tanzu.
Requisitos
- La versión mínima de vSphere es vSphere 8 U3, incluidos los hosts ESXi y vCenter
- La versión mínima de TKr es TKr 1.27.x para vSphere 8.
- La versión secundaria de TKr y la versión secundaria del paquete del escalador automático de clústeres deben coincidir.
Configurar espacio de nombres de vSphere
Complete las siguientes tareas de requisitos previos para el aprovisionamiento del clúster de TKG.
- Instale o actualice el entorno a vSphere 8 U3 y TKr 1.27.x para vSphere 8.
- Cree o actualice una biblioteca de contenido con las versiones de Tanzu Kubernetes más recientes. Consulte Administrar las versiones de Kubernetes para clústeres de Servicio TKG.
- Cree y configure un espacio de nombres de vSphere para alojar el clúster de TKG. Consulte Configurar espacios de nombres de vSphere para alojar clústeres de Servicio TKG.
- Instale Herramientas de la CLI de Kubernetes para vSphere.
El siguiente ejemplo se puede utilizar para instalar las herramientas desde la línea de comandos. Para obtener más instrucciones, consulte Instalar el Herramientas de la CLI de Kubernetes para vSphere.
wget https://SUPERVISOR-IP-or-FQDN/wcp/plugin/linux-amd64/vsphere-plugin.zip unzip vsphere-plugin.zip chmod +x bin/kubectl* mv bin/kubectl* /usr/bin/kubectl vsphere --help rm ~/.kube/config kubectl vsphere login --insecure-skip-tls-verify --server SUPERVISOR-IP-or-FQDN --tanzu-kubernetes-cluster-namespace VSPHERE-NAMESPACE --vsphere-username VSPHERE-USER kubectl config use-context VSPHERE-NAMESPACE
- Ejecute
kubectl
ykubectl vsphere
para comprobar la instalación.
Crear un clúster de TKG con anotaciones del escalador automático
Siga las instrucciones para crear un clúster de TKG. Para obtener más instrucciones, consulte Flujo de trabajo para aprovisionar clústeres de TKG mediante Kubectl.
- Autentíquese con Supervisor mediante kubectl.
kubectl vsphere login --server=SUPERVISOR-CONTROL-PLANE-IP-ADDRESS-or-FQDN --vsphere-username USERNAME
- Cambie el contexto al espacio de nombres de vSphere de destino que alojará el clúster.
kubectl config use-context tkgs-cluster-namespace
- Enumere las clases de máquina virtual que están disponibles en espacio de nombres de vSphere.
Solo puede utilizar las clases de máquinas virtuales que están enlazadas al espacio de nombres de vSphere de destino. Consulte Uso de clases de máquinas virtuales con clústeres de Servicio TKG.
- Mencione las clases de almacenamiento de volumen persistente disponibles.
kubectl describe namespace VSPHERE-NAMESPACE-NAME
El comando devuelve detalles sobre el espacio de nombres de vSphere, incluida la clase de almacenamiento. El comando
kubectl describe storageclasses
también devuelve las clases de almacenamiento disponibles, pero requiere permisos de administrador de vSphere. - Lista de versiones de Tanzu Kubernetes disponibles:
kubectl get tkr
Este comando devuelve los TKr disponibles en este espacio de nombres de vSphere y su compatibilidad. Consulte Administrar las versiones de Kubernetes para clústeres de Servicio TKG.
- Utilice la información que recopiló para crear un archivo YAML de especificación de clúster de TKG con la configuración del escalador automático de clústeres requerida.
- Utilice las anotaciones
*-min-size
y*-max-size
para nodePools de trabajo. En este ejemplo, 3 es el mínimo y 5 es el número máximo de nodos de trabajo que se pueden escalar. De forma predeterminada, el clúster se creará con 3 nodos de trabajo. - Utilice la versión secundaria coincidente para el paquete de TKr y el escalador automático.
- Los valores de
metadata.name
ymetadata.namespace
del clúster utilizados son coherentes con los valores predeterminados del paquete del escalador automático. Si cambia estos valores en la especificación del clúster, deberá modificarlos enautoscaler-data-values
(consulte a continuación).
#cc-autoscaler.yaml apiVersion: cluster.x-k8s.io/v1beta1 kind: Cluster metadata: name: tkc namespace: cluster spec: clusterNetwork: pods: cidrBlocks: - 192.0.2.0/16 serviceDomain: cluster.local services: cidrBlocks: - 198.51.100.0/12 topology: class: tanzukubernetescluster controlPlane: metadata: {} replicas: 3 variables: - name: storageClasses value: - wcpglobal-storage-profile - name: vmClass value: guaranteed-medium - name: storageClass value: wcpglobal-storage-profile #minor versions must match version: v1.27.11---vmware.1-fips.1-tkg.2 workers: machineDeployments: - class: node-pool metadata: annotations: cluster.x-k8s.io/cluster-api-autoscaler-node-group-min-size: "3" cluster.x-k8s.io/cluster-api-autoscaler-node-group-max-size: "5" name: np-1
- Utilice las anotaciones
- Aplique la especificación del clúster.
kubectl apply -f cc-autoscaler.yaml
- Compruebe la creación del clúster.
kubectl get cluster,vm
- Compruebe la versión del nodo del clúster.
kubectl get node
Crear el repositorio de paquetes en el clúster de TKG
- Instale la CLI de Tanzu.
Consulte Instalar la instancia de CLI de Tanzu para usarla con clústeres de Servicio TKG.
- Inicie sesión en el clúster.
rm ~/.kube/config kubectl vsphere login --insecure-skip-tls-verify --server 192.168.0.2 --tanzu-kubernetes-cluster-namespace autoscaler --vsphere-username [email protected] --tanzu-kubernetes-cluster-name cckubectl config use-context cc
- Cree el repositorio de paquetes.
#Standard package repository URL might change depending on the required cluster autoscaler version tanzu package repository add standard-repo --url projects.registry.vmware.com/tkg/packages/standard/repo:v2024.4.12 -n tkg-system tanzu package available list -n tkg-system tanzu package available get cluster-autoscaler.tanzu.vmware.com -n tkg-system
Instalar el paquete del escalador automático
kube-system
.
- Genere el
values.yaml
predeterminado mediante el comando de la CLI de Tanzu.tanzu package available get cluster-autoscaler.tanzu.vmware.com/1.27.2+vmware.1-tkg.3 -n tkg-system --default-values-file-output values.yaml
- Actualice el
values.yaml
para la instalación del paquete.arguments: ignoreDaemonsetsUtilization: true maxNodeProvisionTime: 15m maxNodesTotal: 0 metricsPort: 8085 scaleDownDelayAfterAdd: 10m scaleDownDelayAfterDelete: 10s scaleDownDelayAfterFailure: 3m scaleDownUnneededTime: 10m clusterConfig: clusterName: "tkc" clusterNamespace: "cluster" paused: false
- Instale el paquete del escalador automático de clústeres mediante la CLI de Tanzu.
tanzu package install cluster-autoscaler-pkgi -n tkg-system --package cluster-autoscaler.tanzu.vmware.com --version 1.27.2+vmware.1-tkg.3 --values-file values.yaml
Probar el ajuste de escala automático de clústeres
Para probar el ajuste de escala automático de clústeres, implemente una aplicación, aumente el número de réplicas y compruebe que se escalen los nodos de trabajo adicionales para gestionar la carga adicional.
Actualizar un clúster de ajuste de escala automático
Para actualizar un clúster de ajuste de escala automático, primero debe pausar el paquete del escalador automático.
Consulte Actualizar clúster de escalado automático mediante la CLI de Tanzu.