Upgrade von Arbeitslastclustern

In diesem Thema wird die Vorgehensweise zum Aktualisieren von TKG-Arbeitslastclustern (Tanzu Kubernetes Grid) erläutert. Für TKG mit einem eigenständigen Verwaltungscluster müssen Sie zuerst ein Upgrade des Verwaltungsclusters durchführen, der die Arbeitslastcluster verwaltet.

Wichtig

Eigenständige Verwaltungs- und Arbeitslastcluster verwenden Clientzertifikate für die Authentifizierung von Clients. Diese Zertifikate sind ein Jahr lang gültig. Um sie zu erneuern, führen Sie mindestens einmal pro Jahr ein Upgrade Ihrer Cluster durch.

Voraussetzungen

Infrastrukturvoraussetzungen

vSphere
Wenn Sie Cluster unter vSphere aktualisieren, müssen die entsprechenden Basisimage-Vorlagen-OVAs in vSphere als VM-Vorlagen verfügbar sein, bevor Sie Cluster auf eine Nicht-Standardversion von Kubernetes für Ihre Tanzu Kubernetes Grid-Version aktualisieren können. Informationen zum Importieren von OVA-Dateien in vSphere finden Sie unter Vorbereitung für das Upgrade von Clustern in vSphere.
AWS
Wenn Sie Cluster unter Amazon Web Services (AWS) aktualisieren, stehen die Amazon Linux 2-AMIs (Amazon-Maschinen-Images), die die unterstützten Kubernetes-Versionen enthalten, für alle AWS-Benutzer in allen unterstützten AWS-Regionen öffentlich zur Verfügung. Tanzu Kubernetes Grid verwendet automatisch das entsprechende AMI für die Kubernetes-Version, die Sie während des Upgrades angeben.
Azure
Wenn Sie Cluster unter Azure aktualisieren, stellen Sie sicher, dass Sie die Schritte in Vorbereitung für das Upgrade von Clustern in Azure durchgeführt haben.


Vorgehensweise

Mit dem Upgrade-Vorgang wird die Version von Kubernetes in allen Steuerungsebenen- und Worker-Knoten Ihrer Arbeitslastcluster aktualisiert.

  1. Zum Anzeigen einer interaktiven Liste der verfügbaren Verwaltungscluster und Auswählen des Verwaltungsclusters, der die zu aktualisierenden Cluster verwaltet, führen Sie den Befehl tanzu login aus:

    tanzu login
    
  2. Führen Sie folgenden Befehl aus, um Ihre Arbeitslastcluster aufzulisten:

    tanzu cluster list --include-management-cluster -A
    

    Der Befehl tanzu cluster list mit den --include-management-cluster -A-Optionen zeigt die Kubernetes-Version an, die im Verwaltungscluster und allen von ihm verwalteten Clustern ausgeführt wird. In diesem Beispiel wird deutlich, dass der Verwaltungscluster bereits auf v1.24.10 aktualisiert wurde, auf den Arbeitslastclustern aber ältere Versionen von Kubernetes ausgeführt werden.

    NAME                 NAMESPACE   STATUS    CONTROLPLANE  WORKERS  KUBERNETES         ROLES       PLAN  TKR
    k8s-1-22-13-cluster  default     running   1/1           1/1      v1.22.13+vmware.1   <none>      dev   v1.22.13---vmware.1-tkg.1
    k8s-1-23-10-cluster  default     running   1/1           1/1      v1.23.10+vmware.1  <none>      dev   v1.23.10---vmware.1-tkg.1
    mgmt-cluster         tkg-system  running   1/1           1/1      v1.24.10+vmware.1  management  dev   v1.24.10---vmware.1-tkg.1
    
  3. Zum Ermitteln der Kubernetes-Versionen, die von einem Verwaltungscluster bereitgestellt werden, führen Sie den Befehl tanzu kubernetes-release get aus:

    tanzu kubernetes-release get
    

    In dieser Ausgabe werden alle Kubernetes-Versionen, die Sie zum Bereitstellen von Clustern verwenden können, mit folgenden Hinweisen aufgelistet.

    • COMPATIBLE: Der aktuelle Verwaltungscluster kann Arbeitslastcluster mit dieser Tanzu Kubernetes-Version (tkr) bereitstellen.
    • UPDATES AVAILABLE: Diese tkr entspricht nicht der aktuellsten Version in der zugehörigen Kubernetes-Versionszeile. Alle Arbeitslastcluster, auf denen diese tkr-Version ausgeführt wird, können auf neuere Versionen aktualisiert werden.

    Beispiel:

    NAME                       VERSION                  COMPATIBLE  ACTIVE  UPDATES AVAILABLE
    v1.22.17---vmware.1-tkg.1  v1.22.17+vmware.1-tkg.1  True        True
    v1.23.16---vmware.1-tkg.1  v1.23.16+vmware.1-tkg.1  True        True
    v1.24.10---vmware.1-tkg.1  v1.24.10+vmware.1-tkg.1  True        True
    
  4. Zum Ermitteln der neueren tkr-Versionen, auf die Sie einen Arbeitslastcluster unter einer älteren tkr-Version aktualisieren können, führen Sie den Befehl tanzu kubernetes-release available-upgrades get aus und geben die aktuelle tkr-Version an:

    tanzu kubernetes-release available-upgrades get v1.23.10---vmware.1-tkg.1
    

    Dieser Befehl listet alle verfügbaren Kubernetes-Versionen auf, auf die Sie Cluster aktualisieren können, die die angegebene Version verwenden.

    Sie können auch die tkr-Versionen ermitteln, die für einen bestimmten Arbeitslastcluster verfügbar sind, indem Sie den Clusternamen im Befehl tanzu cluster available-upgrades get angeben:

    tanzu cluster available-upgrades get k8s-1-23-10-cluster
    

    Dieser Befehl listet alle Kubernetes-Versionen auf, die mit dem angegebenen Cluster kompatibel sind.

    Sie können Nebenversionen nicht überspringen, wenn Sie ein Upgrade der tkr-Version durchführen. Sie können beispielsweise kein direktes Upgrade eines Clusters von v1.22.x auf v1.24.x durchführen. Sie müssen einen v1.22.x-Cluster auf v1.23.x aktualisieren, bevor Sie den Cluster auf v1.24.x aktualisieren können.

  5. Wenn der Cluster unter Azure ausgeführt wird, legen Sie die Umgebungsvariable AZURE_CLIENT_SECRET vor dem Upgrade des Clusters fest:

    export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
    
  6. Führen Sie den Befehl tanzu cluster upgrade CLUSTER-NAME aus und geben Sie zur Bestätigung y ein. Zum Überspringen des Bestätigungsschritts geben Sie die Option --yes an.

    Um ein Upgrade des Clusters auf die Standardversion von Kubernetes für diese Tanzu Kubernetes Grid-Version durchzuführen, führen Sie den Befehl tanzu cluster upgrade ohne Optionen aus. In dieser Version wird v1.24.10 als Standardversion verwendet. Beispiel:

    tanzu cluster upgrade k8s-1-23-10-cluster
    

    Wenn der Cluster nicht im Namespace default ausgeführt wird, geben Sie die Option --namespace an:

    tanzu cluster upgrade CLUSTER-NAME --namespace NAMESPACE-NAME
    

    Wenn vor Abschluss eines Upgrades eine Zeitüberschreitung eintritt, führen Sie tanzu cluster upgrade erneut aus und geben Sie die Option --timeout mit einem Wert an, der größer als der Standardwert von 30 Minuten ist:

    tanzu cluster upgrade CLUSTER-NAME --timeout 45m0s
    
    Wichtig

    Vorgänge in Azure dauern manchmal länger als auf anderen Plattformen. Wenn Sie Cluster in Azure aktualisieren, legen Sie routinemäßig die Option --timeout fest, um Fehler zu vermeiden.

    Wenn mehrere Basis-VM-Images in Ihrem IaaS-Konto dieselbe Kubernetes-Version aufweisen, auf die Sie ein Upgrade durchführen, verwenden Sie die Option --os-name, um das gewünschte Betriebssystem anzugeben. Weitere Informationen finden Sie unter Auswahl eines Betriebssystems während des Cluster-Upgrades.

    Wenn Sie beispielsweise unter vSphere sowohl Photon- als auch Ubuntu-OVA-Vorlagen mit Kubernetes v1.23.16 hochgeladen haben, geben Sie --os-name ubuntu an, um ein Upgrade Ihrer Arbeitslastcluster für die Ausführung unter Ubuntu durchzuführen.

    tanzu cluster upgrade CLUSTER-NAME --os-name ubuntu
    

    Da Nebenversionen von tkr nicht übersprungen werden können, schlägt der Upgrade-Befehl fehl, wenn Sie ein Upgrade eines Clusters durchführen, der mehr als eine Nebenversion hinter der Standardversion liegt. Sie können beispielsweise kein direktes Upgrade von v1.22.x auf v1.24.x durchführen. Zum Aktualisieren eines Clusters auf eine Kubernetes-Version, die nicht als Standardversion für diese Tanzu Kubernetes Grid-Version fungiert, geben Sie die Option --tkr mit dem NAME der ausgewählten Version an, die oben von tanzu kubernetes-release get aufgelistet wird, Beispielsweise um ein Upgrade des Clusters k8s-1-22-13-cluster von v1.22.13 auf v1.23.16 durchzuführen.

    tanzu cluster upgrade k8s-1-22-13-cluster --tkr v1.23.16---vmware.1-tkg.1
    
  7. Führen Sie nach Abschluss des Upgrades den Befehl tanzu cluster list aus, um sicherzustellen, dass der Arbeitslastcluster aktualisiert wurde:

    tanzu cluster list --include-management-cluster -A
    
  8. Generieren Sie die Admin-kubeconfig neu:

    tanzu cluster kubeconfig get CLUSTER-NAME --admin
    

    Dabei gilt: CLUSTER-NAME ist der Name des Arbeitslastclusters.

    Wichtig

    Wenn Sie kubeconfig nach dem Upgrade nicht verlängern, können Sie nach Ablauf der Konfiguration nicht mehr auf den Cluster zugreifen.

  9. Wenn Sie einen LDAP- oder OIDC-Identitätsanbieter verwenden, bestätigen Sie, dass Sie sich mit kubectl beim Cluster authentifizieren können. Beispiel:

    kubectl get pods -A --kubeconfig my-cluster-credentials
    
  10. Führen Sie ein Upgrade aller CLI-verwalteten Pakete wie Contour, Fluent Bit oder Prometheus durch, die in Ihren Arbeitslastclustern ausgeführt werden. Weitere Informationen zum Upgrade von CLI-verwalteten Paketen finden Sie unter Aktualisieren eines Pakets.

Nächste Schritte

Sie können jetzt mit der Verwendung der Tanzu CLI zum Verwalten Ihrer Cluster fortfahren. Weitere Informationen finden Sie unter Erstellen und Verwalten von TKG 2.1-Arbeitslastclustern mit der Tanzu CLI.

check-circle-line exclamation-circle-line close-line
Scroll to top icon