Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
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 nuevos parámetros de escalamiento y rendimiento, o instalar paquetes PyPI personalizados, tu entorno se actualiza.
Una vez que se complete esta operación, los cambios estarán disponibles en tu entorno.
En 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 comenzar 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 en ejecución. Una vez que se completa la operación de actualización, Airflow programa estas tareas para que se reintenten, según la forma en que configures los reintentos para tus DAGs.
Los siguientes cambios provocan la finalización de las tareas de Airflow:
- Actualizar tu entorno a una versión nueva
- Agregar, cambiar o borrar paquetes personalizados de PyPI
- Cambiar las variables de entorno de Cloud Composer
- 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 inferior a la cantidad de trabajadores que se están ejecutando actualmente Por ejemplo, si un entorno ejecuta actualmente tres trabajadores y el máximo 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 DAGs (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)
- Habilita o inhabilita la integración del linaje de datos de Dataplex Universal Catalog.
- Cambia el tamaño del entorno.
- Se está cambiando 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 actualmente ejecuta dos trabajadores y el máximo se reduce a tres.
- Cambios en los períodos de mantenimiento
- Cambiar la configuración de las instantáneas programadas
- Se cambiaron las etiquetas de 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 Cloud Composer 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 update
finaliza cuando termina la operación. Puedes usar la marca--async
para evitar esperar a que se complete la operación.
Actualiza entornos
Para obtener más información sobre cómo actualizar 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 las dependencias de Python
Consulta los detalles del entorno
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.
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 los cambios de actualización
En algunas situaciones excepcionales, es posible que se interrumpa una operación de actualización (por ejemplo, debido a un tiempo de espera agotado) y 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 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 hay otras operaciones en curso, por ejemplo, el ajuste de escala automático del clúster de Cloud Composer o una operación de mantenimiento.
En ese caso, se recomienda repetir la operación.
Duración de las operaciones de actualización
Los siguientes factores afectan la duración de las operaciones de actualización:
La mayoría de las operaciones de actualización o actualización requieren que se reinicien 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
/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 de estas carpetas.Te recomendamos que solo conserves los archivos de DAG y complementos en las carpetas
/dags
y/plugins
(respectivamente) y que quites todos los demás archivos. Demasiados datos en las carpetas/dags
y/plugins
pueden ralentizar la inicialización de los componentes de Airflow y, en algunos casos, imposibilitarla.Te recomendamos que mantengas menos de 30 MB de datos en las carpetas
/dags
y/plugins
, y que no superes los 100 MB de tamaño de datos. Para obtener más información, consulta Cómo controlar una gran cantidad de DAGs y complementos.El 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 manteniendo la base de datos de Airflow de tu entorno.
Actualiza el tipo de máquina para nodos de GKE
Para actualizar de forma manual el tipo de máquina del clúster de GKE de tu entorno, borra el default-pool
existente y crea un default-pool
nuevo con el tipo de máquina deseado.
Te recomendamos que especifiques un tipo de máquina adecuado para el tipo de procesamiento que se produce en tu entorno de Cloud Composer cuando crees un entorno.
Si ejecutas trabajos que realizan cálculos que consumen muchos recursos, te recomendamos que uses los operadores de GKE.
Después de una actualización, el tipo de máquina anterior seguirá apareciendo en los detalles de tu entorno. Por ejemplo, la página de detalles del entorno no refleja el nuevo tipo de máquina.
Console
Para actualizar el tipo de máquina, sigue estos pasos:
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.
Obtén información sobre el grupo de nodos predeterminado:
Ve a la pestaña Configuración del entorno.
Haz clic en el vínculo Ver detalles del clúster.
En la página Clústeres, en la sección Nodos, haz clic en default-pool.
Observa toda la información de default-pool en la página de detalles del grupo de nodos. Usarás esta información para crear un grupo de nodos predeterminado nuevo para tu entorno.
Para borrar default-pool, sigue estos pasos:
En la página Detalles del grupo de nodos, haz clic en la flecha hacia atrás para volver a la página Clústeres de tu entorno.
En la sección Grupos de nodos, haz clic en el ícono de papelera de default-pool. Luego, haz clic en Borrar para confirmar la operación.
Para crear el default-pool nuevo, sigue estos pasos:
En la página Clústeres, haz clic en Agregar grupo de nodos.
En Nombre, ingresa
default-pool
. Debes usar el nombredefault-pool
para que los flujos de trabajo de tu entorno puedan ejecutarse en este grupo.Ingresa la configuración para Tamaño y Nodos.
En el caso de los Permisos de acceso, selecciona Permitir el acceso total a todas las APIs de Cloud (solo para las cuentas de servicio predeterminadas de Compute Engine).
Haz clic en Guardar.
Si observas que las cargas de trabajo se distribuyen de manera desigual, reduce la implementación de airflow-worker a cero y vuelve a escalar.