Für ein Upgrade von Tanzu Kubernetes Grid mit einem eigenständigen Verwaltungscluster müssen Sie den eigenständigen Verwaltungscluster zuerst aktualisieren. Sie können ein Upgrade von Arbeitslastclustern erst durchführen, wenn Sie ein Upgrade des Verwaltungsclusters durchgeführt haben, der sie verwaltet.
Wenn Sie TKG mit einem vSphere with Tanzu-Supervisor ausführen, führen Sie die folgenden Schritte nicht durch. Aktualisieren Sie stattdessen den Supervisor als Teil von vSphere sowie die Kubernetes-Version des Supervisors, indem Sie die zugehörigen TKrs upgraden.
Beim Upgrade des Verwaltungsclusters wird automatisch ein Upgrade derautomatisch verwalteten Pakete durchgeführt, die ausgeführt werden.
HinweisNach der Installation der CLI v2.1, aber vor dem Upgrade eines eigenständigen Verwaltungsclusters, stehen keine kontextspezifischen CLI-Befehlsgruppen (
tanzu cluster
,tanzu kubernetes-release
) sowie keine Befehle desmanagement-cluster
-Plug-Ins mit Ausnahme vontanzu mc upgrade
undtanzu mc create
zur Verfügung und sind nicht in der Tanzu CLI-Ausgabe--help
enthalten.
Verwaltungscluster und Arbeitslastcluster verwenden Clientzertifikate zur Authentifizierung von Clients. Diese Zertifikate sind ein Jahr lang gültig. Um sie zu verlängern, führen Sie mindestens einmal pro Jahr ein Upgrade Ihrer Cluster durch oder rotieren Sie sie manuell, wie unter Verlängern von Clusterzertifikaten (eigenständiger Verwaltungscluster) oder im VMware Knowledgebase-Artikel Vorgehensweise zum Rotieren von Zertifikaten in einem Tanzu Kubernetes Grid-Cluster beschrieben.
Führen Sie den Befehl tanzu login
aus, um eine interaktive Liste der Verwaltungscluster anzuzeigen, die für das Upgrade verfügbar sind.
tanzu login
Wählen Sie den Verwaltungscluster aus, für den Sie ein Upgrade durchführen möchten. Weitere Informationen finden Sie unter Auflisten von Verwaltungsclustern und Ändern des Kontexts.
Rufen Sie die Admin-Anmeldedaten des Clusters ab. Der Tanzu CLI-Alias mc
ist die Abkürzung für management-cluster
.
tanzu mc kubeconfig get --admin
Verbinden Sie kubectl
mit dem Verwaltungscluster.
kubectl config use-context CLUSTER-NAME-admin@CLUSTER-NAME.
Wenn der Verwaltungscluster unter Azure ausgeführt wird, legen Sie vor dem Upgrade des Clusters die Umgebungsvariable AZURE_CLIENT_SECRET
fest:
export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
Führen Sie die folgenden Schritte durch, wenn der Verwaltungscluster ursprünglich in TKG v1.3 oder früher erstellt wurde oder wenn Sie sich nicht sicher sind. Mit diesen Schritten wird ein geheimer Schlüssel hinzugefügt, der für das Upgrade von Verwaltungsclustern auf die entsprechende paketbasierte Konfiguration in TKG v2.1 erforderlich ist, der aber nicht in Verwaltungsclustern enthalten war, die vor TKG v1.4 erstellt wurden:
Deaktivieren Sie das Funktions-Flag package-based-cc
, um den Testlauf zur Erstellung von Legacy-Verwaltungsclustern zu aktivieren:
tanzu config set features.management-cluster.package-based-cc false
Rufen Sie ein aktuelleres Legacy-Manifest für den Verwaltungscluster ab, indem Sie den Testlauf zur Erstellung des Verwaltungsclusters mit der ursprünglichen Konfigurationsdatei ausführen, wie z. B. in vSphere:
tanzu mc create -f mgmt-config.yaml --dry-run > legacy-mgmt.yaml
Do you want to configure vSphere with Tanzu? [y/N]: N
Would you like to deploy a non-integrated Tanzu Kubernetes Grid management cluster on vSphere 7.0? [y/N]: y
Extrahieren Sie den benötigten geheimen -config-values
-Schlüssel:
cat legacy-mgmt.yaml | yq 'select(.metadata.name == "MANAGEMENT-CLUSTER-NAME-config-values")' > mgmt-config-secret.yaml
Wenden Sie im Kontext des Verwaltungsclusters den geheimen Schlüssel auf den Verwaltungscluster an:
kubectl apply -f mgmt-config-secret.yaml
Aktivieren Sie das Funktions-Flag package-based-cc
erneut, um die Erstellung von Legacy-Verwaltungsclustern zu verhindern.
tanzu config set features.management-cluster.package-based-cc true
Führen Sie den Befehl tanzu mc upgrade
aus und geben Sie zur Bestätigung y
ein.
HinweisNachdem Sie diesen Befehl ausgeführt haben, können sich Nicht-Admin-Benutzer erst bei den zugeordneten Arbeitslastclustern anmelden, wenn der Neustart der Pinniped-Pods abgeschlossen ist.
tanzu mc upgrade
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.24.10 hochgeladen haben, geben Sie --os-name ubuntu
an, um ein Upgrade Ihres Verwaltungsclusters für die Ausführung auf einer Ubuntu-VM durchzuführen.
tanzu mc upgrade --os-name ubuntu
Um den Bestätigungsschritt beim Upgrade eines Clusters zu überspringen, geben Sie die Option --yes
an.
tanzu mc upgrade --yes
Bei dem Upgrade-Vorgang werden zuerst die Cluster-API-Anbieter für vSphere, Amazon Web Services (AWS) oder Azure aktualisiert, die im Verwaltungscluster ausgeführt werden. Anschließend wird die Kubernetes-Version in allen Steuerungsebenen- und Worker-Knoten des Verwaltungsclusters aktualisiert.
WichtigFühren Sie während des Upgrades eines Verwaltungsclusters keine
tanzu cluster
- odertanzu mc
-Befehle für diesen oder die von ihm verwalteten Arbeitslastcluster aus, z. B. von einer anderen Bootstrap-Maschine oder einem Shell-Fenster.
Wenn vor Abschluss des Upgrades eine Zeitüberschreitung eintritt, führen Sie tanzu mc upgrade
erneut aus und geben Sie die Option --timeout
mit einem Wert an, der größer als der Standardwert von 30 Minuten ist.
tanzu mc upgrade --timeout 45m0s
HinweisNachdem Sie die CLI v2.1 installiert haben, aber bevor ein Upgrade eines Verwaltungsclusters durchgeführt wurde, sind alle kontextspezifischen CLI-Befehlsgruppen (
tanzu cluster
,tanzu kubernetes-release
) sowie allemanagement-cluster
-Plug-In-Befehle mit Ausnahme vontanzu mc upgrade
undtanzu mc create
nicht verfügbar und nicht in der Tanzu CLI-Ausgabe--help
enthalten.
Führen Sie nach Abschluss des Upgrades den Befehl tanzu cluster list
mit den --include-management-cluster -A
-Optionen erneut aus, um sicherzustellen, dass der Verwaltungscluster aktualisiert wurde.
tanzu cluster list --include-management-cluster -A
Sie sehen, dass auf dem Verwaltungscluster jetzt die neue Version von Kubernetes ausgeführt wird, wobei auf den Arbeitslastclustern weiterhin frühere Versionen von Kubernetes ausgeführt werden.
NAME NAMESPACE STATUS CONTROLPLANE WORKERS KUBERNETES ROLES PLA 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
Generieren Sie die Admin-kubeconfig
neu:
tanzu management-cluster kubeconfig get --admin
Nachfolgend finden Sie eine Beispielausgabe des Befehls:
Credentials of cluster 'mgmt' have been saved
You can now access the cluster by running 'kubectl config use-context mgmt-admin@mgmt'
WichtigWenn Sie
kubeconfig
nach dem Upgrade nicht verlängern, können Sie nach Ablauf der Konfiguration nicht mehr auf den Cluster zugreifen.
Sie haben nun folgende Möglichkeiten:
Führen Sie ein Upgrade der Arbeitslastcluster durch, die dieser Verwaltungscluster verwaltet.
Erstellen neuer Arbeitslastcluster. Standardmäßig wird für alle neuen Cluster, die Sie mit diesem Verwaltungscluster bereitstellen, die neue Standardversion von Kubernetes ausgeführt. Bei Bedarf können Sie jedoch den Befehl tanzu cluster create
mit der Option --tkr
verwenden, um neue Cluster bereitzustellen, auf denen verschiedene Versionen von Kubernetes ausgeführt werden. Weitere Informationen unter Mehrere Kubernetes-Versionen.