Hinweise
Folgendes wird benötigt:
- Einen vorhandenen Cluster, auf dem Kf installiert ist.
- Zugriff auf einen Computer, auf dem
gcloud,kfundkubectlinstalliert sind.
Vorhandene Kf-Installation überprüfen
Rufen Sie die Anmeldedaten für die Authentifizierung ab, um mit dem Cluster zu interagieren:
gcloud container clusters get-credentials CLUSTER_NAME \ --zone CLUSTER_ZONE \ --project CLUSTER_PROJECT_IDFühren Sie
kf debugaus und prüfen Sie, ob die Kf-Kommandozeile und die Kf-Serverversionen übereinstimmen.- Die CLI-Version ist unter
Kf Clientaufgeführt. - Die Kf-Serverversion ist unter
kf["app.kubernetes.io/version"]aufgeführt.
$ kf debug ... Version: Kf Client: v2.0.0 Server version: v1.17.13-gke.1401 kf["app.kubernetes.io/version"]: v2.0.0 ...Wenn die Kf-Client- und Kf-Serverwerte nicht übereinstimmen, laden Sie die Kf-Befehlszeile herunter und installieren Sie die Version, die der Serverversion entspricht, und wiederholen Sie die Prüfung mit der neuen Befehlszeile. Die CLI-Version muss mit der Serverversion übereinstimmen, bevor Sie fortfahren.
- Die CLI-Version ist unter
Führen Sie
kf doctoraus, um den Status des Clusters zu prüfen. Sorgen Sie dafür, dass alle Tests bestanden werden, bevor Sie fortfahren.$ kf doctor ... === RUN doctor/user === RUN doctor/user/ContainerRegistry --- PASS: doctor/user --- PASS: doctor/user/ContainerRegistry ...Wenn die Meldung
Error: environment failed checksangezeigt wird, befolgen Sie die Anweisungen in der Ausgabedoctor, um das Problem zu beheben, und wiederholen Sie den Befehl, bis der Vorgang erfolgreich war.
Upgrade
So führen Sie ein Upgrade von Kf aus:
- Bereiten Sie die lokale Umgebung und das Upgrade vor.
- Upgrade der Kf-Abhängigkeiten.
- Führen Sie ein Upgrade von Kf durch und überprüfen Sie, ob das Upgrade erfolgreich war.
Upgrade vorbereiten
Führen Sie
kf versionaus, um die aktuelle Version von Kf abzurufen.$ kf version kf version v2.0.0 linuxDie nächste neue Version von Kf finden Sie auf der Downloadseite.
Laden Sie die YAML-Datei der Kf-Release herunter und speichern Sie sie als
kf-release.yaml.Laden Sie die Version von Kf für Ihr Betriebssystem herunter und nennen Sie sie
kf-next.Führen Sie
chmodaus, umkf-nextausführbar zu machen:chmod +x kf-nextFühren Sie
kf-next versionaus, um sicherzustellen, dass die heruntergeladene Version der zu installierenden Kf-Version entspricht:$ kf-next version kf version v2.1.0 linux
Erstellen Sie eine Sicherung der
config-defaults-Konfigurationskarte, indem Sie Folgendes ausführen:kubectl get configmap config-defaults -o yaml -n kf > config-defaults-backup.yamlFühren Sie
kubectl diff -f kf-release.yamlaus und überprüfen Sie die Änderungen, die durch das Upgrade an Ihrem Cluster vorgenommen werden.Bearbeiten Sie
kf-release.yamlund nehmen Sie die gewünschten Änderungen vor.Wenn Sie beispielsweise das
config-defaults-AttributzuordnungsattributspaceDefaultToV3Stackinv2.0.0von Kf auf „false“ festlegen, hat der Releasev2.1.0den Standardwerttrue.Führen Sie
kubectl diff -f kf-release.yamlnoch einmal aus, um dafür zu sorgen, dass alle vorgenommenen Änderungen die erwartete Ausgabe liefern.
Upgrade von Kf-Abhängigkeiten
Öffnen Sie die Downloadseite und suchen Sie die Abhängigkeitsmatrix für die Version von Kf, für das Sie ein Upgrade durchführen.
Aktualisieren Sie Tekton:
Öffnen Sie die Tekton-Releaseseite.
Suchen Sie die Version von Tekton, die in der Kf-Abhängigkeitsmatrix aufgeführt ist.
Führen Sie den Befehl unter der Überschrift „Installations-Einzeiler“ aus, um Tekton zu aktualisieren.
Cloud Service Mesh upgraden:
Öffnen Sie die Cloud Service Mesh-Upgrade-Anleitung.
Wählen Sie im Versions-Drop-down die Version von Cloud Service Mesh aus, die in der Kf-Abhängigkeitsmatrix aufgeführt ist.
Folgen Sie der Anleitung, um ein Upgrade von ASM durchzuführen.
Upgrade ausführen und Zertifikat prüfen
Installieren Sie die aktualisierte Kf-Komponenten mithilfe der geänderten Releasekonfiguration:
kubectl apply -f kf-release.yamlFühren Sie
doctoraus, um sicherzustellen, dass die neu installierte Version fehlerfrei ist:kf-next doctor --retries=12 --delay=5sDer Befehl führt mehrmals eine Clusterprüfung durch. Es ist ganz normal, dass einige Versuche fehlschlagen, während die neuen Controller gestartet werden.
Wenn der Befehl mit der Meldung
Error: environment failed checksfehlschlägt, befolgen Sie die Anweisungen in der Ausgabedoctor, um das Problem zu beheben, und wiederholen Sie den Befehl, bis der Vorgang erfolgreich war.Ersetzen Sie die vorhandene
kf-Befehlszeile in Ihrem System durch diekf-next-Befehlszeile.chmod +x kf-nextmv kf-next $(which kf)Vergleichen Sie die Datei
config-defaults-backup.yamlmitkubectl diff -f config-defaults-backup.yaml, damit Ihr Cluster noch ordnungsgemäß konfiguriert ist.Wenn Sie beispielsweise alle Änderungen aus der alten Kf-Version beibehalten und ein neues Build-Paket mit der nächsten Kf-Version verwenden konnten:
$ kubectl diff -f config-defaults-backup.yaml diff -u -N /tmp/LIVE/v1.ConfigMap.kf.config-defaults /tmp/MERGED/v1.ConfigMap.kf.config-defaults --- /tmp/LIVE/v1.ConfigMap.kf.config-defaults +++ /tmp/MERGED/v1.ConfigMap.kf.config-defaults @@ -131,6 +131,8 @@ enable_route_services: false spaceBuildpacksV2: | - - name: new_buildpack - url: https://github.com/cloudfoundry/new-buildpack - name: staticfile_buildpack url: https://github.com/cloudfoundry/staticfile-buildpack - name: java_buildpack exit status 1