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.
WichtigEigenstä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.
Mit dem Upgrade-Vorgang wird die Version von Kubernetes in allen Steuerungsebenen- und Worker-Knoten Ihrer Arbeitslastcluster aktualisiert.
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
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
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
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.
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
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
WichtigVorgä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
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
Generieren Sie die Admin-kubeconfig
neu:
tanzu cluster kubeconfig get CLUSTER-NAME --admin
Dabei gilt: CLUSTER-NAME
ist der Name des Arbeitslastclusters.
WichtigWenn Sie
kubeconfig
nach dem Upgrade nicht verlängern, können Sie nach Ablauf der Konfiguration nicht mehr auf den Cluster zugreifen.
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
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.
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.