Prima di aggiornare un cluster TKG, è necessario sospendere Autoscaler. Dopo aver aggiornato la versione TKr del cluster, è necessario aggiornare la versione del pacchetto di Autoscaler in modo che corrisponda alla versione secondaria di TKr.
Requisiti
Questa attività presuppone che sia stato installato Cluster Autoscaler in un cluster TKG. Vedere Installazione di Cluster Autoscaler tramite kubectl.
Aggiornamento precedente all'aggiornamento del cluster: sospensione dell'Autoscaler
Prima di aggiornare un cluster TKG con l'Autoscaler installato, è innanzitutto necessario sospendere il pacchetto di Autoscaler.
- Sospendere il pacchetto Autoscaler del cluster impostando il valore booleano
paused
sutrue
nel segretoautoscaler-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
- Applicare gli aggiornamenti al segreto
autoscaler-data-values
.kubectl apply -f autoscaler-data-values.yaml
Aggiornamento del cluster
Dopo aver sospeso l'Autoscaler, procedere con l'aggiornamento del cluster.
- Aggiornare la versione di Kubernetes del cluster TKG.
Vedere Aggiornamento di un cluster TKG modificando la versione di TKR.
Dopo l'aggiornamento del cluster: aggiornamento della versione del pacchetto Autoscaler
Dopo aver aggiornato il cluster, aggiornare la versione del pacchetto Autoscaler in modo che corrisponda alla versione secondaria di TKr e disabilitare la sospensione.
- Scegliere la versione di Autoscaler corrispondente.
Le versioni secondarie di TKr e il pacchetto Autoscaler devono corrispondere. Ad esempio, se si aggiorna il cluster a TKr v1.28.8, sarà necessario utilizzare il pacchetto Autoscaler v1.28.x.
- Aggiornare le risorse di Autoscaler impostando la versione di Autoscaler di destinazione e reimpostando la sospensione su 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
- Applicare gli aggiornamenti al pacchetto Autoscaler.
kubectl apply -f autoscaler-package-upgrade.yaml
- Verificare che il pod di Autoscaler sia in esecuzione nello spazio dei nomi kube-system.
- Testare l'Autoscaler del cluster.