Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página se describe cómo actualizar tu entorno a una nueva versión de Airflow.
Acerca de las operaciones de actualización
En Cloud Composer 3, no gestionas 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 DAGs de Airflow.
- Cloud Composer no actualiza automáticamente la versión y la compilación de Airflow, los componentes de Airflow ni los componentes estrechamente relacionados con las cargas de trabajo de Airflow. No se modifican cuando los componentes de la infraestructura se actualizan automáticamente.
- Puedes actualizar manualmente 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 últimas actualizaciones, correcciones y mejoras de Cloud Composer de los componentes de la infraestructura del entorno. Si más adelante decides cambiar a una nueva versión o compilación de Airflow, actualiza la versión de Airflow en tu entorno.
Información sobre la actualización de la versión de Airflow
Tu entorno cambia la versión o la compilación de Airflow de la siguiente manera:
Tú controlas la versión (y la compilación) de Airflow de tu entorno. Puedes realizar la operación de actualización de la versión de Airflow cuando quieras cambiar tu entorno a otra versión de Airflow. Por ejemplo, esto puede ocurrir si la versión y la 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 la compilación de Airflow especificadas.
Cloud Composer aplica los cambios de configuración de Airflow, como los paquetes PyPI personalizados o las 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 de Airflow
airflow_db
para que apunte a la nueva base de datos de Cloud SQL.
Cambiar la versión de Airflow no modifica la forma en que te conectas a los recursos de tu entorno, como la URL del bucket de tu entorno o el servidor web de Airflow.
Acerca de las operaciones de actualización automática de la infraestructura
Cloud Composer ejecuta periódicamente operaciones de actualización automática de la infraestructura:
Las operaciones de actualización automática de la infraestructura se ejecutan periódicamente durante las ventanas de mantenimiento especificadas para el entorno.
No se pueden inhabilitar las actualizaciones automáticas de la infraestructura en Cloud Composer 3. Puedes controlar los periodos en los que se pueden realizar las actualizaciones automáticas especificando ventanas de mantenimiento personalizadas para tu entorno.
Esta operación se puede ver en los registros de la consola y del entorno, como cualquier otra operación de larga duración. Google Cloud Mientras se ejecuta la operación, no puedes iniciar otras operaciones a nivel del entorno (pero sí puedes ejecutar DAGs de Airflow).
En algunos casos, las actualizaciones automáticas de la infraestructura pueden reiniciar los componentes de Airflow. Durante estos reinicios, los trabajadores de Airflow se terminan correctamente con un periodo de gracia de 24 horas. Si tienes tareas que tardan más de 24 horas en completarse, puedes usar operadores aplazables. Una actualización puede provocar un breve periodo de inactividad de los componentes de la infraestructura del entorno, como la monitorización del entorno.
Limitaciones de las operaciones de actualización
Las operaciones de actualización tienen las siguientes limitaciones:
Las versiones de Cloud Composer se lanzan gradualmente en todas las regiones admitidas por Cloud Composer a lo largo de varios días. Es posible que la versión más reciente de una lanzamiento en curso aún no esté disponible en tu región.
No puedes cambiar a una versión o compilación anterior de Airflow.
No puedes actualizar tu 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 su tamaño.
Si usas el mecanismo XCom para transferir archivos, asegúrate de usarlo de acuerdo con las directrices de Airflow. La transferencia de archivos grandes o de un gran número de archivos mediante XCom afecta al rendimiento de la base de datos de Airflow y puede provocar errores al cargar instantáneas o actualizar el entorno. Puedes usar alternativas como Cloud Storage para transferir grandes volúmenes de datos.
Antes de empezar
Te recomendamos que crees una nueva captura del entorno para poder recrearlo si es necesario.
Tu cuenta debe tener un rol que pueda activar operaciones de actualización del entorno. Además, la cuenta de servicio del entorno debe tener un rol con permisos suficientes para realizar operaciones de actualización. Para obtener más información, consulta Control de acceso.
Comprobar que el entorno esté actualizado
Cloud Composer muestra advertencias cuando la compilación de Airflow de tu entorno se acerca a la fecha de finalización del soporte. Puedes usar estas advertencias para que tu entorno siempre sea compatible.

Cloud Composer registra la versión y la compilación de Airflow en las que se basa tu entorno. Cuando se acerque la fecha de finalización del servicio, verás una advertencia en la lista de entornos y en la página Detalles del entorno.
Para comprobar si tu entorno está actualizado, sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre del 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 más reciente disponible. Tu imagen del entorno es totalmente compatible.
Hay una nueva versión disponible. Tu imagen de entorno es totalmente compatible y puedes actualizarla a una versión posterior.
Esta versión de imagen dejará de ser compatible en... La imagen de tu entorno se acerca al final del periodo de asistencia completa.
Esta versión dejará de ser compatible el... Tu entorno ha superado el periodo de asistencia completa.
gcloud
Esta función no está disponible en Google Cloud CLI. También puedes ver las actualizaciones sugeridas, donde se muestran las nuevas versiones disponibles.
API
Esta función no está disponible a través de la API. También puedes ver las actualizaciones sugeridas, donde se muestran las nuevas versiones disponibles.
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, siga estos pasos:
Consola
En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre del 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 de la imagen.
Para ver la lista de versiones sugeridas, haz clic en el menú desplegable Cloud Composer Versión de imagen.
gcloud
gcloud composer environments list-upgrades \
ENVIRONMENT_NAME \
--location LOCATION
Sustituye:
ENVIRONMENT_NAME
con el nombre del entorno.LOCATION
con la región en la que se encuentra el entorno.
Ejemplo:
gcloud composer environments list-upgrades example-environment \
--location us-central1
API
Puede ver las versiones disponibles de una ubicación. Para ello, crea una solicitud de la API imageVersions.list
.
Por ejemplo:
// GET https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/imageVersions
Comprobar si hay conflictos de paquetes de PyPI antes de actualizar
Puedes comprobar si los paquetes de PyPI instalados en tu entorno tienen algún conflicto con los paquetes preinstalados en la nueva versión o compilación de Airflow.
Si la comprobación se realiza correctamente, significa que no hay conflictos en las dependencias de los paquetes de PyPI entre la versión actual y la especificada. Sin embargo, es posible que la operación de actualización no se realice correctamente por otros motivos.
Consola
Para ejecutar una comprobación de actualización en tu entorno, sigue estos pasos:
En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre del entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno, busca la entrada Versión de la imagen y haz clic en Actualizar.
En el cuadro de diálogo Actualización de la versión del entorno, en la lista desplegable Nueva versión, selecciona la versión o compilación de Airflow a la que quieras actualizar.
En la sección Compatibilidad de paquetes de PyPI, haga clic en Buscar conflictos.
Espera a que se complete la comprobación. Si hay conflictos de dependencias 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 comprobación de actualización de tu entorno, ejecuta el comando
environments check-upgrade
con la versión o compilación de Airflow
a la que quieras actualizar.
gcloud composer environments check-upgrade \
ENVIRONMENT_NAME \
--location LOCATION \
--airflow-version VERSION
Sustituye:
ENVIRONMENT_NAME
con el nombre del entorno.LOCATION
con la región en la que se encuentra el entorno.VERSION
con la nueva versión y compilación de Airflow a la que quieras 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.5-build.11
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.5-build.11. 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.
También puedes ejecutar una comprobación de actualización de forma asíncrona. Usa el argumento --async
para hacer una llamada asíncrona y, a continuación, comprueba el resultado con el comando gcloud composer operations describe
.
API
Crea una solicitud de la API environments.checkUpgrade
.
Especifique la versión de la imagen en el campo imageVersion
:
{
"imageVersion": "VERSION"
}
Sustituye VERSION
por la nueva versión a la que quieras actualizar, en formato composer-3-airflow-x.y.z-build.t
.
Actualizar el entorno
Para actualizar tu entorno a una nueva versión o compilación de Airflow, sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre del entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
Busca el elemento Versión de imagen y haz clic en Actualizar.
En el menú desplegable Versión de imagen, selecciona la versión o compilación de Airflow a la que quieras actualizar.
Haz clic en Actualizar.
gcloud
gcloud composer environments update \
ENVIRONMENT_NAME \
--location LOCATION \
--airflow-version VERSION
Sustituye:
ENVIRONMENT_NAME
con el nombre del entorno.LOCATION
con la región en la que se encuentra el entorno.VERSION
con la nueva versión y compilación de Airflow a la que quieras 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.5-build.11
API
Crea una solicitud de la API
environments.patch
.En esta solicitud:
En el parámetro
updateMask
, especifique la máscaraconfig.softwareConfig.imageVersion
.En el cuerpo de la solicitud, en el campo
imageVersion
, especifica la nueva versión a la que quieres 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.5-build.11"
}
}
}
Terraform
El campo image_version
del 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 y compilación de Airflow.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "VERSION"
}
}
}
Sustituye:
ENVIRONMENT_NAME
con el nombre del entorno.LOCATION
con la región en la que se encuentra el entorno. la nueva versión y compilación de Airflow a la que quieras 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.5-build.11"
}
}
}