Antes de empezar
Necesitarás lo siguiente:
- Un clúster con Kf instalado.
- Acceso a una máquina con
gcloud
,kf
ykubectl
instalados.
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_ID
Ejecuta
kf debug
y 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 doctor
para 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 resultadodoctor
para 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 version
para obtener la versión actual de Kf.$ kf version kf version v2.0.0 linux
Busca 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
chmod
para quekf-next
sea ejecutable:chmod +x kf-next
Ejecuta
kf-next version
para 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-defaults
ejecutando el siguiente comando:kubectl get configmap config-defaults -o yaml -n kf > config-defaults-backup.yaml
Ejecuta
kubectl diff -f kf-release.yaml
e inspecciona los cambios que la actualización haría en tu clúster.Edita
kf-release.yaml
y modifícalo para conservar los cambios que quieras mantener.Por ejemplo, si asigna el valor false a la propiedad
config-defaults
de configmapspaceDefaultToV3Stack
env2.0.0
de Kf, la versiónv2.1.0
tendría el valor predeterminadotrue
.Vuelve a ejecutar
kubectl diff -f kf-release.yaml
para 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.yaml
Ejecuta
doctor
para asegurarte de que la versión recién instalada funciona correctamente:kf-next doctor --retries=12 --delay=5s
El 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 resultadodoctor
para solucionar el problema y vuelve a ejecutar el comando hasta que se complete correctamente.Sustituye la CLI
kf
de tu sistema por la CLIkf-next
.chmod +x kf-next
mv kf-next $(which kf)
Compara el archivo
config-defaults-backup.yaml
conkubectl diff -f config-defaults-backup.yaml
para 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