Antes de comenzar
Necesitarás:
- Un clúster existente con Kf instalado.
- Acceso a una máquina que tiene
gcloud,kfykubectlinstalados.
Valida la instalación de Kf existente
Obtén 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 valida la CLI de Kf y la coincidencia de las versiones del servidor de Kf.- La versión de la CLI se muestra en
Kf Client. - La versión del servidor Kf aparecerá 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 el cliente de Kf y los valores del servidor Kf no coinciden, descarga y, luego, instala la versión de la CLI de Kf que coincide con la versión del servidor y repite la verificación con la CLI nueva. La versión de la CLI debe coincidir con la versión del servidor para poder continuar.
- La versión de la CLI se muestra en
Ejecuta
kf doctorpara verificar el estado de tu clúster. Asegúrate de que todas las pruebas se aprueben 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 ejecutar el comando hasta que tenga éxito.
Actualiza
Para actualizar Kf, sigue estos pasos:
- Prepara el entorno local y la actualización.
- Actualiza las dependencias de Kf.
- Actualiza Kf y verifica que la actualización fue un éxito.
Prepara la actualización
Ejecuta
kf versionpara obtener la versión actual de Kf.$ kf version kf version v2.0.0 linuxEncuentra la próxima versión más reciente de Kf en la página de descargas.
Descarga el archivo YAML de la actualización de Kf y guárdalo como
kf-release.yaml.Descarga la versión de Kf para tu SO y asígnale el nombre
kf-next.Ejecuta
chmodpara quekf-nextsea ejecutable:chmod +x kf-nextEjecuta
kf-next versionpara asegurarte de que la versión descargada coincida con la versión de Kafka que deseas instalar:$ kf-next version kf version v2.1.0 linux
Haz una copia de seguridad del configmap de
config-defaultscon el siguiente comando:kubectl get configmap config-defaults -o yaml -n kf > config-defaults-backup.yamlEjecuta
kubectl diff -f kf-release.yamly, luego, 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 conservar.Por ejemplo, si estableces la propiedad
spaceDefaultToV3Stackdel configmapconfig-defaultscomo falsa env2.0.0de Kf, la versiónv2.1.0tendrá el valor predeterminado detrue.Ejecuta
kubectl diff -f kf-release.yamlotra vez para asegurarte de que los cambios que realizaste generen el resultado esperado.
Actualiza las dependencias de Kf
Abre la página de descargas y busca la matriz de dependencia de la versión de Kf a la que estás actualizando.
Actualiza Tekton:
Abre la página de versiones de Tekton.
Busca la versión de Tekton que aparece en la matriz de dependencia de Kf.
Ejecuta el comando que aparece bajo el encabezado "Installation one-liner" para actualizar Tekton.
Actualiza Cloud Service Mesh:
En el menú desplegable de versiones, selecciona la versión de Cloud Service Mesh que aparece en la matriz de dependencia de Kf.
Sigue la guía para actualizar ASM.
Actualiza y verifica Kf
Instala los componentes de Kf actualizados mediante la configuración de la versión modificada:
kubectl apply -f kf-release.yamlEjecuta
doctorpara asegurarte de que la versión recién instalada esté en buen estado:kf-next doctor --retries=12 --delay=5sEl comando ejecutará verificaciones del clúster varias veces. Es normal que algunos de ellos fallen mientras se inician los controladores nuevos.
Si el comando falla con el mensaje
Error: environment failed checks, sigue las instrucciones del resultado dedoctorpara resolver el problema y vuelve a ejecutar el comando hasta que tenga éxito.Reemplaza la CLI
kfexistente en tu sistema con 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 tu clúster aún esté configurado de forma correcta.Por ejemplo, si conservaste todos los cambios de tu versión anterior de Kf y rechazaste el uso de un nuevo paquete de compilación con 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