Prima di iniziare
Ti serviranno:
- Un cluster esistente con Kf installato.
- Accesso a un computer su cui sono installati
gcloud
,kf
ekubectl
.
Convalida l'installazione di Kf esistente
Ottieni le credenziali di autenticazione per interagire con il cluster:
gcloud container clusters get-credentials CLUSTER_NAME \ --zone CLUSTER_ZONE \ --project CLUSTER_PROJECT_ID
Esegui
kf debug
, convalida l'interfaccia a riga di comando Kf e Le versioni server Kf corrispondono.- La versione dell'interfaccia a riga di comando è elencata sotto
Kf Client
. - La versione del server Kf è indicata sotto
kf["app.kubernetes.io/version"]
.
$ kf debug ... Version: Kf Client: v2.0.0 Server version: v1.17.13-gke.1401 kf["app.kubernetes.io/version"]: v2.0.0 ...
Se il client Kf e il server Kf i valori non corrispondono, scarica e installa la versione dell'interfaccia a riga di comando Kf che corrisponda alla versione del server, quindi ripeti il controllo con la nuova interfaccia a riga di comando. La Prima di continuare, la versione dell'interfaccia a riga di comando deve corrispondere alla versione del server.
- La versione dell'interfaccia a riga di comando è elencata sotto
Esegui
kf doctor
per verificare lo stato del cluster. Assicurati che tutti i test siano stati superati prima di continuare.$ kf doctor ... === RUN doctor/user === RUN doctor/user/ContainerRegistry --- PASS: doctor/user --- PASS: doctor/user/ContainerRegistry ...
Se viene visualizzato il messaggio
Error: environment failed checks
, segui le istruzioni nell'outputdoctor
per risolvere il problema e riprovare a eseguire il comando fino a quando non avrà esito positivo.
Esegui l'upgrade
Per eseguire l'upgrade di Kf, segui questi passaggi:
- Prepara l'ambiente locale e l'upgrade.
- Esegui l'upgrade delle dipendenze di Kf.
- Esegui l'upgrade di Kf e verifica che l'upgrade sia stato eseguito correttamente.
Prepara l'upgrade
Esegui
kf version
per ottenere la versione corrente di Kf.$ kf version kf version v2.0.0 linux
Trova la prossima versione più recente di Kf su pagina dei download.
Scarica il file YAML della release Kf e salvalo come
kf-release.yaml
.Scarica la versione di Kf per il tuo sistema operativo e il tuo nome
kf-next
.Esegui
chmod
per rendere eseguibilekf-next
:chmod +x kf-next
Esegui
kf-next version
per assicurarti che la versione scaricata corrisponda alla versione di Kf che vuoi installare:$ kf-next version kf version v2.1.0 linux
Esegui un backup della configmap
config-defaults
eseguendo:kubectl get configmap config-defaults -o yaml -n kf > config-defaults-backup.yaml
Esegui
kubectl diff -f kf-release.yaml
e controlla le modifiche apportate all'upgrade al tuo cluster.Modifica
kf-release.yaml
e modificalo per conservare tutte le modifiche che vuoi mantenere.Ad esempio, se imposti la proprietà configmap
config-defaults
DaspaceDefaultToV3Stack
a falso inv2.0.0
di Kf, la releasev2.1.0
avrà il valore predefinito ditrue
.Esegui di nuovo
kubectl diff -f kf-release.yaml
per verificare che le modifiche siano state apportate per produrre l'output previsto.
Esegui l'upgrade delle dipendenze Kf
Apri la pagina dei download e trova la matrice delle dipendenze per versione di Kf a cui stai eseguendo l'upgrade.
Esegui l'upgrade di Tekton:
Apri la pagina Release di Tekton.
Trova la versione di Tekton elencata nel Kf della matrice delle dipendenze.
Esegui il comando nella sezione "Sintesi dell'installazione" per eseguire l'upgrade di Tekton.
Esegui l'upgrade di Cloud Service Mesh:
Nel menu a discesa della versione, scegli la versione di Cloud Service Mesh elencata in la matrice delle dipendenze Kf.
Segui la guida per eseguire l'upgrade di ASM.
Esegui l'upgrade e verifica Kf
Installa i componenti Kf aggiornati utilizzando configurazione della release:
kubectl apply -f kf-release.yaml
Esegui
doctor
per assicurarti che la versione appena installata sia integro:kf-next doctor --retries=12 --delay=5s
Il comando eseguirà più volte i controlli del cluster. È normale che alcuni di questi il tentativo non andrà a buon fine durante l'avvio dei nuovi controller.
Se il comando ha esito negativo con il messaggio
Error: environment failed checks
, segui le indicazioni nell'outputdoctor
per risolvere il problema e riprova a eseguire l'operazione fino a quando non riesce.Sostituisci l'interfaccia a riga di comando
kf
esistente sul tuo sistema con l'interfaccia a riga di comandokf-next
.chmod +x kf-next
mv kf-next $(which kf)
Confronta il file
config-defaults-backup.yaml
conkubectl diff -f config-defaults-backup.yaml
per assicurarti che il cluster sia ancora configurato correttamente.Ad esempio, se hai mantenuto tutte le modifiche del precedente Kf e utilizzo approvato di un nuovo buildpack in bundle con la versione successiva di Kf:
$ 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