Descripción general del control de versiones de Cloud Composer

En esta página, se describe el control de versiones de Cloud Composer y se enumeran las diferencias entre las principales versiones de Cloud Composer.

Versiones principales de Cloud Composer

Cloud Composer tiene las siguientes versiones principales:

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

Comparación de las versiones de Cloud Composer

En la siguiente tabla, se enumeran las diferencias principales 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 en modo estándar de Google en Kubernetes Engine basado en rutas o nativo de la VPC Clúster en modo Autopilot de Google Kubernetes Engine nativo de la VPC El clúster del entorno no se implementó en tu proyecto.
Escalamiento horizontal: Puedes ajustar la cantidad de nodos en el clúster del entorno. Esto cambia la cantidad de trabajadores de Airflow.
Puede ajustar la cantidad de programadores de Airflow.
Escala automáticamente la cantidad de trabajadores de Airflow, según la demanda. Puede establecer y cambiar los límites superior e inferior para la cantidad de trabajadores.
Puede ajustar la cantidad de programadores y activadores de Airflow
Escala automáticamente la cantidad de trabajadores de Airflow, según la demanda. Puede establecer y cambiar los límites superior e inferior para la cantidad de trabajadores.
Puede ajustar la cantidad de programadores, activadores y procesadores de DAG de Airflow
Ajuste de escala vertical Puede establecer tipos de máquinas para los nodos del clúster y el servidor web y la base de datos de Airflow cuando se crea un entorno. Puede cambiar los tipos de máquina para el servidor web y la base de datos de Airflow. Puede establecer y cambiar la configuración de las cargas de trabajo: parámetros de CPU, memoria y almacenamiento para los trabajadores, los programadores, el servidor web y el tamaño del entorno de Airflow. Puede establecer y cambiar la configuración de las cargas de trabajo: parámetros de CPU, memoria y almacenamiento para los trabajadores, los programadores, el servidor web, los procesadores de DAG y el tamaño del entorno de Airflow.
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 Funciones de Cloud Composer: Usa la federación de identidades para cargas de trabajo para GKE y requiere permisos adicionales para la cuenta del agente de servicio de Cloud Composer. Funciones de Cloud Composer: Usa la federación de identidades para cargas de trabajo para GKE. No se requieren permisos adicionales.
Acceso a través de la federación de identidades de personal No compatible Admitido Admitido
Entornos altamente resilientes No compatible Admitido Admitido
Política de retención de la base de datos No compatible Aún no está disponible Admitido
Herramientas de redes de IP privada Intercambios de tráfico entre VPC Private Service Connect Configuración de red simplificada. Se puede cambiar entre IP pública y privada en un entorno existente.
Controles del servicio de VPC Admitido Compatible Admitido
Ejecutores de Airflow Ejecutor de Celery Ejecutor de Celery CeleryKubernetes Executor
Activador de Airflow (operadores diferibles) No compatible Admitido Admitido
Cuenta de servicio personalizada para KubernetesPodOperator Admitido Admitido No compatible
CMEK Admitido Admitido Admitido
Controles de acceso al servidor web Admitido Admitido Admitido
Reinicia el servidor web Admitido Admitido Admitido
Complementos del servidor web Compatible con los entornos de Airflow 1 con inhabilitación de la serialización de DAG. Admitido Se admiten complementos que se pueden habilitar o inhabilitar a pedido.
Complementos del programador No compatible Admitido No compatible
Paquetes personalizados de PyPI del programador No compatible Admitido No compatible
Instalar complementos personalizados Admitido Admitido Admitido
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 ejecutarse no se ven afectadas.
Almacenamiento de instantáneas Compatible con las versiones 2.x y 1.10.15 de Airflow Admitido Admitido
Cargando instantáneas No compatible Admitido Admitido
Instantáneas programadas No compatible Admitido Admitido
Bucket del entorno personalizado No compatible Admitido Admitido
Cómo guardar registros de tareas de Airflow solo en Cloud Logging No compatible Admitido Admitido
Integración del linaje de datos No compatible Admitido Admitido
Herramienta de CLI de Composer Local Development No compatible Admitido Admitido

Imágenes de Cloud Composer

Para ejecutar Apache Airflow, Cloud Composer compila imágenes de Docker que agrupan actualizaciones de Airflow con otros objetos binarios comunes y bibliotecas de Python.

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

Google lanza de forma periódica imágenes nuevas de Cloud Composer:

  • En Cloud Composer 3, las imágenes incluyen compilaciones nuevas de las versiones compatibles de Airflow. Puedes seleccionar una versión de Airflow y una compilación 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 compilaciones nuevas de las versiones compatibles de Airflow. Para obtener mejoras en Cloud Composer, actualiza tu entorno a una versión posterior de Cloud Composer.

Baja y asistencia de la versión

Composer 3

Google admite una compilación de Airflow durante un período después de su lanzamiento:

  • Entre 0 y 12 meses desde la fecha de lanzamiento: Se admiten los entornos de Cloud Composer 3 que ejecutan esta compilación de Airflow.

  • Más de 12 meses desde la fecha de lanzamiento: Los entornos de Cloud Composer 3 que ejecutan estas versiones no son compatibles.

    Después de que una compilación de Airflow deja de ser compatible, los entornos que ejecutan esta compilación de Airflow tampoco son compatibles y son completamente administrados por el usuario.

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.

  • Aun así, puedes usar un entorno con una compilación de Airflow que ya no se admite. 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 admite las versiones de Cloud Composer 2 durante un período después del lanzamiento de la versión:

  • Entre 0 y 12 meses desde la fecha de lanzamiento: Se admiten los entornos de Cloud Composer 2 que ejecutan estas versiones.

  • Más de 12 meses desde la fecha de lanzamiento: Los entornos de Cloud Composer 2 que ejecutan estas versiones no son compatibles.

Puedes usar las versiones de Cloud Composer después de la fecha en que ya no sean compatibles. Por ejemplo, si tu entorno se basa en una versión de Cloud Composer que ya pasó el período de asistencia, el entorno seguirá funcionando y podrás seguir usándolo. En este caso, te recomendamos que actualices tu entorno a una versión compatible.

Composer 1

Se lanzaron nuevas versiones de Cloud Composer 1 hasta fines de marzo de 2023. Todas las versiones lanzadas de Cloud Composer 1 siguen la misma política de baja de versiones que Cloud Composer 2 y se admiten según esta.

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, secundaria y de parche.

Composer 3

En Cloud Composer 3, a medida que pasa el tiempo, se encuentran disponibles nuevas versiones y compilaciones de Airflow.

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 según se describe en Obsolescencia y compatibilidad de versiones, y puedes optar por actualizar tu versión de Airflow a una versión o compilación posterior.

Composer 2

Para obtener 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 versión, Cloud Composer 2 admite dos versiones secundarias de Airflow 2.

    Por ejemplo, Cloud Composer 2.4.0 admite Airflow 2.4.* y Airflow 2.5.*.

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

    Por ejemplo, para Airflow 2.4.*, Cloud Composer es compatible con Airflow 2.4.3.

  • Cuando una nueva versión de parche de Airflow 2 está disponible en Cloud Composer, la versión correspondiente tiene dos versiones de parche de Airflow 2 disponibles para la misma versión secundaria de Airflow. Luego, se quita la versión de parche anterior en una de las próximas versiones.

    Por ejemplo, Cloud Composer 2.3.4 admite Airflow 2.5.1 y Airflow 2.5.3.

  • Cloud Composer puede omitir 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 transfieren desde una versión posterior 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 versión más reciente de Airflow 1.

Esquema de la versión de Cloud Composer

Composer 3

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

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

Aquí:

  • 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 más alto. Cloud Composer define el número de compilación, no el proyecto de código abierto de Airflow.

Composer 2

El esquema de control de versiones de imagen de Cloud Composer 2 captura las versiones de Cloud Composer y Airflow:

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

Aquí:

  • composer-2.b.c denota la versión secundaria y de parche de las personalizaciones administradas por Cloud Composer en Cloud Composer 2. Como regla general, las versiones secundarias de Cloud Composer corresponden a cambios significativos en la funcionalidad en comparación con la versión secundaria anterior, por ejemplo, cuando se cambia el conjunto disponible de versiones de Airflow. Las versiones de parche se actualizan en versiones posteriores.

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

Composer 1

El esquema de control de versiones de imagen de Cloud Composer 1 captura las versiones de Cloud Composer y Airflow:

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

Aquí:

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

Alias de versiones

Los alias de versiones 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 se convierten en 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, usar 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 permanece en la misma compilación y versión de Airflow hasta que lo actualices. El entorno sigue recibiendo actualizaciones automáticas de infraestructura, como de costumbre.

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

Alias de la 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 Última versión y compilación de Airflow 2
composer-3-airflow-x.y Última versión y compilación de Airflow dentro de las versiones principal y secundaria de x.y
composer-3-airflow-x.y.z Compilación más reciente de la versión especificada de Airflow

Alias de la versión 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 Versión más reciente de Cloud Composer 2 La versión más reciente de Airflow 2
composer-2-airflow-x.y Versión más reciente de Cloud Composer 2 Versión más reciente de Airflow dentro de las versiones principal y secundaria de x.y
composer-2-airflow-x.y.z Versión más reciente de Cloud Composer 2 Versión especificada de Airflow
composer-2.b.c-airflow-x.y Versión especificada de Cloud Composer 2 Versión más reciente de Airflow disponible en las versiones principal y secundaria de x.y

Alias de la versión 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 Versión más reciente de Cloud Composer 1 La versión más reciente de Airflow 2
composer-1-airflow-1 Versión más reciente de Cloud Composer 1 La versión más reciente de Airflow 1
composer-1-airflow-x.y Versión más reciente de Cloud Composer 1 Versión más reciente de Airflow dentro de las versiones principal y secundaria de x.y
composer-1-airflow-x.y.z Versión más reciente de Cloud Composer 1 Versión especificada de Airflow
composer-1.b.c-airflow-x.y Versión especificada de Cloud Composer 1 Es la versión más reciente de Airflow disponible en las versiones principal y secundaria de x.y.

Los siguientes alias de versión apuntan a Cloud Composer 2. Puedes seguir usándolos, pero considera cambiar a alias para 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 Google Cloud CLI, 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 equivale al alias de 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 principal y secundaria de x.y. Este formato es igual al alias de 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 primero se resuelven en el formato composer-a.b.c-airflow-x.y.z y, luego, crean 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 equivale al alias de 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 principal y secundaria de x.y. Este formato equivale al alias de 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 primero se resuelven en el formato composer-a.b.c-airflow-x.y.z y, luego, 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 equivale al alias de 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 versión composer-1-airflow-x.y.

¿Qué sigue?