Cloud Composer 1 | Cloud Composer 2
En esta página, se explica cómo se puede actualizar un entorno.
Información acerca de las operaciones de actualización
Cuando cambias los parámetros de tu entorno, como la especificación de parámetros de escalamiento y rendimiento nuevos, o la instalación de paquetes de PyPI personalizados, el entorno se actualiza.
Una vez completada esta operación, los cambios estarán disponibles en tu entorno.
Para un solo entorno de Cloud Composer, 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 de entorno.
Límites de CPU del activador
Cloud Composer en la versión 2.4.4 presenta un enfoque de escalamiento de rendimiento diferente para el componente activador de Airflow que se aplica a todas las versiones de Cloud Composer 2.
Antes de la versión 2.4.4, los entornos de Cloud Composer podían usar un máximo de 1 o 2 activadores. 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 que cumpla con el límite de 1 CPU virtual y realizar actualizaciones en otros componentes.
Para obtener más información, consulte:
- Configura la asignación de recursos del activador
- Ajusta la cantidad de activadores
- Soluciona problemas de actualización del entorno: se superó la CPU del activador
Cómo afectan las actualizaciones a la ejecución de tareas de Airflow
Cuando ejecutas una operación de actualización, como la instalación de paquetes personalizados de PyPI, todos los programadores y trabajadores de Airflow en tu entorno se reinician y se finalizan todas las tareas en ejecución. Una vez que se completa la operación de actualización, Airflow programa estas tareas para un reintento, según la forma en que configuras los reintentos para los DAG.
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 Cloud Composer en tu proyecto tengan los permisos necesarios:
Tu cuenta debe tener un rol que pueda activar 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 Cloud Composer 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 update
finaliza cuando termina la operación. Puedes usar la marca--async
para no 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
- Configure las variables de entorno
- Instala dependencias de Python
- Escalar entornos
- Configura redes autorizadas
- Actualiza entornos a una resiliencia alta
Consulta los detalles del entorno
Consola
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.
gcloud
Ejecuta el siguiente comando gcloud
:
gcloud composer environments describe 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
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_NAME
por el nombre del recurso de tu entorno
Cómo revertir cambios de actualizaciones
En algunas situaciones poco frecuentes, una operación de actualización puede interrumpirse (por ejemplo, debido a un tiempo de espera) y los cambios solicitados podrían no revertirse en todos los componentes del entorno (como el servidor web de Airflow).
Por ejemplo, una operación de actualización podría ser instalar o quitar módulos de PyPI adicionales, volver a definir o definir una nueva variable de entorno de Airflow o Cloud Composer, o cambiar algunos parámetros relacionados con Airflow.
Esta situación puede ocurrir si se activa una operación de actualización cuando otras operaciones están en curso, como el ajuste de escala automático del clúster de Cloud Composer o una operación de mantenimiento.
En este caso, te recomendamos que repitas la operación.
Duración de las operaciones de actualización o actualización
La mayoría de las operaciones de actualización o actualización requieren reiniciar los componentes de Airflow, como los programadores, trabajadores y servidores web de Airflow.
Una vez que se reinicia un componente, se debe inicializar. Durante la inicialización, los programadores y trabajadores de Airflow descargan el contenido de las carpetas /dags
y /plugins
del 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 en estas carpetas.
Recomendamos mantener solo los archivos DAG y de complementos en las carpetas /dags
y /plugins
(respectivamente) y quitar todos los demás archivos. Si hay demasiados datos en las carpetas /dags
y /plugins
, es posible que la inicialización de los componentes de Airflow sea más lenta y, en algunos casos, que no sea posible.
Recomendamos guardar menos de 30 MB de datos en las carpetas /dags
y /plugins
, y nunca superar el tamaño de 100 MB.
Para obtener más información, consulta también lo siguiente: