Hinweise
Folgendes wird benötigt:
- Einen vorhandenen Cluster, auf dem Kf installiert ist.
- Zugriff auf einen Computer, auf dem
gcloud
,kf
undkubectl
installiert 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_ID
Führen Sie
kf debug
aus und prüfen Sie, ob die Kf-Kommandozeile und die Kf-Serverversionen übereinstimmen.- Die CLI-Version ist unter
Kf Client
aufgefü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 doctor
aus, 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 checks
angezeigt 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 version
aus, um die aktuelle Version von Kf abzurufen.$ kf version kf version v2.0.0 linux
Die 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
chmod
aus, umkf-next
ausführbar zu machen:chmod +x kf-next
Führen Sie
kf-next version
aus, 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.yaml
Führen Sie
kubectl diff -f kf-release.yaml
aus und überprüfen Sie die Änderungen, die durch das Upgrade an Ihrem Cluster vorgenommen werden.Bearbeiten Sie
kf-release.yaml
und nehmen Sie die gewünschten Änderungen vor.Wenn Sie beispielsweise das
config-defaults
-AttributzuordnungsattributspaceDefaultToV3Stack
inv2.0.0
von Kf auf „false“ festlegen, hat der Releasev2.1.0
den Standardwerttrue
.Führen Sie
kubectl diff -f kf-release.yaml
noch 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.yaml
Führen Sie
doctor
aus, um sicherzustellen, dass die neu installierte Version fehlerfrei ist:kf-next doctor --retries=12 --delay=5s
Der 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 checks
fehlschlä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-next
mv kf-next $(which kf)
Vergleichen Sie die Datei
config-defaults-backup.yaml
mitkubectl 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