Avant de commencer
Vous avez alors besoin de :
- Un cluster existant sur lequel Kf est installé.
- Un accès à un ordinateur sur lequel
gcloud
,kf
etkubectl
sont installés.
Validez l'installation Kf existante
Obtenez des identifiants d'authentification pour interagir avec le cluster :
gcloud container clusters get-credentials CLUSTER_NAME \ --zone CLUSTER_ZONE \ --project CLUSTER_PROJECT_ID
Exécutez
kf debug
et validez la correspondance entre les versions CLI et serveur de Kf.- La version de la CLI apparaît sous
Kf Client
. - La version du serveur Kf apparaît sous
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 ...
Si les valeurs du client Kf et du serveur Kf ne coïncident pas, téléchargez et installez la version de la CLI Kf correspondant à la version du serveur, puis répétez la vérification avec la nouvelle CLI. La version de la CLI doit correspondre à la version du serveur pour que vous puissiez continuer.
- La version de la CLI apparaît sous
Exécutez
kf doctor
pour vérifier l'état de votre cluster. Avant de continuer, assurez-vous que tous les tests sont concluants.$ kf doctor ... === RUN doctor/user === RUN doctor/user/ContainerRegistry --- PASS: doctor/user --- PASS: doctor/user/ContainerRegistry ...
Si le message
Error: environment failed checks
s'affiche, suivez les instructions fournies dans le résultatdoctor
pour résoudre le problème et relancez la commande jusqu'à ce qu'elle aboutisse.
Mettre à niveau
Pour mettre à niveau Kf, procédez comme suit :
- Préparez l'environnement local et la mise à niveau
- Mettez à niveau les dépendances de Kf
- Mettez à niveau Kf et vérifiez que la mise à niveau a réussi.
Préparez la mise à niveau
Exécutez
kf version
pour obtenir la version actuelle de Kf.$ kf version kf version v2.0.0 linux
Recherchez la version de Kf qui suit immédiatement cette version actuelle sur la page des téléchargements.
Téléchargez le fichier YAML de la version de Kf et enregistrez-le sous le nom
kf-release.yaml
.Téléchargez la version de Kf correspondant à votre système d'exploitation et nommez-la
kf-next
.Exécutez
chmod
pour rendrekf-next
exécutable :chmod +x kf-next
Exécutez
kf-next version
pour vous assurer que la version téléchargée correspond à la version de Kf que vous souhaitez installer:$ kf-next version kf version v2.1.0 linux
Effectuez une sauvegarde du fichier ConfigMap
config-defaults
en exécutant la commande suivante :kubectl get configmap config-defaults -o yaml -n kf > config-defaults-backup.yaml
Exécutez
kubectl diff -f kf-release.yaml
et inspectez les modifications que la mise à niveau apporterait à votre cluster.Modifiez
kf-release.yaml
pour conserver toutes les modifications que vous souhaitez.Par exemple, si vous définissez la propriété
spaceDefaultToV3Stack
du configmapconfig-defaults
sur "false" dans lev2.0.0
de Kf, la version dev2.1.0
aura la valeur par défauttrue
.Exécutez à nouveau
kubectl diff -f kf-release.yaml
pour vous assurer que les modifications que vous avez apportées ont produit le résultat attendu.
Mettez à niveau les dépendances Kf
Ouvrez la page des téléchargements et recherchez la matrice de dépendances de la version de Kf vers laquelle vous effectuez la mise à niveau.
Mettez à niveau Tekton :
Ouvrez la page des versions de Tekton.
Recherchez la version de Tekton répertoriée dans la matrice de dépendances de Kf.
Exécutez la commande qui figure sous l'en-tête "Installation one-liner" (installation en une ligne) pour mettre à niveau Tekton.
Mettre à niveau Cloud Service Mesh :
Ouvrez le guide de mise à niveau de Cloud Service Mesh.
Dans la liste déroulante "Version", sélectionnez la version de Cloud Service Mesh répertoriée dans la matrice de dépendances de Kf.
Suivez le guide pour mettre à jour ASM.
Mettez à jour et validez Kf
Installez les composants Kf mis à niveau à l'aide de la configuration de version modifiée :
kubectl apply -f kf-release.yaml
Exécutez
doctor
pour vous assurer que la version qui vient d'être installée est opérationnelle:kf-next doctor --retries=12 --delay=5s
La commande exécute à plusieurs reprises des vérifications du cluster. Il est normal que certaines tentatives échouent lors du démarrage des nouveaux contrôleurs.
Si la commande échoue avec le message
Error: environment failed checks
, suivez les instructions fournies dans le résultatdoctor
pour résoudre le problème et relancez la commande jusqu'à ce qu'elle aboutisse.Remplacez la CLI
kf
existante de votre système par la CLIkf-next
.chmod +x kf-next
mv kf-next $(which kf)
Comparez le fichier
config-defaults-backup.yaml
à l'aide de la commandekubectl diff -f config-defaults-backup.yaml
pour vous assurer que votre cluster est toujours correctement configuré.Par exemple, si vous avez conservé toutes les modifications de votre ancienne version de Kf et approuvé l'utilisation d'un nouveau pack de création fourni avec la version suivante :
$ 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