Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página, se describe cómo actualizar tu entorno a una versión nueva de Airflow.
Acerca de las operaciones de actualización
En Cloud Composer 3, no administras la versión de Cloud Composer de tu entorno:
- Cloud Composer actualiza automáticamente los componentes de infraestructura de tu entorno. Estos componentes están relacionados con la funcionalidad de Cloud Composer y no cambian el funcionamiento de Airflow ni la forma en que se ejecutan tus DAG de Airflow.
- Cloud Composer no actualiza automáticamente la versión ni la compilación de Airflow, los componentes de Airflow ni los componentes estrechamente relacionados con las cargas de trabajo de Airflow. No cambian cuando los componentes de la infraestructura se actualizan automáticamente.
- Puedes actualizar de forma manual a una nueva versión o compilación de Airflow.
Por ejemplo, puedes usar la misma versión y compilación de Airflow durante varios meses, sin realizar ninguna actualización, y tu entorno seguirá recibiendo las actualizaciones, correcciones y mejoras más recientes de Cloud Composer de los componentes de la infraestructura del entorno. Cuando más adelante decidas cambiar a una versión o compilación nueva de Airflow, actualizarás la versión de Airflow en tu entorno.
Información acerca de la actualización de la versión de Airflow
Tu entorno cambia la versión o compilación de Airflow de la siguiente manera:
Tú controlas la versión (y compilación) de Airflow de tu entorno. Puedes realizar la operación de actualización de versión de Airflow cuando decidas cambiar tu entorno a una versión diferente de Airflow. Por ejemplo, esto puede suceder si la versión y compilación actuales de Airflow ya no son compatibles.
Cloud Composer vuelve a implementar los componentes de Airflow de tu entorno con la versión y compilación de Airflow especificada.
Cloud Composer aplica cambios de configuración de Airflow, como paquetes de PyPI personalizados o anulaciones de opciones de configuración de Airflow, si tu entorno los tenía antes de la actualización.
Cloud Composer actualiza la conexión
airflow_db
de Airflow para que apunte a la nueva base de datos de Cloud SQL.
Cambiar la versión de Airflow no cambia la forma en que te conectas con los recursos de tu entorno, como la URL del bucket de tu entorno o el servidor web de Airflow.
Información acerca de las operaciones de actualización automática de la infraestructura
Cloud Composer ejecuta de forma periódica operaciones de actualización de infraestructura automática:
Las operaciones de actualización automática de la infraestructura se ejecutan de forma periódica durante los períodos de mantenimiento especificados para el entorno.
No es posible inhabilitar las actualizaciones automáticas de la infraestructura en Cloud Composer 3. Puedes controlar los períodos en los que se pueden ejecutar las actualizaciones automáticas si especificas períodos de mantenimiento personalizados para tu entorno.
Esta operación se puede ver en la consola de Google Cloud y en los registros del entorno, como cualquier otra operación de larga duración. Mientras la operación se está ejecutando, no puedes iniciar otras operaciones a nivel del entorno (pero puedes ejecutar DAG de Airflow).
En algunos casos, las actualizaciones automáticas de la infraestructura pueden reiniciar los componentes de Airflow. Durante esos reinicios, los trabajadores de Airflow se cancelan de forma ordenada con un período de gracia de 24 horas. Si tienes tareas que tardan más de 24 horas en completarse, considera usar operadores diferibles. Una actualización puede provocar un período breve de falta de disponibilidad para los componentes de la infraestructura del entorno, como la supervisión del entorno.
Limitaciones de las operaciones de actualización
Las operaciones de actualización tienen las siguientes limitaciones:
- No puedes cambiar a una versión o compilación anterior de Airflow.
No puedes actualizar el entorno si la base de datos de Airflow contiene más de 20 GB de datos. Durante una actualización, se muestra una advertencia si el tamaño de la base de datos de Airflow es superior a 20 GB. En este caso, realiza el mantenimiento de la base de datos para reducir el tamaño de la base de datos.
Si usas el mecanismo XCom para transferir archivos, asegúrate de usarlo de acuerdo con los lineamientos de Airflow. La transferencia de archivos grandes o una gran cantidad de archivos con XCom afecta el rendimiento de la base de datos de Airflow y puede generar fallas cuando se cargan instantáneas o se actualiza el entorno. Considera usar alternativas como Cloud Storage para transferir grandes volúmenes de datos.
Antes de comenzar
Te recomendamos crear una instantánea nueva del entorno para poder volver a crearlo en caso de que sea necesario.
Tu cuenta debe tener una función que pueda activar las operaciones de actualización del entorno. Además, la cuenta de servicio del entorno debe tener un rol que tenga suficientes permisos para realizar operaciones de actualización. Para obtener más información, consulta Control de acceso.
Comprueba que tu entorno esté actualizado
Cloud Composer muestra advertencias cuando la compilación de Airflow de tu entorno se acerca a la fecha de finalización de la asistencia. Puedes usar estas advertencias para mantener siempre tu entorno compatible.

Cloud Composer realiza un seguimiento de la versión y compilación de Airflow en la que se basa tu entorno. Cuando se acerque la fecha de finalización de la compatibilidad, podrás ver una advertencia en la lista de entornos y en la página Detalles del entorno.
Para comprobar si tu entorno está actualizado, haz lo siguiente:
Console
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En el campo Versión de la imagen, se muestra uno de los siguientes mensajes:
Versión disponible más reciente: Tu imagen de entorno es totalmente compatible.
Nueva versión disponible: La imagen de tu entorno es completamente compatible y puedes actualizarla a una versión posterior.
La compatibilidad con esta versión de imagen finaliza en… La imagen del entorno se acerca al final del período de asistencia completa.
Esta versión no es compatible desde… Tu entorno pasó el período de asistencia completa.
gcloud
Esta funcionalidad no está disponible a través de Google Cloud CLI. En su lugar, puedes ver las actualizaciones sugeridas, que muestra las versiones nuevas disponibles.
API
Esta función no está disponible a través de la API. En su lugar, puedes ver las actualizaciones sugeridas, que muestra las versiones nuevas disponibles.
Cómo ver las actualizaciones sugeridas
Cloud Composer proporciona una lista de compilaciones de Airflow a las que puedes actualizar tu entorno.
Para ver las versiones de Cloud Composer sugeridas para una actualización, sigue estos pasos:
Console
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno y haz clic en Actualizar versión con imágenes.
Para ver la lista de versiones sugeridas, haz clic en el menú desplegable Versión con imágenes de Cloud Composer.
gcloud
gcloud composer environments list-upgrades \
ENVIRONMENT_NAME \
--location LOCATION
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entorno.
Ejemplo:
gcloud composer environments list-upgrades example-environment \
--location us-central1
API
Puedes ver las versiones disponibles para una ubicación. Para ello, crea una solicitud a la API de imageVersions.list
.
Por ejemplo:
// GET https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/imageVersions
Verifica los conflictos de paquetes de PyPI antes de la actualización
Puedes verificar si los paquetes de PyPI instalados en tu entorno tienen conflictos con los paquetes preinstalados en la nueva versión o compilación de Airflow.
Una verificación exitosa significa que no hay conflictos en las dependencias de paquetes de PyPI entre la versión actual y la especificada. Sin embargo, es posible que una operación de actualización aún no sea exitosa por otros motivos.
Console
Para ejecutar una verificación de actualización en tu entorno, haz lo siguiente:
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno, busca la entrada Versión con imágenes y haz clic en Actualizar.
En el cuadro de diálogo Actualización de la versión del entorno, en la lista desplegable Versión nueva, selecciona una versión o compilación de Airflow a la que deseas actualizar.
En la sección Compatibilidad de paquetes de PyPI, haz clic en Verificar la presencia de conflictos.
Espera hasta que se complete la verificación. Si hay conflictos de dependencia de paquetes de PyPI, los mensajes de error que se muestran contienen detalles sobre los paquetes y las versiones de paquetes en conflicto.
gcloud
Para ejecutar una verificación de actualización en tu entorno, ejecuta el comando environments check-upgrade
con la versión o compilación de Airflow a la que quieres actualizar.
gcloud composer environments check-upgrade \
ENVIRONMENT_NAME \
--location LOCATION \
--airflow-version VERSION
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entorno.VERSION
con la nueva versión y compilación de Airflow a la que deseas actualizar, en formatoairflow-x.y.z-build.t
. También puedes usar todos los alias de versión.
Ejemplo:
gcloud composer environments check-upgrade example-environment \
--location us-central1 \
--airflow-version airflow-2.10.2-build.7
Resultado de ejemplo:
Waiting for [projects/example-project/locations/us-central1/environments/
example-environment] to be checked for PyPI package conflicts when upgrading
to composer-3-airflow-2.10.2-build.7. Operation [projects/example-project/locations/
us-central1/operations/04d0e8b2-...]...done.
...
Response:
'@type': type.googleapis.com/
google.cloud.orchestration.airflow.service.v1.CheckUpgradeResponse
buildLogUri: https://console.cloud.google.com/cloud-build/builds/79738aa7-...
containsPypiModulesConflict: CONFLICT
pypiConflictBuildLogExtract: |-
The Cloud Build image build failed: Build failed; check build logs for
details. Full log can be found at https://console.cloud.google.com/
cloud-build/builds/79738aa7-...
Error details: tensorboard 2.2.2 has requirement
setuptools>=41.0.0, but you have setuptools 40.3.0.
Como alternativa, puedes ejecutar una verificación de actualización de forma asíncrona. Usa el argumento --async
para realizar una llamada asíncrona y, luego, verifica el resultado con el comando gcloud composer operations describe
.
API
Realiza una solicitud a la API de environments.checkUpgrade
.
Especifica la versión con imágenes en el campo imageVersion
:
{
"imageVersion": "VERSION"
}
Reemplaza VERSION
por la versión nueva a la que deseas actualizar, en el formato composer-3-airflow-x.y.z-build.t
.
Actualiza tu entorno
Para actualizar tu entorno a una versión o compilación nueva de Airflow, haz lo siguiente:
Console
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
Busca el elemento Versión con imágenes y haz clic en Actualizar.
En el menú desplegable Versión de imagen, selecciona una versión o compilación de Airflow a la que deseas actualizar.
Haz clic en Actualizar.
gcloud
gcloud composer environments update \
ENVIRONMENT_NAME \
--location LOCATION \
--airflow-version VERSION
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entorno.VERSION
con la nueva versión y compilación de Airflow a la que deseas actualizar, en formatoairflow-x.y.z-build.t
. También puedes usar todos los alias de versión.
Por ejemplo:
gcloud composer environments update
example-environment \
--location us-central1 \
--airflow-version airflow-2.10.2-build.7
API
Realiza una solicitud a la API de
environments.patch
.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask
, especifica la máscaraconfig.softwareConfig.imageVersion
.En el cuerpo de la solicitud, en el campo
imageVersion
, especifica una versión nueva a la que deseas actualizar.
Por ejemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.imageVersion
{
"config": {
"softwareConfig": {
"imageVersion": "composer-3-airflow-2.10.2-build.7"
}
}
}
Terraform
El campo image_version
en el bloque config.software_config
controla la versión y la compilación de Airflow de tu entorno. En este campo, especifica una nueva versión de Airflow y compila.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "VERSION"
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entorno. la nueva versión y compilación de Airflow a la que deseas actualizar, en formatoairflow-x.y.z-build.t
También puedes usar todos los alias de versión.
Ejemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
software_config {
image_version = "airflow-2.10.2-build.7"
}
}
}