Vor dem Upgrade eines TKG-Clusters muss die automatische Skalierung angehalten werden. Nach dem Upgrade der TKr-Version des Clusters müssen Sie die Paketversion für die automatische Skalierung so aktualisieren, dass sie mit der TKr-Nebenversion übereinstimmt.
Anforderungen
Bei dieser Aufgabe wird davon ausgegangen, dass die automatische Clusterskalierung auf einem TKG-Cluster installiert wurde. Weitere Informationen hierzu finden Sie unter Installieren der automatischen Skalierung des Clusters mithilfe von „kubectl“.
Vor dem Cluster-Upgrade: Anhalten der automatischen Skalierung
- Halten Sie das Paket für die automatische Clusterskalierung an. Legen Sie dazu im geheimen Schlüssel
autoscaler-data-values.yaml
den booleschen Wertpaused
auftrue
fest.--- apiVersion: v1 kind: Secret metadata: name: autoscaler-data-values namespace: tkg-system stringData: values.yml: | --- arguments: ignoreDaemonsetsUtilization: true maxNodeProvisionTime: 15m maxNodesTotal: 0 metricsPort: 8085 scaleDownDelayAfterAdd: 10m scaleDownDelayAfterDelete: 10s scaleDownDelayAfterFailure: 3m scaleDownUnneededTime: 10m clusterConfig: clusterName: "gc1" clusterNamespace: "cluster" paused: true
- Wenden Sie die Aktualisierungen auf den geheimen Schlüssel
autoscaler-data-values
an.kubectl apply -f autoscaler-data-values.yaml
Upgrade des Clusters
- Aktualisieren Sie die Kubernetes-Version des TKG-Clusters.
Weitere Informationen hierzu finden Sie unter Aktualisieren eines TKG-Clusters durch Bearbeiten der TKR-Version.
Nach dem Cluster-Upgrade: Aktualisieren der Paketversion für die automatische Skalierung
- Wählen Sie die entsprechende Version der automatischen Skalierung aus.
Die Nebenversionen der TKr und des Pakets für die automatische Skalierung müssen übereinstimmen. Wenn Sie beispielsweise ein Upgrade des Clusters auf TKr v1.28.8 durchgeführt haben, müssen Sie das v1.28.x-Paket für die automatische Skalierung verwenden.
- Aktualisieren Sie Ressourcen für die automatische Skalierung. Legen Sie dazu die Zielversion der automatischen Skalierung fest, und setzen Sie den angehaltenen Schlüssel auf „false“ zurück.
#autoscaler-package-upgrade.yaml --- apiVersion: packaging.carvel.dev/v1alpha1 kind: PackageInstall metadata: name: autoscaler namespace: tkg-system spec: serviceAccountName: autoscaler-sa packageRef: refName: cluster-autoscaler.tanzu.vmware.com versionSelection: constraints: 1.28.0+vmware.1-tkg.1 values: - secretRef: name: autoscaler-data-values --- apiVersion: v1 kind: Secret metadata: name: autoscaler-data-values namespace: tkg-system stringData: values.yml: | --- arguments: ignoreDaemonsetsUtilization: true maxNodeProvisionTime: 15m maxNodesTotal: 0 metricsPort: 8085 scaleDownDelayAfterAdd: 10m scaleDownDelayAfterDelete: 10s scaleDownDelayAfterFailure: 3m scaleDownUnneededTime: 10m clusterConfig: clusterName: "gc1" clusterNamespace: "cluster" paused: false
- Wenden Sie die Aktualisierungen auf das Paket für die automatische Skalierung an.
kubectl apply -f autoscaler-package-upgrade.yaml
- Überprüfen Sie, ob der Pod für die automatische Skalierung im kube-system-Namespace ausgeführt wird.
- Testen Sie die automatische Skalierung des Clusters.