Descripción general sobre la gestión de versiones de Cloud Composer

En esta página se describe la gestión de versiones de Cloud Composer y se enumeran las diferencias entre las versiones principales de Cloud Composer.

Versiones principales de Cloud Composer

Cloud Composer tiene las siguientes versiones principales:

  • Cloud Composer 1. Tiene un escalado de entorno manual y la infraestructura se despliega en tus proyectos y redes.
  • Cloud Composer 2. En esta versión, el clúster del entorno se escala automáticamente para satisfacer las demandas de recursos.
  • Cloud Composer 3. Esta versión simplifica la configuración de la red y oculta los componentes de la infraestructura, como el clúster del entorno y las dependencias del entorno de otros servicios.

Comparación de versiones de Cloud Composer

En la siguiente tabla se enumeran las principales diferencias entre Cloud Composer 1, Cloud Composer 2 y Cloud Composer 3.

Función Cloud Composer 1 Cloud Composer 2 Cloud Composer 3
Versión de la imagen composer-1.b.c-airflow-x.y.z composer-2.b.c-airflow-x.y.z composer-3-airflow-x.y.z-build.t
Versiones de Airflow Airflow 1.10.* y Airflow 2 Airflow 2 Airflow 2
Versiones de Python 3.8.12 3.11.8 (3.11.5 y 3.8.12 en versiones anteriores) 3.11.8
Clúster del entorno Clúster de Google Kubernetes Engine en modo estándar con VPC nativa o basado en rutas Clúster de Google Kubernetes Engine nativo de VPC en modo Autopilot El clúster del entorno no se ha implementado en tu proyecto.
Escalado horizontal Puede ajustar el número de nodos del clúster del entorno. De esta forma, se cambia el número de trabajadores de Airflow.
Puede ajustar el número de programadores de Airflow.
Escala automáticamente el número de trabajadores de Airflow en función de la demanda. Puede definir y cambiar los límites superior e inferior del número de trabajadores.
Puede ajustar el número de programadores y activadores de Airflow
Escala automáticamente el número de trabajadores de Airflow en función de la demanda. Puede definir y cambiar los límites superior e inferior del número de trabajadores.
Puede ajustar el número de programadores, activadores y procesadores de DAGs de Airflow
Escalado vertical Puede definir los tipos de máquinas de los nodos del clúster, el servidor web de Airflow y la base de datos al crear un entorno. Puede cambiar los tipos de máquinas del servidor web y de la base de datos de Airflow. Puede definir y cambiar la configuración de las cargas de trabajo: parámetros de CPU, memoria y almacenamiento de los trabajadores, los programadores y el servidor web de Airflow, así como el tamaño del entorno. Puede definir y cambiar la configuración de las cargas de trabajo: parámetros de CPU, memoria y almacenamiento de los trabajadores, los programadores, el servidor web y los procesadores de DAG de Airflow, así como el tamaño del entorno.
Modelo de precios Modelo de precios de Cloud Composer 1 Modelo de precios de Cloud Composer 2 Modelo de precios de Cloud Composer 3
Control de acceso Roles de Cloud Composer 1 Roles de Cloud Composer. Usa Workload Identity Federation para GKE y requiere permisos adicionales para la cuenta de agente de servicio de Cloud Composer. Roles de Cloud Composer. Usa Workload Identity Federation para GKE. No se necesitan permisos adicionales
Acceso mediante la federación de identidades para los trabajadores No se admite Compatible Compatible
Entornos de alta resiliencia No se admite Compatible Compatible
Política de conservación de bases de datos No se admite Aún no está disponible Compatible
Redes con IP privada Emparejamientos de VPC Private Service Connect Configuración de red simplificada. Se puede cambiar entre IP pública y privada en un entorno ya creado.
Controles de Servicio de VPC Compatible Compatible Compatible
Ejecutores de Airflow Ejecutor de Celery Ejecutor de Celery Ejecutor CeleryKubernetes
Activador de Airflow (operadores aplazables) No se admite Compatible Compatible
Cuenta de servicio personalizada para KubernetesPodOperator Compatible Compatible No se admite
CMEK Compatible Compatible Compatible
Controles de acceso al servidor web Compatible Compatible Compatible
Reiniciar el servidor web Compatible Compatible Compatible
Complementos de servidor web Se admite en entornos de Airflow 1 con la serialización de DAGs inhabilitada. Compatible Se admiten, y los complementos se pueden inhabilitar y habilitar bajo demanda.
Complementos de Scheduler No se admite Compatible No se admite
TimeTables Solo integrado Personalizadas y predefinidas Solo integrado
Programar paquetes de PyPI personalizados No se admite Compatible No se admite
Instalar complementos personalizados Compatible Compatible Compatible
Operaciones de mantenimiento Todas las tareas pueden verse afectadas. Las tareas que tardan menos de 55 minutos en ejecutarse no se ven afectadas. Las tareas que tardan menos de 24 horas en completarse no se ven afectadas.
Almacenar capturas Compatible con las versiones 2.x y 1.10.15 de Airflow Compatible Compatible
Cargando capturas No se admite Compatible Compatible
Capturas programadas No se admite Compatible Compatible
Segmento del entorno personalizado No se admite Compatible Compatible
Guardar los registros de tareas de Airflow solo en Cloud Logging No se admite Compatible Compatible
Integración del linaje de datos No se admite Compatible Compatible
Herramienta de CLI de desarrollo local de Composer No se admite Compatible Compatible

Imágenes de Cloud Composer

Para ejecutar Apache Airflow, Cloud Composer crea imágenes de Docker que agrupan versiones de Airflow con otros archivos binarios comunes y bibliotecas de Python.

Las imágenes de Cloud Composer incluyen modificaciones de Airflow que son específicas de Cloud Composer y no son adecuadas para el código base de Airflow upstream. Cada imagen de Cloud Composer contiene paquetes preinstalados junto con cambios de Airflow específicos de Cloud Composer.

Google publica periódicamente nuevas imágenes de Cloud Composer:

  • En Cloud Composer 3, las imágenes incluyen nuevas compilaciones de las versiones compatibles de Airflow. Puedes seleccionar la versión y la compilación de Airflow que quieras usar. Tu entorno recibe automáticamente las mejoras de Cloud Composer.

  • En Cloud Composer 2 y Cloud Composer 1, las imágenes incluyen mejoras de Cloud Composer y nuevas compilaciones de las versiones compatibles de Airflow. Para disfrutar de las mejoras de Cloud Composer, actualiza tu entorno a una versión posterior de Cloud Composer.

Desactivación y asistencia de versiones

Composer 3

Google ofrece asistencia para una compilación de Airflow durante un periodo de tiempo después de su lanzamiento:

  • De 0 a 12 meses desde la fecha de lanzamiento: se admiten los entornos de Cloud Composer 3 que ejecuten esta compilación de Airflow.

  • 12 meses o más desde la fecha de lanzamiento: no se admiten los entornos de Cloud Composer 3 que ejecuten estas versiones.

    Cuando una compilación de Airflow deja de estar disponible, los entornos que la ejecutan tampoco se admiten y los usuarios deben gestionarlos por completo.

Los entornos funcionan con compilaciones de Airflow compatibles y no compatibles de la siguiente manera:

  • Puedes crear entornos con todas las compilaciones de Airflow compatibles.

  • Puedes seguir usando un entorno con una compilación de Airflow que ya no se admita. El entorno sigue funcionando, puedes seguir usándolo y puedes actualizarlo a una compilación de Airflow compatible.

  • En algunos casos, la única solución disponible para una vulnerabilidad de seguridad es actualizar a una versión o compilación posterior de Airflow.

Composer 2

Google ofrece asistencia para las versiones de Cloud Composer 2 durante un periodo después del lanzamiento de la versión:

  • De 0 a 12 meses desde la fecha de lanzamiento: se admiten los entornos de Cloud Composer 2 que ejecuten estas versiones.

  • Más de 12 meses después de la fecha de lanzamiento: no se admiten los entornos de Cloud Composer 2 que ejecuten estas versiones.

Puedes usar las versiones de Cloud Composer después de la fecha en la que ya no se admitan. Por ejemplo, si tu entorno se basa en una versión de Cloud Composer que ha superado el periodo de asistencia, el entorno seguirá funcionando y podrás seguir usándolo. En ese caso, te recomendamos que actualices tu entorno a una versión compatible.

Composer 1

Se lanzaron nuevas versiones de Cloud Composer 1 hasta finales de marzo del 2023. Todas las versiones lanzadas de Cloud Composer 1 siguen la misma política de obsolescencia de versiones que Cloud Composer 2 y se admiten de acuerdo con ella.

Compatibilidad con versiones de Airflow

Airflow sigue el esquema de control de versiones de software semántico. Cada versión de Airflow tiene una versión principal, una secundaria y una de parche.

Composer 3

En Cloud Composer 3, las nuevas versiones y compilaciones de Airflow estarán disponibles con el tiempo.

Tu entorno puede funcionar con todas las versiones y compilaciones anteriores de Airflow, y recibe actualizaciones de sus componentes de infraestructura automáticamente. Cada versión y compilación se admite tal como se describe en Obsolescencia y asistencia de versiones, y puedes actualizar tu versión de Airflow a una versión o compilación posterior.

Composer 2

Para ver una lista de las versiones de Airflow compatibles con cada versión de Cloud Composer, consulta la lista de versiones de Cloud Composer.

  • En cada lanzamiento, Cloud Composer 2 admite dos versiones secundarias de Airflow 2.

    Por ejemplo, Cloud Composer 2.4.0 es compatible con Airflow 2.4.* y Airflow 2.5.*.

  • Por cada versión secundaria de Airflow 2, Cloud Composer admite una versión de parche.

    Por ejemplo, en Airflow 2.4.*, Cloud Composer admite Airflow 2.4.3.

  • Cuando se publique una nueva versión de parche de Airflow 2 en Cloud Composer, la versión correspondiente tendrá dos versiones de parche de Airflow 2 disponibles para la misma versión secundaria de Airflow. La versión anterior del parche se eliminará en una de las próximas versiones.

    Por ejemplo, Cloud Composer 2.3.4 es compatible con Airflow 2.5.1 y Airflow 2.5.3.

  • Cloud Composer puede saltarse algunas versiones de parche de Airflow entre las versiones de Cloud Composer. Además, si hay problemas funcionales, de calidad o de rendimiento con una versión de parche específica de Airflow, Cloud Composer también puede omitir esta versión.

    Por ejemplo, se omite Airflow 2.1.3 y está disponible Airflow 2.1.4.

  • Una versión de Cloud Composer que ejecute una versión estable de Airflow puede incluir actualizaciones de Airflow que se hayan aplicado a una versión anterior de Airflow.

Composer 1

La versión más reciente de Airflow compatible con Cloud Composer 1 es Airflow 2.4.3.

Solo Cloud Composer 1 admite Airflow 1.10.15, que es la última versión lanzada de Airflow 1.

Esquema de versiones de Cloud Composer

Composer 3

El esquema de control de versiones de Cloud Composer 3 incluye las versiones y las compilaciones de Airflow:

composer-3-airflow-x.y.z-build.t

Donde:

  • composer-3 es la versión principal de Cloud Composer.

  • airflow-x.y.z.build.t es la versión y la compilación de Airflow. Cada versión posterior de la misma versión de Airflow en Cloud Composer 3 tiene un número de compilación superior. El número de compilación lo define Cloud Composer y no el proyecto de código abierto Airflow.

Composer 2

El esquema de control de versiones de imágenes de Cloud Composer 2 incluye las versiones de Cloud Composer y Airflow:

composer-2.b.c-airflow-x.y.z

Donde:

  • composer-2.b.c indica la versión secundaria y de parche de las personalizaciones gestionadas por Cloud Composer en Cloud Composer 2. Por lo general, las versiones secundarias de Cloud Composer corresponden a cambios significativos en la funcionalidad en comparación con la versión secundaria anterior, como cuando se cambia el conjunto de versiones de Airflow disponibles. Las versiones de parche se actualizan en versiones posteriores.

  • airflow-x.y.z es la versión de Airflow. Indica la versión principal, secundaria y de parche de Airflow que se usa en una imagen de Cloud Composer específica.

Composer 1

El esquema de gestión de versiones de imágenes de Cloud Composer 1 incluye las versiones de Cloud Composer y Airflow:

composer-1.b.c-airflow-x.y.z

Donde:

  • composer-1.b.c es la versión de las personalizaciones gestionadas por Cloud Composer.
  • airflow-x.y.z es la versión de Airflow

Alias de versión

Los alias de versión funcionan de la siguiente manera:

  • Cloud Composer resuelve el alias de la versión en el formato completo cuando crea tu entorno:

    • Todos los alias de versión pasan a ser composer-3-airflow-x.y.z-build.t en Cloud Composer 3.
    • Todos los alias de versión se convierten en composer-a.b.c-airflow-x.y.z en Cloud Composer 2 y Cloud Composer 1.
  • En Cloud Composer 3, al usar un alias de versión, como composer-3-airflow-x.y no se actualiza automáticamente la versión y la compilación de Airflow de tu entorno. El entorno se mantiene en la misma compilación y versión de Airflow hasta que lo actualices. El entorno sigue recibiendo actualizaciones automáticas de la infraestructura, como de costumbre.

  • En Cloud Composer 2 y Cloud Composer 1, el uso de un alias de versión, como composer-a-airflow-x.y.z no proporciona actualizaciones automáticas para un entorno. El entorno se mantiene en la misma versión de Cloud Composer y Airflow hasta que lo actualices.

Alias de versiones de Cloud Composer 3

Cloud Composer 3 admite los siguientes alias de versión:

Alias Versión de Airflow
composer-3-airflow-2 Versión y compilación más recientes de Airflow 2
composer-3-airflow-x.y Última versión y compilación de Airflow dentro de las versiones principales y secundarias de x.y
composer-3-airflow-x.y.z Última compilación de la versión especificada de Airflow

Alias de versiones de Cloud Composer 2

Cloud Composer 2 admite los siguientes alias de versión:

Alias Versión de Cloud Composer Versión de Airflow
composer-2-airflow-2 Última versión de Cloud Composer 2 Última versión de Airflow 2
composer-2-airflow-x.y Última versión de Cloud Composer 2 Última versión de Airflow dentro de las versiones principales y secundarias de x.y
composer-2-airflow-x.y.z Última versión de Cloud Composer 2 Versión especificada de Airflow
composer-2.b.c-airflow-x.y Versión especificada de Cloud Composer 2 Última versión de Airflow disponible en las versiones principales y secundarias de x.y

Alias de versiones de Cloud Composer 1

Cloud Composer 1 admite los siguientes alias de versión:

Alias Versión de Cloud Composer Versión de Airflow
composer-1-airflow-2 Última versión de Cloud Composer 1 Última versión de Airflow 2
composer-1-airflow-1 Última versión de Cloud Composer 1 Última versión de Airflow 1
composer-1-airflow-x.y Última versión de Cloud Composer 1 Última versión de Airflow dentro de las versiones principales y secundarias de x.y
composer-1-airflow-x.y.z Última versión de Cloud Composer 1 Versión especificada de Airflow
composer-1.b.c-airflow-x.y Versión especificada de Cloud Composer 1 Última versión de Airflow disponible en las versiones principales y secundarias de x.y.

Los siguientes alias de versión apuntan a Cloud Composer 2. Puedes seguir usándolos, pero te recomendamos que cambies a los alias de tu versión de Cloud Composer.

  • composer-latest-airflow-x.y es igual a composer-2-airflow-x.y.
  • composer-latest-airflow-x.y.z es igual a composer-2-airflow-x.y.z.

Argumentos de versión en Google Cloud CLI

Cuando creas o actualizas un entorno de Cloud Composer con la CLI de Google Cloud, puedes especificar las versiones de Cloud Composer y Airflow:

Composer 3

  • El argumento --image-version especifica la versión y la compilación de Airflow en el formato composer-3-airflow-x.y.z-build.t. Puedes usar alias de versión, que Google Cloud CLI resuelve en el formato completo.

  • --airflow-version especifica la versión de Airflow en los siguientes formatos:

    • El formato x.y.z es para la compilación más reciente de la versión especificada de Airflow. Este formato es igual al alias de la versión composer-3-airflow-x.y.z.

    • El formato x.y se usa para la compilación más reciente de Airflow disponible en las versiones principales y secundarias de x.y. Este formato es igual al alias de la versión composer-3-airflow-x.y.

    • x.y.z-build.t es la versión y la compilación especificadas de Airflow. Este formato es igual a composer-3-airflow-x.y.z-build.t.

Composer 2

  • El argumento --image-version especifica las versiones de Cloud Composer 2 y Airflow:

    • El formato composer-a.b.c-airflow-x.y.z crea un entorno con las versiones especificadas de Cloud Composer y Airflow.
    • Los alias de versión se resuelven primero en el formato composer-a.b.c-airflow-x.y.z y, a continuación, se crea un entorno con las versiones especificadas de Cloud Composer 2 y Airflow.
  • --airflow-version especifica la versión de Airflow en los siguientes formatos:

    • El formato x.y.z es para la versión más reciente de Cloud Composer 2 y la versión especificada de Airflow. Este formato es igual al alias de la versión composer-2-airflow-x.y.z.

    • El formato x.y es para la versión más reciente de Cloud Composer 2 y la versión más reciente de Airflow disponible en las versiones principales y secundarias de x.y. Este formato es igual al alias de la versión composer-2-airflow-x.y.

Composer 1

  • El argumento --image-version especifica las versiones de Cloud Composer 1 y Airflow:

    • El formato composer-a.b.c-airflow-x.y.z crea un entorno con las versiones especificadas de Cloud Composer y Airflow.
    • Los alias de versión se resuelven primero en el formato composer-a.b.c-airflow-x.y.z y, a continuación, crean un entorno con las versiones especificadas de Cloud Composer 1 y Airflow.
  • --airflow-version especifica la versión de Airflow en los siguientes formatos:

    • El formato x.y.z es para la versión más reciente de Cloud Composer 1 y la versión especificada de Airflow. Este formato es igual al alias de la versión composer-1-airflow-x.y.z.

    • El formato x.y es para la versión más reciente de Cloud Composer 1 y la versión más reciente de Airflow disponible en las versiones principales y secundarias de x.y. Este formato es igual al alias de la versión composer-1-airflow-x.y.

Siguientes pasos