Lesen Sie diese Anweisungen, um das Paket für die automatische Clusterskalierung über die Tanzu-CLI zu installieren und zu konfigurieren.
Anforderungen
- Die vSphere-Mindestversion ist vSphere 8 U3, einschließlich vCenter und ESXi-Hosts.
- Die TKr-Mindestversion ist TKr 1.27.x für vSphere 8.
- Die Nebenversion der TKr und die Nebenversion des Pakets für die automatische Clusterskalierung müssen mit übereinstimmen.
Konfigurieren des vSphere-Namespace
Schließen Sie die folgenden erforderlichen Aufgaben aus, um einen TKG-Cluster bereitzustellen.
- Installieren oder aktualisieren Sie Ihre Umgebung auf vSphere 8 U3 und TKr 1.27.x für vSphere 8.
- Erstellen oder aktualisieren Sie eine Inhaltsbibliothek mit den neuesten Tanzu Kubernetes-Versionen. Weitere Informationen hierzu finden Sie unter Verwalten von Kubernetes-Versionen für TKG-Dienst-Cluster.
- Erstellen und konfigurieren Sie einen vSphere-Namespace zum Hosten des TKG-Clusters. Weitere Informationen hierzu finden Sie unter Konfigurieren von vSphere-Namespaces für das Hosting von TKG-Dienst-Clustern.
- Installieren Sie den Kubernetes-CLI-Tools für vSphere.
Das folgende Beispiel kann verwendet werden, um die Tools über die Befehlszeile zu installieren. Weitere Anleitungen finden Sie unter Installieren des Kubernetes-CLI-Tools für 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
- Führen Sie
kubectl
undkubectl vsphere
aus, um die Installation zu überprüfen.
Erstellen eines TKG-Clusters mit Anmerkungen für die automatische Skalierung
Befolgen Sie die Anweisungen, um einen TKG-Cluster zu erstellen. Weitere Anleitungen finden Sie unter Workflow zum Bereitstellen von TKG-Clustern auf mithilfe von Kubectl.
- Authentifizieren Sie sich mithilfe von kubectl bei Supervisor.
kubectl vsphere login --server=SUPERVISOR-CONTROL-PLANE-IP-ADDRESS-or-FQDN --vsphere-username USERNAME
- Wechseln Sie den Kontext zum Ziel-vSphere-Namespace, der den Cluster hostet.
kubectl config use-context tkgs-cluster-namespace
- Listen Sie die VM-Klassen auf, die im vSphere-Namespace verfügbar sind.
Sie können nur VM-Klassen verwenden, die an den Ziel-vSphere-Namespace gebunden sind. Weitere Informationen hierzu finden Sie unter Verwenden von VM-Klassen mit TKG-Dienstclustern.
- Listen Sie die verfügbaren Klassen persistenter Speicher-Volumes auf.
kubectl describe namespace VSPHERE-NAMESPACE-NAME
Der Befehl gibt Details zum vSphere-Namespace zurück, einschließlich der Speicherklasse. Der Befehl
kubectl describe storageclasses
gibt auch verfügbare Speicherklassen zurück, erfordert jedoch vSphere-Administratorberechtigungen. - Listen Sie die verfügbaren Tanzu Kubernetes-Versionen auf.
kubectl get tkr
Dieser Befehl gibt die in diesem vSphere-Namespace verfügbaren TKrs und deren Kompatibilität zurück. Weitere Informationen hierzu finden Sie unter Verwalten von Kubernetes-Versionen für TKG-Dienst-Cluster.
- Verwenden Sie die Informationen, die Sie in Erfahrung haben, um eine YAML-Datei für die TKG-Clusterspezifikation mit der erforderlichen Konfiguration für die automatische Clusterskalierung zu erstellen.
- Verwenden Sie die Anmerkungen
*-min-size
und*-max-size
für die nodePools des Workers. In diesem Beispiel können zwischen 3 und 5 Worker-Knoten skaliert werden. Standardmäßig wird der Cluster mit 3 Worker-Knoten erstellt. - Verwenden Sie die passende Nebenversion für die TKr und für das Paket für die automatische Skalierung.
- Die Werte
metadata.name
undmetadata.namespace
für den Cluster stimmen mit den Standardwerten des Pakets für die automatische Skalierung überein. Wenn Sie diese Werte in der Clusterspezifikation ändern, müssen Sie sie inautoscaler-data-values
ändern (siehe unten).
#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
- Verwenden Sie die Anmerkungen
- Übernehmen Sie die Clusterspezifikation.
kubectl apply -f cc-autoscaler.yaml
- Überprüfen Sie die Clustererstellung.
kubectl get cluster,vm
- Überprüfen Sie die Clusterknotenversion.
kubectl get node
Erstellen des Paket-Repositorys auf dem TKG-Cluster
- Installieren Sie die Tanzu-CLI.
Weitere Informationen hierzu finden Sie unter Installieren der Tanzu-CLI zur Verwendung mit TKG-Dienst-Clustern.
- Melden Sie sich beim Cluster an.
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
- Erstellen Sie das Paket-Repository.
#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
Installieren des Pakets für die automatische Skalierung
kube-system
“ installiert.
- Generieren Sie die
values.yaml
-Standarddatei mithilfe des Tanzu-CLI-Befehls.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
- Aktualisieren Sie die
values.yaml
für die Paketinstallation.arguments: ignoreDaemonsetsUtilization: true maxNodeProvisionTime: 15m maxNodesTotal: 0 metricsPort: 8085 scaleDownDelayAfterAdd: 10m scaleDownDelayAfterDelete: 10s scaleDownDelayAfterFailure: 3m scaleDownUnneededTime: 10m clusterConfig: clusterName: "tkc" clusterNamespace: "cluster" paused: false
- Installieren Sie das Paket für die automatische Clusterskalierung über die Tanzu-CLI.
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
Testen der automatischen Skalierung des Clusters
Stellen Sie zum Testen der automatischen Skalierung des Clusters eine Anwendung bereit, erhöhen Sie die Anzahl der Replikate, und überprüfen Sie, ob zusätzliche Worker-Knoten horizontal skaliert werden, um die zusätzliche Last zu bewältigen.
Weitere Informationen hierzu finden Sie unter Testen der automatischen Skalierung des Clusters.
Upgrade eines automatisch skalierten Clusters
Damit Sie ein Upgrade eines automatisch skalierten Clusters durchführen können, müssen Sie zuerst das Paket für die automatische Skalierung anhalten.
Weitere Informationen hierzu finden Sie unter Upgrade eines automatisch skalierten Clusters mithilfe der Tanzu-CLI.