Acerca de los canales de versiones


Usa canales de versiones para Google Kubernetes Engine (GKE) para elegir versiones para tus clústeres con el saldo que elijas entre la disponibilidad y estabilidad de las funciones.

GKE actualiza automáticamente todos los clústeres con el tiempo, incluidos los que no están inscritos en un canal de versiones, para garantizar que reciban actualizaciones de seguridad, correcciones de problemas conocidos, funciones nuevas y ejecuten una versión de Kubernetes compatible. Puedes controlar el tiempo de las actualizaciones con los períodos de mantenimiento y exclusiones.

Recomendamos inscribir tu clúster en un canal de versiones, ya que esto te brinda el mayor control con respecto al permiso de las exclusiones de mantenimiento, lo que evita de forma temporal tipos específicos de actualizaciones en lugar de todas las actualizaciones y la secuenciación del lanzamiento de actualizaciones de clústeres. Los clústeres de Autopilot solo se pueden inscribir en un canal de versiones.

Si no inscribes tu clúster estándar en un canal de versiones, puedes inhabilitar las actualizaciones automáticas de nodos para grupos de nodos seleccionados y de forma manual administrar las actualizaciones de los nodos en estos grupos de nodos. Sin embargo, todos los planos de control de clústeres se actualizan de forma automática, y cuando una versión alcanza el final del ciclo de vida, los planos de control y los nodos del clúster se actualizan de forma automática, independientemente del canal de versiones. inscripción. Para obtener más información, consulta cuándo no inscribir tu clúster en un canal de versiones.

¿Qué canales están disponibles?

En la siguiente tabla, se explican las propiedades de los canales de versiones disponibles, cada uno ofrece una compensación entre la disponibilidad de las características y la deserción de actualizaciones. Todos los canales ofrecen versiones compatibles de GKE y se consideran de disponibilidad general (DG), (aunque es posible que las características individuales no siempre sean de DG, como se indica). Las versiones de Kubernetes en estos canales son oficiales e incluyen la APIs de Kubernetes Beta y de disponibilidad general.

Canal Disponibilidad de la nueva versión de Kubernetes Cuándo usar este canal
Rápido Varias semanas después de la disponibilidad general de código abierto ascendente* Obtén la versión más reciente de Kubernetes lo antes posible y usa las características nuevas de GKE tan pronto tengan DG. GKE actualiza tu clúster con frecuencia para permanecer en la última versión de parche disponible y entregar capacidades más nuevas de Kubernetes. Los clústeres suscritos al canal rápido usan versiones de DG, pero recomendamos usar el canal rápido para probar las versiones más recientes de Kubernetes y la API en entornos de preproducción.
Regular (predeterminado) Entre 2 y 3 meses después del lanzamiento en el canal rápido* Accede a las características de GKE y Kubernetes poco después de su lanzamiento, pero en una versión calificada durante un período más largo. Ofrece un equilibrio entre la disponibilidad de las características y la estabilidad de las actualizaciones, y es lo que recomendamos para la mayoría de los usuarios.
Estable Entre 2 y 3 meses después del lanzamiento en el canal regular* Prioriza la estabilidad por encima de las nuevas funciones. GKE lanza los cambios y las versiones nuevas en este canal por último, después de validarse en los canales rápidos y regulares, lo que permite más tiempo para la validación.

Cuando inscribes un clúster en un canal de versiones, ese clúster se actualiza automáticamente a partir de la fecha especificada en la columna Actualizar del programa de lanzamientos de GKE o después de ella

Cuando una versión acumuló un uso y demostró estabilidad en los clústeres en el canal rápido, se asciende al canal regular. Por último, la versión asciende al canal estable, que solo recibe actualizaciones de alta prioridad. Cada promoción señala un nivel gradual de estabilidad y preparación para la producción, según el rendimiento observado de los clústeres que ejecutan esa versión.

Los parches de seguridad críticos se entregan a todos los canales de versiones para proteger tus clústeres y la infraestructura de Google.

¿Qué versiones están disponibles en un canal?

Cada canal de versiones ofrece una versión predeterminada, seleccionada de un conjunto de versiones disponibles para ese canal. Estas versiones cumplieron con los estándares de calificación para ese canal específico. Con el tiempo, GKE actualiza los clústeres a la versión predeterminada de forma automática.

  • Las nuevas versiones de parches estarán disponibles al menos una semana antes de que se conviertan en predeterminadas para todos los canales.
  • Nuevas versiones secundarias disponibles:
    • al menos dos semanas antes de convertirse en el canal rápido como opción predeterminada.
    • al menos cuatro semanas antes de convertirse en las predeterminadas para los canales normal y estable.

Puedes probar una versión de GKE disponible recientemente antes de actualizar el entorno de producción. Por ejemplo, puedes suscribirte anotificaciones de actualización para recibir información sobre las versiones recién disponibles y, luego, actualizar de forma proactiva un entorno de preproducción a la nueva versión antes de que se convierta en la versión predeterminada.

Si necesitas mantener un clúster en una versión específica, por ejemplo, para validar o probar versiones más recientes antes de la actualización, te recomendamos que uses exclusiones de mantenimiento.

Para las versiones 1.19 y posteriores, después de que una versión menor esté disponible en un canal de versiones, seguirá disponible en ese canal de versiones para clústeres nuevos o existentes hasta que alcance su fecha de final del ciclo de vida.

Visualiza las versiones predeterminadas y disponibles de los canales de versiones

Para ver las versiones predeterminadas y disponibles para los canales de versiones, ejecuta el siguiente comando. Para ello, reemplaza COMPUTE_ZONE por tu zona de procesamiento:

gcloud container get-server-config --format "yaml(channels)" --zone COMPUTE_ZONE

Para ver las versiones disponibles de los clústeres que no están inscritos en un canal de versiones, ejecuta este comando equivalente para canales de versiones y reemplaza "yaml(channels)" en el comando por "yaml(validMasterVersions)".

¿Qué sucede cuando una versión nueva se convierte en predeterminada en un canal de versiones?

Cuando una nueva versión de GKE se vuelve predeterminada en un canal de versiones, ocurre lo siguiente:

  • Los clústeres nuevos se crean con la versión predeterminada nueva en el canal de versiones seleccionado.
  • Los clústeres aptos existentes se actualizan de forma automática dentro de los 10 días posteriores a una versión nueva en su canal de versiones predeterminado.

Si pasan 10 días después de que una versión nueva se vuelve predeterminada en el canal de versiones y no se inician las actualizaciones automáticas para tu clúster, el retraso puede deberse a uno de los siguientes motivos:

  • Por el momento, tu clúster no es apto para realizar actualizaciones automáticas. Esto puede suceder por los siguientes motivos:
    • El clúster está fuera del período de un período de mantenimiento configurado.
    • El clúster se encuentra dentro del período de una exclusión de mantenimiento.
    • Las actualizaciones automáticas se Pausan porque tu clúster usa características de Kubernetes obsoletas que se quitan en la próxima versión secundaria.
    • El clúster se actualizó de forma automática a una versión de parche hace menos de 24 horas.
    • El clúster se actualizó de forma automática a una versión secundaria hace menos de 30 días y la nueva versión predeterminada es una versión secundaria nueva.
  • GKE detuvo el lanzamiento de la nueva versión predeterminada por razones técnicas o empresariales:
    • Se descubrieron problemas técnicos con la versión nueva.
    • Se suspende la producción debido a una temporada comercial crítica, como el Black Friday.

Ejecuta versiones de parche desde un canal más reciente

Además de las versiones de parche disponibles que se indican para un canal de versiones, puedes ejecutar versiones de parche desde los canales de versiones más recientes de aquellos en los que tu clúster está inscrito si la versión secundaria está disponible en el canal de versiones del clúster.

Por ejemplo, si las siguientes versiones estaban disponibles en los canales rápidos y normales:

  • Rápido: 1.23.2-gke.700, 1.22.4-gke.1500
  • Regular: 1.21.4-gke.400, 1.22.1-gke.400

Un clúster inscrito en el canal Regular que ejecuta la versión de GKE 1.22.1-gke.400 puede actualizarse a 1.22.4-gke.1500, pero no a 1.23.2- gke.700, ya que es una versión secundaria diferente.

Para actualizar a una versión del parche en un canal más reciente, el plano de control de tu clúster debe ejecutar una versión de parche con la misma versión secundaria. Por ejemplo, si el clúster ejecuta 1.21.3-gke.200, primero debes actualizar el clúster a una versión de parche disponible en su canal de versiones actual, 1.22.1-gke.400. Luego, puedes actualizar el clúster a 1.22.4-gke.1500.

También puedes crear un clúster nuevo que ejecute 1.22.4-gke.1500 y esté inscrito en el canal Regular.

El clúster permanecerá en la versión del parche del canal menos consolidada hasta que la versión predeterminada del canal en la que está inscrito se convierta en una versión superior a la del clúster. En ese momento, el clúster se actualizará de forma automática a la versión predeterminada.

Descubre las novedades de un canal

Para conocer las novedades de un canal de versiones, consulta las notas de la versión. Hay notas de la versión distintas para cada canal de versiones, además de las notas generales de la versión.

Canal de versiones Notas de la versión
Canal rápido HTML o feed Atom.
Canal regular HTML o feed Atom.
Canal estable HTML o feed Atom.

Elige el mejor canal de versiones para tu clúster

Los canales incluyen solo versiones de DG de Kubernetes, y cada canal representa un nivel diferente de calidad y madurez de las versiones de Kubernetes y GKE. En el siguiente diagrama, se ilustra el ciclo de adopción para los canales de versiones:

Ciclo de adopción de los canales de versiones

Como se muestra en este diagrama, los canales de versiones disponibles usan versiones en el medio del ciclo de adopción, incluidos los usuarios pioneros (canal rápido), Primera mayoría (canal regular) y Mayoría (canal estable). La parte más temprana del ciclo de adopción son los Innovadores, que prueban las funciones más recientes con la versión ascendente de Kubernetes. La última parte del ciclo de adopción es la Última mayoría, en la que usas una versión que está a punto de darse de baja y debes realizar la transición a una versión compatible.

En tus entornos de producción previa, usa el canal rápido para versiones más recientes en las que puedes probar funciones en cuanto estén disponibles de forma general.

Para las cargas de trabajo de producción que requieren cierto desarrollo de la funcionalidad más nueva, recomendamos usar el canal regular (predeterminado) o el canal estable.

  • Si necesitas realizar un seguimiento detallado de las características nuevas, considera usar el canal regular, que ofrece un equilibrio entre la estabilidad y la actualización de la versión de OSS de Kubernetes.
  • Si tu requisito es el desarrollo, en especial para los clústeres de producción, usa el canal Estable.

GKE actualiza los clústeres a una versión más reciente que cumpla con el estándar de calidad del canal. Sin embargo, te recomendamos actualizar tus clústeres con anticipación, ya que esto te proporciona lo siguiente:

  • Mejor control de las actualizaciones y alineación con tu horario laboral.
  • Mayor capacidad de predicción, ya que GKE omite los clústeres de actualización automática que cumplen con el objetivo de versión (es decir, clústeres que se actualizaron de forma manual a la siguiente versión de destino). Los nodos se actualizan de forma automática a la versión recomendada en el canal seleccionado para alinearse con la versión del plano de control y protegerte de las vulnerabilidades y el sesgo de versión no compatible.

Inscribe un clúster en un canal de versiones

En esta sección, se muestra cómo seleccionar un canal de versiones para clústeres nuevos o clústeres existentes que no usaron un canal de versiones antes. También puedes cambiar el canal de versiones de un clúster existente que ya está inscrito en un canal de versiones.

Este cambio no requiere tiempo de inactividad. Sin embargo, como GKE puede tener diferentes actualizaciones automáticas disponibles en el canal de versiones, recomendamos usar períodos de mantenimiento y exclusiones para controlar el tiempo de las actualizaciones.

Inscribe clústeres nuevos

Puedes crear y, luego, inscribir un clúster nuevo en un canal de versiones mediante la CLI de gcloud o la consola de Google Cloud. De forma predeterminada, los clústeres nuevos se inscriben automáticamente en el canal de versiones regular.

Console

Para los clústeres de GKE Standard, puedes especificar un canal diferente durante la creación en la consola de Google Cloud.

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. Haz clic en Crear.

  3. En la sección Estándar, haz clic en Configurar.

  4. En Versión del plano de control, la opción Canal de versiones se selecciona de forma predeterminada.

  5. En la lista desplegable Canal de versiones, selecciona un canal de versiones en el cual inscribir el clúster o deja el valor predeterminado de Canal regular.

  6. Continúa creando el clúster como desees.

  7. Haz clic en Crear.

gcloud

Para crear e inscribir un clúster estándar en un canal de versiones específico, ejecuta el siguiente comando:

gcloud container clusters create CLUSTER_NAME \
    --zone COMPUTE_ZONE \
    --release-channel CHANNEL \
    ADDITIONAL_FLAGS

Para crear e inscribir un clúster de Autopilot en un canal de versiones específico, ejecuta el siguiente comando:

gcloud container clusters create-auto CLUSTER_NAME \
    --region=COMPUTE_REGION
    --release-channel CHANNEL \
    ADDITIONAL_FLAGS

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre del clúster nuevo.
  • Para los clústeres regionales, usa la marca --region COMPUTE_REGION y especifica la región del clúster.
  • En los clústeres zonales, usa la marca --region COMPUTE_ZONE y especifica la zona para tu clúster.
  • CHANNEL: es el tipo de canal de versiones: uno de rapid, regular o stable.
  • ADDITIONAL_FLAGS son cualquier otra marca que necesites especificar cuando creas el clúster. Si deseas obtener la lista completa de marcas opcionales para los clústeres estándar, consulta la documentación de gcloud container clusters create. Si deseas obtener la lista completa de marcas opcionales para los clústeres de Autopilot, consulta la documentación de gcloud container clusters create-auto.

También puedes crear un clúster con una versión específica mediante la marca --cluster-version. Si no especificas un canal de versiones, GKE inscribe tu clúster en el canal de versiones más desarrollado donde está disponible esa versión.

O bien, si no especificas el canal de versiones o la versión de clúster, el clúster se configura de manera predeterminada en el canal de versiones regular en la versión predeterminada.

Inscribe los clústeres existentes

Puedes inscribir un clúster existente en un canal de versiones, siempre que la versión del plano de control del clúster esté disponible en el canal de versiones de destino. Para verificar si la versión del plano de control de tu clúster está disponible en el canal de versiones de destino, consulta las versiones predeterminadas y disponibles para los canales de versiones. Si deseas obtener más información sobre cómo alinear la versión del plano de control de tu clúster con las versiones disponibles para tu canal de versiones de destino, consulta Selecciona un canal de versiones nuevo.

Para inscribir, actualiza el canal de versiones del clúster al CHANNEL objetivo.

Busca el canal de versiones de tu clúster

Puedes determinar el canal de versiones del clúster con la CLI de gcloud o la consola de Google Cloud.

Consola

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. Haz clic en el nombre del clúster que deseas inspeccionar.

  3. En Aspectos básicos del clúster, verifica el valor en el campo Canal de versiones (por ejemplo, Canal regular).

gcloud

gcloud container clusters describe CLUSTER_NAME \
    --zone COMPUTE_ZONE --format="value(releaseChannel.channel)"

Reemplaza lo siguiente:

Cambia el canal de versiones de tu clúster

Puedes cambiar el canal de versiones de tu clúster si la versión del plano de control está disponible en el canal de versiones de destino. Es posible que debas actualizar el plano de control de tu clúster a una versión anterior o p cambiar a una versión posterior.

Para verificar si la versión del plano de control de tu clúster está disponible en el canal de versiones de destino, consulta las versiones predeterminadas y disponibles para los canales de versiones. La versión debe estar disponible en el canal de destino.

  • Si la versión del plano de control de tu clúster ya está disponible en el canal de versiones de destino, puedes seleccionar el canal de versiones nuevo.
  • Si la versión del plano de control de tu clúster no está disponible en el canal de versiones de destino, puedes actualizar el plano de control del clúster a una versión disponible. Como alternativa, si el canal de destino solo tiene versiones anteriores disponibles, puedes cambiar el clúster a una versión inferior, siempre que la versión de destino sea una versión de parche anterior de la misma versión secundaria.

Para seleccionar un canal de versiones nuevo, actualiza el canal de versiones del clúster al CHANNEL objetivo. Si deseas evitar de forma temporal que el clúster se actualice de forma automática cuando seleccionas el canal nuevo, configura una exclusión de mantenimiento antes de seleccionar el canal nuevo.

Si no puedes seleccionar el canal de versiones de destino porque el clúster ejecuta una versión que no está disponible en ese canal de versiones, puedes crear un clúster nuevo en el canal de destino y migrar tus cargas de trabajo. Como alternativa, si necesitas usar el clúster existente, haz lo siguiente:

  1. Configura una exclusión de mantenimiento con el permiso “Sin actualizaciones secundarias”.
  2. Espera a que el canal de versiones de destino esté disponible en la versión secundaria de Kubernetes de tu clúster.
  3. Inscribe el clúster existente en el canal de versiones de destino.

Actualiza el canal de versiones del clúster

Puedes cambiar el canal de versiones del clúster con la CLI de gcloud o la consola de Google Cloud.

Consola

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. Haz clic en el nombre del clúster que deseas inspeccionar.

  3. En Aspectos básicos del clúster, en el campo Canal de versiones, haz clic en .

  4. En el menú desplegable Canal de versiones, selecciona el canal de versiones de destino.

  5. Para leer y confirmar la advertencia, selecciona Acepto las condiciones.

  6. Haz clic en Guardar cambios.

gcloud

Cambia la propiedad del canal de versiones de un clúster existente:

gcloud container clusters update CLUSTER_NAME \
  --release-channel CHANNEL

Reemplaza lo siguiente:

  • CLUSTER_NAME: es el nombre de tu clúster.
  • CHANNEL: El canal de versiones de destino, que puede ser rapid, regular, stable o None.

Cuándo no inscribir tu clúster en un canal de versiones

Puedes elegir no inscribir un clúster estándar en un canal de versiones (conocido como “sin canal” y “estático”). Debido a las limitaciones con los clústeres no inscritos en los canales de versiones, usa esta opción solo si algunos grupos de nodos no se pueden actualizar de forma automática y, en su lugar, debes actualizar esos nodos de forma manual. Si tu clúster no está inscrito en un canal de versiones, puedes inhabilitar la actualización automática de los nodos para los grupos de nodos seleccionados.

Si deseas evitar de forma temporal las actualizaciones automáticas para todo el clúster o todos sus nodos, usa una exclusión de mantenimiento con tu clúster inscrito en un canal de versiones. Con las exclusiones de mantenimiento, puedes inhabilitar de forma temporal las actualizaciones automáticas de nodos para todos los grupos de nodos, mientras que puedes inhabilitarlas a nivel de grupo de nodos si el clúster no está inscrito en un canal de versiones.

Revisa la siguiente tabla para comprender las similitudes y diferencias entre la inscripción y la no inscripción de tu clúster en un canal de versiones:

Atributo Clúster inscrito en un canal de versiones El clúster no está inscrito en un canal de versiones
Comportamiento de la actualización compartida
Cronograma de actualización Alineación con el canal de versiones respectivo
  • La misma fecha de inicio de actualización automática que el canal estable para las versiones secundarias y de parche
  • Las mismas versiones secundarias disponibles que el canal regular
  • Las mismas versiones de parche disponibles que el canal rápido para las versiones secundarias disponibles en el canal regular
Control de la interrupción del grupo de nodos
Períodos de mantenimiento Disponible Disponible
Exclusiones de mantenimiento Permisos de exclusión de mantenimiento disponibles:
  • "Sin actualizaciones" (30 días)
  • “Sin actualizaciones menores” (6 meses)
  • “Sin actualizaciones secundarias ni de nodos” (6 meses)
Restringido al permiso “Sin actualizaciones” (30 días)
Secuenciación de lanzamiento Disponible con secuencias basadas en flotas y en permisos No disponible
Autopilot Disponible No disponible

Anula la suscripción a un canal de versiones

Puedes anular la suscripción a tu clúster estándar en un canal de versiones mediante la consola de Google Cloud, la CLI de gcloud o la API de Kubernetes Engine. También puedes especificar que no quieres inscribir tu clúster en un canal de versiones durante la creación del clúster.

Console

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. Haz clic en el nombre del clúster que deseas inspeccionar.

  3. En Aspectos básicos del clúster, en el campo Canal de versiones, haz clic en .

  4. Selecciona el botón de selección Versión estática.

  5. Para leer y confirmar la advertencia, selecciona Acepto las condiciones.

  6. Haz clic en Guardar cambios.

gcloud

Actualiza el canal de versiones del clúster a un valor de None:

gcloud container clusters update CLUSTER_NAME \
  --release-channel None

API

Especifica "releaseChannel": { "channel": UNSPECIFIED} cuando crees o actualices un clúster.

Advertencias

Ten en cuenta las siguientes advertencias cuando uses canales de versiones.

Diferencias entre los clústeres de canales rápidos y los clústeres Alfa

Los clústeres creados con el canal de versiones rápido no son clústeres Alfa. Estas son las diferencias:

  • Los clústeres que usan canales de versiones se pueden actualizar, además, la actualización automática está habilitada y no se puede inhabilitar. Los clústeres Alfa no se pueden actualizar.
  • Los clústeres que usan canales de versiones no caducan. Los clústeres Alfa se vencen después de 30 días.
  • Las API de Kubernetes Alfa no están habilitadas en clústeres que usan canales de versiones.

¿Qué sigue?