Antes de empezar
Necesitarás lo siguiente:
- Un clúster con Kf instalado.
- Acceso a una máquina con
gcloud,kfykubectlinstalados.
Validar la instalación de Kf
Obtén las credenciales de autenticación para interactuar con el clúster:
gcloud container clusters get-credentials CLUSTER_NAME \ --zone CLUSTER_ZONE \ --project CLUSTER_PROJECT_IDEjecuta
kf debugy comprueba que las versiones de la CLI de Kf y del servidor de Kf coincidan.- La versión de la CLI aparece en
Kf Client. - La versión del servidor Kf se indica en
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 los valores del cliente y del servidor de Kf no coinciden, descarga e instala la versión de la CLI de Kf que coincida con la versión del servidor y, a continuación, repite la comprobación con la nueva CLI. La versión de la CLI debe coincidir con la versión del servidor para poder continuar.
- La versión de la CLI aparece en
Ejecuta
kf doctorpara comprobar el estado de tu clúster. Asegúrate de que todas las pruebas se superen antes de continuar.$ kf doctor ... === RUN doctor/user === RUN doctor/user/ContainerRegistry --- PASS: doctor/user --- PASS: doctor/user/ContainerRegistry ...Si ves el mensaje
Error: environment failed checks, sigue las instrucciones del resultadodoctorpara resolver el problema y vuelve a intentar ejecutar el comando hasta que se complete correctamente.
Actualizar
Para actualizar Kf, sigue estos pasos:
- Prepara el entorno local y la actualización.
- Actualiza las dependencias de Kf.
- Actualiza Kf y comprueba que la actualización se haya realizado correctamente.
Preparar la actualización
Ejecuta
kf versionpara obtener la versión actual de Kf.$ kf version kf version v2.0.0 linuxBusca la siguiente versión más reciente de Kf en la página de descargas.
Descarga el archivo YAML de la versión de Kf y guárdalo como
kf-release.yaml.Descarga la versión de Kf para tu sistema operativo y nómbrala
kf-next.Ejecuta
chmodpara quekf-nextsea ejecutable:chmod +x kf-nextEjecuta
kf-next versionpara asegurarte de que la versión descargada coincide con la versión de Kf que quieres instalar:$ kf-next version kf version v2.1.0 linux
Crea una copia de seguridad del configmap
config-defaultsejecutando el siguiente comando:kubectl get configmap config-defaults -o yaml -n kf > config-defaults-backup.yamlEjecuta
kubectl diff -f kf-release.yamle inspecciona los cambios que la actualización haría en tu clúster.Edita
kf-release.yamly modifícalo para conservar los cambios que quieras mantener.Por ejemplo, si asigna el valor false a la propiedad
config-defaultsde configmapspaceDefaultToV3Stackenv2.0.0de Kf, la versiónv2.1.0tendría el valor predeterminadotrue.Vuelve a ejecutar
kubectl diff -f kf-release.yamlpara asegurarte de que los cambios que has hecho producen el resultado esperado.
Actualizar las dependencias de Kf
Abre la página de descargas y busca la matriz de dependencias de la versión de Kf a la que vas a actualizar.
Actualizar Tekton:
Abre la página de lanzamientos de Tekton.
Busca la versión de Tekton que aparece en la matriz de dependencias de Kf.
Ejecuta el comando de la sección "Instalación con una sola línea" para actualizar Tekton.
Actualiza Cloud Service Mesh:
En el menú desplegable de versiones, elige la versión de Cloud Service Mesh que aparece en la matriz de dependencias de Kf.
Siga la guía para actualizar ASM.
Actualizar y verificar Kf
Instala los componentes de Kf actualizados con la configuración de lanzamiento modificada:
kubectl apply -f kf-release.yamlEjecuta
doctorpara asegurarte de que la versión recién instalada funciona correctamente:kf-next doctor --retries=12 --delay=5sEl comando ejecutará comprobaciones del clúster varias veces. Es normal que algunos intentos fallen mientras se inician los nuevos controladores.
Si el comando falla y aparece el mensaje
Error: environment failed checks, sigue las instrucciones del resultadodoctorpara solucionar el problema y vuelve a ejecutar el comando hasta que se complete correctamente.Sustituye la CLI
kfde tu sistema por la CLIkf-next.chmod +x kf-nextmv kf-next $(which kf)Compara el archivo
config-defaults-backup.yamlconkubectl diff -f config-defaults-backup.yamlpara asegurarte de que el clúster sigue configurado correctamente.Por ejemplo, si conservas todos los cambios de tu versión antigua de Kf y apruebas el uso de un nuevo paquete de compilación incluido en la siguiente versión de 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