Reportez-vous à ces instructions pour installer et configurer le module autoscaler du cluster à l'aide de la CLI Tanzu.
Configuration requise
- La version vSphere minimale est vSphere 8 U3, y compris les hôtes vCenter et ESXi
- La version minimale de TKr est TKr 1.27.x pour vSphere 8
- La version mineure de TKr et la version mineure du module d'autoscaler de cluster doivent correspondre
Configurer Espace de noms vSphere
Remplissez les conditions préalables suivantes pour provisionner un cluster TKG..
- Installez ou mettez à jour votre environnement vers vSphere 8 U3 et TKr 1.27.x pour vSphere 8.
- Créez ou mettez à jour une bibliothèque de contenu avec les dernières Versions de Tanzu Kubernetes. Reportez-vous à la section Administration des versions de Kubernetes pour les clusters Service TKG.
- Créez et configurez un Espace de noms vSphere pour héberger le cluster TKG. Reportez-vous à la section Configuration de Espaces de noms vSphere pour l'hébergement de clusters Service TKG.
- Installez Outils de l'interface de ligne de commande Kubernetes pour vSphere .
L'exemple suivant peut être utilisé pour installer les outils à partir de la ligne de commande. Pour des commandes supplémentaires, consultez Installez l'Outils de l'interface de ligne de commande Kubernetes pour 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
- Exécutez
kubectl
etkubectl vsphere
pour vérifier l'installation.
Créer un cluster TKG avec des annotations d'autoscaler
Suivez les instructions pour créer un cluster TKG. Pour des commandes supplémentaires, consultez Workflow de provisionnement de clusters TKG à l'aide de Kubectl.
- Authentifiez-vous auprès du Superviseur à l'aide de kubectl.
kubectl vsphere login --server=SUPERVISOR-CONTROL-PLANE-IP-ADDRESS-or-FQDN --vsphere-username USERNAME
- Changez de contexte pour l'Espace de noms vSphere cible qui hébergera le cluster.
kubectl config use-context tkgs-cluster-namespace
- Répertoriez les classes de machines virtuelles disponibles dans l'Espace de noms vSphere.
Vous pouvez uniquement utiliser les classes de machines virtuelles qui sont liées à l'Espace de noms vSphere cible. Reportez-vous à la section Utilisation de classes de machines virtuelles avec des clusters de Service TKG.
- Répertoriez les classes de stockage de volume persistant disponibles.
kubectl describe namespace VSPHERE-NAMESPACE-NAME
La commande renvoie des détails sur l'Espace de noms vSphere, y compris la classe de stockage. La commande
kubectl describe storageclasses
renvoie également les classes de stockage disponibles, mais nécessite des autorisations d'administrateur vSphere. - Répertoriez les Versions de Tanzu Kubernetes disponibles.
kubectl get tkr
Cette commande renvoie les TKR disponibles dans cet Espace de noms vSphere et leur compatibilité. Reportez-vous à la section Administration des versions de Kubernetes pour les clusters Service TKG.
- Utilisez les informations que vous avez collectées pour créer un fichier YAML de spécification de cluster TKG avec la configuration d'autoscaler du cluster requise.
- Utilisez les annotations
*-min-size
et*-max-size
pour les nodePools worker. Dans cet exemple, 3 correspond au nombre minimal et 5 au nombre maximal de nœuds worker pouvant être mis à l'échelle. Par défaut, le cluster sera créé avec 3 nœuds worker. - Utilisez la version mineure correspondante pour le module TKr et autoscaler.
- Les valeurs
metadata.name
etmetadata.namespace
du cluster utilisées sont cohérentes avec les valeurs par défaut du module autoscaler. Si vous modifiez ces valeurs dans la spécification du cluster, vous devrez les modifier dans lesautoscaler-data-values
(voir ci-dessous).
#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
- Utilisez les annotations
- Appliquez la spécification du cluster.
kubectl apply -f cc-autoscaler.yaml
- Vérifiez la création du cluster.
kubectl get cluster,vm
- Vérifiez la version des nœuds de cluster.
kubectl get node
Créer le référentiel de module sur le cluster TKG
- Installez l'interface de ligne de commande Tanzu.
Reportez-vous à la section Installez la Tanzu CLI à utiliser avec les clusters de Service TKG.
- Connectez-vous au cluster.
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
- Créer le référentiel de modules.
#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
Installer le module autoscaler
kube-system
.
- Générez le fichier
values.yaml
par défaut à l'aide de la CLI 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
- Mettez à jour le fichier
values.yaml
pour l'installation du module.arguments: ignoreDaemonsetsUtilization: true maxNodeProvisionTime: 15m maxNodesTotal: 0 metricsPort: 8085 scaleDownDelayAfterAdd: 10m scaleDownDelayAfterDelete: 10s scaleDownDelayAfterFailure: 3m scaleDownUnneededTime: 10m clusterConfig: clusterName: "tkc" clusterNamespace: "cluster" paused: false
- Installer le module d'autoscaler de cluster à l'aide de la CLI 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
Tester la mise à l'échelle automatique du cluster
Pour tester la mise à l'échelle automatique du cluster, déployez une application, augmentez le nombre de réplicas et vérifiez que des nœuds worker supplémentaires sont montés en charge pour gérer la charge supplémentaire.
Reportez-vous à la section Tester l'autoscaler du cluster.
Mettre à niveau un cluster autoscaler
Pour mettre à niveau un cluster à mise à l'échelle automatique, vous devez d'abord suspendre le module autoscaler.
Reportez-vous à la section Mettre à niveau le cluster mis à l'échelle automatique à l'aide de l'interface de ligne de commande Tanzu.