Canales de lanzamiento de Cloud Service Mesh gestionado

Cloud Service Mesh publica actualizaciones con frecuencia para ofrecer actualizaciones de seguridad, corregir problemas conocidos e introducir nuevas funciones. Los canales de versiones ofrecen un equilibrio entre la estabilidad y el conjunto de funciones de la versión de Cloud Service Mesh. Los canales de lanzamiento de Cloud Service Mesh están vinculados a los canales de lanzamiento de Google Kubernetes Engine (GKE). Google gestiona automáticamente la versión y la frecuencia de actualización de cada canal de lanzamiento.

En este documento se comparan los canales de lanzamiento y se explica cómo actualizar los proxies no gestionados.

Canales de lanzamiento disponibles

Estos son los canales de lanzamiento disponibles. Cada canal ofrece un equilibrio entre la disponibilidad de funciones y la rotación de actualizaciones. Las funciones de cada canal tienen un nivel de madurez diferente. Los parches de seguridad críticos se envían a todos los canales de lanzamiento para proteger tus clústeres y la infraestructura de Google.

Channel Nueva disponibilidad de Cloud Service Mesh gestionado Propiedades
Rápido Después de cada lanzamiento de Cloud Service Mesh Cuanto antes dispongas de la versión más reciente de Cloud Service Mesh, antes podrás usar las funciones nuevas cuando estén disponibles. El plano de control se actualiza con frecuencia para que siempre tenga la versión de parche más reciente y ofrezca funciones más novedosas. El canal Rápido es el más adecuado para probar versiones y APIs más recientes de Cloud Service Mesh en entornos de preproducción.
Normal Rapid pasa a ser Regular* Puedes usar las funciones de Cloud Service Mesh e Istio de forma razonable al poco de que estén disponibles, pero en una versión que se haya cualificado durante un periodo más largo. Recomendamos esta opción para casi todos los usuarios por el equilibrio que ofrece entre la disponibilidad de funciones y la estabilidad de las versiones.
Estable Regular pasa a Estable* Prioriza la estabilidad por encima de las funciones nuevas. Los cambios y las nuevas versiones de este canal se lanzan en último lugar, después de validarse en los canales Rápido y Habitual, lo que permite más tiempo aún para validarlos.
*La programación de la promoción al siguiente canal depende de varios factores, como la versión de Istio de código abierto, la versión de Anthos y la programación de parches, por lo que está sujeta a cambios. Para estar al tanto de las últimas novedades, añade la URL de las notas de la versión de Cloud Service Mesh a tu lector de feeds o añade la URL del feed directamente: https://cloud.google.com/feeds/servicemesh-release-notes.xml

Cuando una versión secundaria de Cloud Service Mesh gestionado tiene un uso suficiente y ha demostrado estabilidad en el canal Rápido, se asciende al canal Regular. Con el tiempo, la versión secundaria se convierte en la versión del canal estable, que solo recibe actualizaciones de alta prioridad y parches de seguridad. Cada promoción indica un nivel de estabilidad y preparación para la producción, en función del rendimiento observado del plano de control que ejecuta esa versión.

Todos los canales se basan en una versión disponible para el público general (aunque es posible que algunas funciones no lo estén, como se indica). Las nuevas versiones de Cloud Service Mesh se lanzan primero en el canal Rápido y, con el tiempo, se promocionan a los canales Periódico y Estable. De esta forma, puedes seleccionar un canal que se adapte a las necesidades de tu empresa en cuanto a estabilidad y funcionalidad.

El canal de Cloud Service Mesh de tu clúster se determina en función del canal del clúster de GKE.

Canal de GKE Canal de Cloud Service Mesh
Rápido Rápido
Normal Normal
Estable Estable
(sin canal) Normal

Versiones de Cloud Service Mesh por canal

El canal de Cloud Service Mesh se determina en función del canal de tu clúster de GKE en el momento de aprovisionar Cloud Service Mesh gestionado. Si cambias el canal del clúster de GKE más adelante, mantendrás el canal original de Cloud Service Mesh.

En la siguiente tabla se muestra la asignación actual de canales a versiones de Cloud Service Mesh:

Canal Versión de Cloud Service Mesh
Rápido 1.21
Normal 1.20
Estable 1.19

Canal predeterminado

En una instalación nueva de Cloud Service Mesh en la que haya un solo canal gestionado instalado en un clúster, ese canal será el predeterminado para ese clúster.

Si los clústeres con una instalación de Istio o Cloud Service Mesh tienen configurada la etiqueta predeterminada, debe apuntar a la revisión gestionada. De lo contrario, no es necesario que hagas nada.

Puede usar la etiqueta istio-injection=enabled como alias que apunta injection a las otras etiquetas que utilice en el canal, como la revisión predeterminada. En cualquier parte de nuestra documentación en la que se indique que se debe usar la etiqueta de espacio de nombres istio.io/rev para la inyección, se puede usar la etiqueta istio-injection=enabled.

Etiquetas de inyección

Para permitir que Cloud Service Mesh gestione las cargas de trabajo de un espacio de nombres determinado, este debe etiquetarse con una etiqueta correspondiente al canal instalado. Managed Cloud Service Mesh admite dos tipos de etiquetas:

  • etiquetas de revisión estándar, como asm-managed-stable, asm-managed y asm-managed-rapid, que corresponden a los canales stable, regular y rapid.
  • Etiqueta de inyección predeterminada (por ejemplo, istio-injection=enabled), correspondiente al canal predeterminado de ese clúster. Si usas la etiqueta de inyección predeterminada, se simplificará la migración entre revisiones. Por ejemplo, al migrar de Istio OSS o de Cloud Service Mesh no gestionado a Cloud Service Mesh gestionado, ya que no es necesario volver a etiquetar cada espacio de nombres individualmente. En cualquier parte de la documentación de Cloud Service Mesh en la que se indique que se debe usar la etiqueta de espacio de nombres istio.io/rev para la inyección, se puede usar la etiqueta istio-injection=enabled en su lugar.

Otros ejemplos de etiquetas de inyección son las cargas de trabajo de etiquetado con sidecar.istio.io/inject (que se usa habitualmente en las pasarelas) y istio.io/rev, que funciona tanto en espacios de nombres como en cargas de trabajo.

Etiquetas de inyección predeterminadas

Para aplicar la etiqueta de inyección predeterminada a un espacio de nombres, sigue estos pasos:

kubectl label namespace NAMESPACE istio-injection=enabled istio.io/rev- --overwrite

Etiquetas de revisión

Al igual que otras etiquetas de Kubernetes, una etiqueta de revisión es un par clave-valor. La clave de una etiqueta de revisión siempre es istio.io/rev, pero el valor varía. Para seleccionar un canal de lanzamiento, aplica uno de los siguientes nombres de revisión a tus espacios de nombres:

Nombre de la revisión Canal
asm-managed Normal
asm-managed-rapid Rápido
asm-managed-stable Estable

Por ejemplo, para aplicar el canal de lanzamiento Regular a un espacio de nombres, sigue estos pasos:

kubectl label namespace NAMESPACE istio.io/rev=asm-managed --overwrite

Te recomendamos que uses el mismo canal de lanzamiento que el clúster.

Para ver qué canal de lanzamiento usa un espacio de nombres, sigue estos pasos:

kubectl get namespace NAMESPACE -o jsonpath='{.metadata.labels.istio\.io/rev}{"\n"}'

Actualizar proxies no gestionados

Después de cada lanzamiento de Cloud Service Mesh, reinicia los proxies no gestionados de tus servicios y gateways. Aunque la malla de servicios funciona correctamente cuando el plano de control y los proxies tienen versiones diferentes, te recomendamos que actualices los proxies para que se configuren con la nueva versión de Cloud Service Mesh.

  1. Comprueba la versión del plano de control y del proxy.

  2. Si la versión del plano de control es más reciente que la versión del proxy, reinicia los proxies no gestionados de tus servicios y gateways.

    kubectl rollout restart deployment -n NAMESPACE