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

Bevor Sie mit der installierten automatischen Skalierung ein Upgrade eines TKG-Clusters durchführen, müssen Sie zuerst das Paket für die automatische Skalierung anhalten.
  1. Halten Sie das Paket für die automatische Clusterskalierung an. Legen Sie dazu im geheimen Schlüssel autoscaler-data-values.yaml den booleschen Wert paused auf true 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
  2. Wenden Sie die Aktualisierungen auf den geheimen Schlüssel autoscaler-data-values an.
    kubectl apply -f autoscaler-data-values.yaml

Upgrade des Clusters

Sobald die automatische Skalierung angehalten wurde, fahren Sie mit der Aktualisierung des Clusters fort.
  1. 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

Aktualisieren Sie nach dem Upgrade des Clusters die Paketversion für die automatische Skalierung entsprechend der TKr-Nebenversion, und deaktivieren Sie die Pause.
  1. 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.

  2. 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
  3. Wenden Sie die Aktualisierungen auf das Paket für die automatische Skalierung an.
    kubectl apply -f autoscaler-package-upgrade.yaml
  4. Überprüfen Sie, ob der Pod für die automatische Skalierung im kube-system-Namespace ausgeführt wird.
  5. Testen Sie die automatische Skalierung des Clusters.

    Testen der automatischen Skalierung des Clusters.