Managed Airflow (3ª gen.) | Managed Airflow (2ª gen.) | Managed Airflow (1ª gen. heredada)
En esta página, se explica cómo se puede actualizar un entorno.
Acerca de las operaciones de actualización
Cuando cambias los parámetros de tu entorno, como especificar parámetros nuevos de ajuste de escala y rendimiento, o instalar paquetes de PyPI personalizados, se actualiza tu entorno.
Una vez que se completa esta operación, los cambios estarán disponibles en tu entorno.
Para un solo entorno de Managed Airflow, solo puedes iniciar una operación de actualización a la vez. Debes esperar a que se complete una operación de actualización antes de iniciar otra operación del entorno.
Cómo afectan las actualizaciones a las tareas de Airflow en ejecución
Cuando ejecutas una operación de actualización, es posible que los programadores y trabajadores de Airflow en tu entorno requieran un reinicio. En este caso, se finalizan todas las tareas que se están ejecutando. Una vez que se completa la operación de actualización, Airflow programa estas tareas para que se vuelvan a intentar, según la forma en que configures los reintentos para tus DAG.
Los siguientes cambios provocan la finalización de la tarea de Airflow:
- Actualizar tu entorno a una versión nueva
- Agregar, cambiar o borrar paquetes de PyPI personalizados
- Cambiar las variables de entorno de Managed Airflow
- Agregar o quitar anulaciones de opciones de configuración de Airflow, o cambiar sus valores
- Cambiar la CPU, la memoria o el almacenamiento de los trabajadores de Airflow
Reducir la cantidad máxima de trabajadores de Airflow, si el valor nuevo es menor que la cantidad de trabajadores que se ejecutan actualmente (por ejemplo, si un entorno ejecuta actualmente tres trabajadores y la cantidad máxima se reduce a dos)
Los siguientes cambios no provocan la finalización de la tarea de Airflow:
- Crear, actualizar o borrar un DAG (no es una operación de actualización)
- Pausar o reanudar DAG (no es una operación de actualización)
- Cambiar las variables de Airflow (no es una operación de actualización)
- Cambiar las conexiones de Airflow (no es una operación de actualización)
- Habilitar o inhabilitar la integración del linaje de datos de Knowledge Catalog
- Cambiar el tamaño del entorno
- Cambiar la cantidad de programadores
- Cambiar la CPU, la memoria o el almacenamiento de los programadores de Airflow
- Cambiar la cantidad de activadores
- Cambiar la CPU, la memoria o el almacenamiento de los activadores de Airflow
- Cambiar la CPU, la memoria o el almacenamiento del servidor web de Airflow
- Aumentar o disminuir la cantidad mínima de trabajadores
- Reducir la cantidad máxima de trabajadores de Airflow (por ejemplo, si un entorno ejecuta actualmente dos trabajadores y la cantidad máxima se reduce a tres)
- Cambiar los períodos de mantenimiento
- Cambiar la configuración de las instantáneas programadas
- Cambiar las etiquetas del entorno
Actualiza con Terraform
Ejecuta terraform plan antes de terraform apply para ver si Terraform crea un entorno nuevo en lugar de actualizarlo.
Antes de comenzar
Verifica que tu cuenta, la cuenta de servicio de tu entorno y la cuenta del agente de servicio de Managed Airflow en tu proyecto tengan los permisos necesarios:
Tu cuenta debe tener un rol que pueda activar las operaciones de actualización del entorno.
La cuenta de servicio de tu entorno debe tener un rol que tenga suficientes permisos para realizar operaciones de actualización.
El comando
gcloud composer environments updatefinaliza cuando termina la operación. Puedes usar la marca--asyncpara evitar esperar a que se complete la operación.
Actualizar entornos
Para obtener más información sobre la actualización de tu entorno, consulta otras páginas de documentación sobre operaciones de actualización específicas. Por ejemplo:
- Anula las opciones de configuración de Airflow
- Configura las variables de entorno
- Instala dependencias de Python
Consulta los detalles del entorno
Console
En la Google Cloud consola, 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.
gcloud
Ejecuta el siguiente comando gcloud:
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION
Reemplaza lo siguiente:
ENVIRONMENT_NAMEpor el nombre del entorno.LOCATIONpor la región en la que se encuentra el entorno.
API
Realiza una solicitud a la API de environments.get.
Ejemplo:
GET https://composer.googleapis.com/v1/projects/example-project/
locations/us-central1/environments/example-environment
Terraform
Ejecuta el comando terraform state show para el recurso de tu entorno.
El nombre del recurso de Terraform de tu entorno puede ser diferente del nombre de tu entorno.
terraform state show google_composer_environment.RESOURCE_NAME
Reemplaza lo siguiente:
RESOURCE_NAMEpor el nombre del recurso de tu entorno.
Revierte los cambios de actualización
En algunas situaciones poco frecuentes, una operación de actualización puede interrumpirse (por ejemplo, debido a un tiempo de espera agotado) y es posible que los cambios solicitados no se reviertan en todos los componentes del entorno (como el servidor web de Airflow).
Por ejemplo, una operación de actualización podría instalar o quitar módulos de PyPI adicionales, volver a definir o definir una variable de entorno nueva de Airflow o Managed Airflow, o cambiar algunos parámetros relacionados con Airflow.
Esta situación puede ocurrir si se activa una operación de actualización cuando hay otras operaciones en curso, por ejemplo, el ajuste de escala automático del clúster de Managed Airflow o una operación de mantenimiento.
En tal situación, se recomienda repetir la operación.
Duración de las operaciones de actualización
La duración de las operaciones de actualización se ve afectada por los siguientes factores:
La mayoría de las operaciones de actualización requieren reiniciar los componentes de Airflow, como los programadores, los trabajadores y los servidores web de Airflow. Después de reiniciar un componente, se debe inicializar. Durante la inicialización, los programadores y trabajadores de Airflow descargan el contenido de las carpetas
/dagsy/pluginsdel bucket del entorno. El proceso de sincronización de archivos con los programadores y trabajadores de Airflow no es instantáneo y depende del tamaño total y la cantidad de todos los objetos de estas carpetas.Te recomendamos que solo conserves los archivos DAG y de complementos en las carpetas
/dagsy/plugins(respectivamente) y quites todos los demás archivos. Demasiados datos en las carpetas/dagsy/pluginspueden ralentizar la inicialización de los componentes de Airflow y, en algunos casos, hacer que la inicialización no sea posible.Te recomendamos que conserves menos de 30 MB de datos en las carpetas
/dagsy/plugins, y que no excedas los 100 MB de tamaño de datos. Para obtener más información, consulta Cómo manejar una gran cantidad de DAG y complementosEl tamaño de la base de datos de Airflow puede aumentar significativamente el tiempo de las operaciones de actualización. Te recomendamos que mantengas el tamaño de la base de datos de Airflow de tu entorno configurando una política de retención de la base de datos.