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 escalamiento y rendimiento, o instalar paquetes de PyPI personalizados, tu entorno se actualiza.
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.
Límites de CPU del activador
Managed Service para Apache Airflow en la versión 2.4.4 presenta un enfoque de escalamiento de rendimiento diferente para el componente de activador de Airflow que se aplica a todas las versiones de Airflow administrado (2ª gen.).
Antes de la versión 2.4.4, los entornos de Managed Airflow podían usar un máximo de 1 o 2 supervisores asíncronos. Después del cambio, puedes tener hasta 10 activadores por entorno, pero cada activador está limitado a un máximo de 1 CPU virtual.
Las operaciones de actualización del entorno fallan si tu entorno está configurado con más de 1 CPU virtual por activador. Debes ajustar la configuración para cumplir con el límite de 1 CPU virtual para realizar actualizaciones en otros componentes.
Para obtener más información, consulta lo siguiente:
- Configura la asignación de recursos del activador
- Ajusta el recuento de activadores
- Soluciona problemas de actualización del entorno: se excedió la CPU del activador
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 de tu entorno requieran un reinicio. En este caso, se finalizan todas las tareas en ejecución. 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:
- Actualiza tu entorno a una versión nueva.
- Agrega, cambia o borra paquetes de PyPI personalizados.
- Cambia las variables de entorno de Managed Airflow.
- Agrega o quita anulaciones de opciones de configuración de Airflow, o cambia sus valores.
- Cambia la CPU, la memoria o el almacenamiento de los trabajadores de Airflow.
Reduce la cantidad máxima de trabajadores de Airflow, si el valor nuevo es menor que la cantidad de trabajadores en ejecución. Por ejemplo, si un entorno ejecuta actualmente tres trabajadores y el máximo se reduce a dos.
Cambia el modo de resiliencia del entorno.
Los siguientes cambios no provocan la finalización de la tarea de Airflow:
- Crea, actualiza o borra un DAG (no es una operación de actualización).
- Pausa o reanuda los DAG (no es una operación de actualización).
- Cambia las variables de Airflow (no es una operación de actualización).
- Cambia las conexiones de Airflow (no es una operación de actualización).
- Habilita o inhabilita la integración del linaje de datos de Knowledge Catalog.
- Cambia el tamaño del entorno.
- Cambia la cantidad de programadores.
- Cambia la CPU, la memoria o el almacenamiento de los programadores de Airflow.
- Cambia la cantidad de activadores.
- Cambia la CPU, la memoria o el almacenamiento de los activadores de Airflow.
- Cambia la CPU, la memoria o el almacenamiento del servidor web de Airflow.
- Aumenta o disminuye la cantidad mínima de trabajadores.
- Reduce la cantidad máxima de trabajadores de Airflow. Por ejemplo, si un entorno ejecuta actualmente dos trabajadores y el máximo se reduce a tres.
- Cambia los períodos de mantenimiento.
- Cambia la configuración de las instantáneas programadas.
- Cambia 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 una función que pueda activar las operaciones de actualización del entorno.
La cuenta de servicio de tu entorno debe tener una función que tenga suficientes permisos para realizar operaciones de actualización.
La cuenta del agente de servicio de Managed Airflow debe tener permisos para crear vinculaciones entre la cuenta de servicio de tu entorno y la cuenta de servicio de Kubernetes del clúster de tu entorno.
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.
Actualización de 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
- Configure 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), 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 adicionales de PyPI, 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 escalado 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 o mejora
La duración de las operaciones de actualización y mejora se ve afectada por los siguientes factores:
La mayoría de las operaciones de actualización o mejora 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 ciertos 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 controlar 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 mejora. Te recomendamos que mantengas el tamaño de la base de datos de Airflow de tu entorno.