Avant la mise à niveau d'un cluster TKG, l'autoscaler doit être mis suspendu. Après avoir mis à niveau la version de TKr du cluster, vous devez mettre à jour la version du module autoscaler pour qu'elle corresponde à la version mineure de TKr.
Configuration requise
Cette tâche part du principe que vous avez installé l'autoscaler du cluster sur un cluster TKG. Reportez-vous à la section Installer l'autoscaler de cluster à l'aide de Kubectl.
Avant la mise à niveau du cluster : suspendre autoscaler
Avant de mettre à niveau un cluster TKG avec autoscaler installé, vous devez d'abord suspendre le module autoscaler.
- Suspendez le module autoscaler du cluster en définissant la valeur booléenne
paused
surtrue
dans le secretautoscaler-data-values.yaml
.--- 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
- Appliquez les mises à jour du secret
autoscaler-data-values
kubectl apply -f autoscaler-data-values.yaml
Mettre le cluster à niveau
Une fois autoscaler suspendu, poursuivez la mise à jour du cluster.
- Mettez à niveau la version de Kubernetes du cluster TKG.
Reportez-vous à la section Mettre à jour un cluster TKG en modifiant la version de TKR.
Après la mise à niveau du cluster : mettre à jour la version du module autoscaler
Après la mise à niveau du cluster, mettez à jour la version du module autoscaler pour qu'elle corresponde à la version mineure de la TKr et désactivez la suspension.
- Choisissez la version d'autoscaler correspondante.
Les versions mineures de TKr et du module autoscaler doivent correspondre. Par exemple, si vous avez mis à niveau le cluster vers TKr v1.28.8, vous devrez utiliser le module autoscaler v1.28.x.
- Mettez à jour les ressources autoscaler en définissant la version d'autoscaler cible et en réinitialisation l'état suspendu sur false.
#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
- Appliquez les mises à jour au module autoscaler.
kubectl apply -f autoscaler-package-upgrade.yaml
- Vérifiez que l'espace d'autoscaler s'exécute dans l'espace de noms kube-system.
- Testez l'autoscaler du cluster.