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 y Airflow 3 (versión preliminar)
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 de Workforce No compatible Compatible Compatible
Entornos de alta resiliencia No compatible Compatible Compatible
Política de conservación de bases de datos No compatible 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 Celery Executor Celery Executor Ejecutor CeleryKubernetes
Activador de Airflow (operadores aplazables) No compatible 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 Compatible con 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 compatible Compatible No compatible
Procesadores No compatible Compatible Solo los listeners de nivel de tarea
TimeTables Solo integrado Personalizadas y predefinidas Solo integrado
Programar paquetes de PyPI personalizados No compatible Compatible No compatible
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
Cargar capturas No compatible Compatible Compatible
Capturas programadas No compatible Compatible Compatible
Segmento del entorno personalizado No compatible Compatible Compatible
Guardar los registros de tareas de Airflow solo en Cloud Logging No compatible Compatible Compatible
Integración del linaje de datos No compatible Compatible Compatible
Herramienta de CLI de desarrollo local de Composer No compatible Compatible Compatible

Comparación de versiones de Airflow

Cloud Composer 3 proporciona entornos con Airflow 2 y Airflow 3. Mientras Airflow 3 esté en versión preliminar, es posible que algunas funciones de Airflow y Cloud Composer no estén disponibles.

Compatibilidad con las funciones de Cloud Composer 3

En la siguiente tabla se resumen las funciones de Cloud Composer 3 que aún no se admiten en la versión preliminar de Airflow 3. Todas las demás funciones de Cloud Composer 3 que no se mencionan en esta página se admiten en la versión preliminar de Airflow 3 y funcionan de forma similar a los entornos con Airflow 2.

Función Estado Descripción
Instantáneas de entornos No disponible en la versión preliminar de Airflow 3 Guardar o cargar capturas de entornos de Airflow 3.
Actualizaciones de Airflow 3 (capturas) No disponible en la versión preliminar de Airflow 3 Migración en paralelo de entornos de Cloud Composer 3 de Airflow 2 a Airflow 3 mediante instantáneas.
Actualizaciones a Airflow 3 (in situ) No disponible en la versión preliminar de Airflow 3 Actualizaciones in situ de entornos de Cloud Composer 3 de Airflow 2 a Airflow 3 especificando una versión con Airflow 3 durante una actualización.
Conservación de bases de datos No disponible en la versión preliminar de Airflow 3 Configurar una política de retención de bases de datos para entornos con Airflow 3
Compatibilidad con la federación de identidades para los trabajadores No disponible en la versión preliminar de Airflow 3 Usar un proveedor de identidades externo en entornos con Airflow 3.
Registro de roles por carpeta No disponible en la versión preliminar de Airflow 3 Configurar automáticamente los permisos a nivel de DAG con esta función en Airflow 3.
Herramienta de CLI de desarrollo local de Composer No disponible en la versión preliminar de Airflow 3 Crea, configura y ejecuta un entorno local de Airflow 3 con la herramienta de línea de comandos de desarrollo local de Composer.

Problemas conocidos de la versión preliminar de Airflow 3

Se han identificado los siguientes problemas conocidos en la vista previa de Airflow 3:

  • Mensajes de advertencia en los registros de las cargas de trabajo de Airflow. Estos mensajes se pueden ignorar sin problemas.
  • La utilidad airflowctl no se puede usar fácilmente en entornos sin interfaz gráfica, como los trabajadores de Airflow en Cloud Composer o los contenedores Docker. Esta es una limitación de la utilidad. Para obtener más información sobre esta limitación, consulta el problema 58230 en el repositorio de Airflow en GitHub.

Compatibilidad con las funciones de Airflow 3

En la siguiente tabla se enumeran las funciones de Airflow 3 y su compatibilidad en la versión preliminar de Airflow 3:

Función Estado
Interfaz de usuario de Airflow 3.0 Compatible
Gestión de versiones de DAG Compatible
Rellenos (desde la interfaz de usuario de Airflow) Compatible
Programación basada en eventos Compatible
Assets Compatible
Ejecución de inferencias y ajuste de hiperparámetros Compatible
Herramienta de línea de comandos airflowctl Compatible
Paquetes de DAG (que no sean LocalDagBundle) No disponible en la versión preliminar de Airflow 3
Edge Executor y tareas en otros lenguajes de programación No disponible en la versión preliminar de Airflow 3

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

Compositor 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 después de la fecha de lanzamiento: no se admiten los entornos de Cloud Composer 3 que ejecuten estas versiones.

    Cuando ya no se admite una compilación de Airflow, los entornos que la ejecutan tampoco se admiten y los usuarios los gestionan 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 sea compatible. 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 de tiempo 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.

  • 12 meses o más 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.

Esquemas de versiones

En esta sección se describen los esquemas de versiones y los alias de versiones de Airflow y Cloud Composer.

Esquema de la versión de Airflow

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

Compositor 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 elimina 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

Compositor 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, el uso de un alias de versión, como composer-3-airflow-x.y no 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 versión 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:

Compositor 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 es 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