Actualizar entornos de Cloud Composer

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 escalado y rendimiento o instalar paquetes PyPI personalizados, tu entorno se actualiza.

Una vez completada 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 para iniciar otra operación en el 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 los trabajadores de Airflow de tu entorno deban reiniciarse. En este caso, se finalizarán todas las tareas que se estén ejecutando. Una vez completada la operación de actualización, Airflow programa estas tareas para que se vuelvan a intentar, en función de cómo configures los reintentos de tus DAGs.

Los siguientes cambios provocan la finalización de la tarea de Airflow:

  • Actualizar tu entorno a una nueva versión.
  • Añadir, cambiar o eliminar paquetes de PyPI personalizados.
  • Cambiar las variables de entorno de Cloud Composer.
  • Añadir o quitar anulaciones de opciones de configuración de Airflow, o cambiar sus valores.
  • Cambiar la CPU, la memoria o el almacenamiento de los workers de Airflow.
  • Reducir el número máximo de trabajadores de Airflow si el nuevo valor es inferior al número de trabajadores que están activos. Por ejemplo, si un entorno tiene 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 eliminar un DAG (no 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).
  • Habilitar o inhabilitar la integración de linaje de datos de Dataplex Universal Catalog.
  • Cambiando el tamaño del entorno.
  • Cambiar el número de programadores.
  • Cambiar la CPU, la memoria o el almacenamiento de los programadores de Airflow.
  • Cambiar el número 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 reducir el número mínimo de trabajadores.
  • Reducir el número máximo de trabajadores de Airflow. Por ejemplo, si un entorno ejecuta actualmente dos trabajadores y el máximo se reduce a tres.
  • Cambiar las ventanas de mantenimiento.
  • Cambiar los ajustes de las capturas programadas.
  • Cambiar las etiquetas de los entornos.

Actualizar con Terraform

Ejecuta terraform plan antes de terraform apply para ver si Terraform crea un nuevo entorno en lugar de actualizarlo.

Antes de empezar

Actualizar 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:

Ver los detalles del entorno

Consola

  1. En la Google Cloud consola, ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre del entorno. Se abrirá la página Detalles del entorno.

gcloud

Ejecuta el siguiente comando gcloud:

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION

Sustituye:

  • ENVIRONMENT_NAME con el nombre del entorno.
  • LOCATION con la región en la que se encuentra el entorno.

API

Crea una solicitud de la API 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

Sustituye:

  • RESOURCE_NAME con el nombre del recurso de tu entorno.

Restaurar los cambios de la 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 puede instalar o quitar módulos 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 producirse si se activa una operación de actualización mientras se están llevando a cabo otras operaciones, como el escalado automático de un clúster de Cloud Composer o una operación de mantenimiento.

En ese caso, te recomendamos que repitas la operación.

Duración de las operaciones de actualización

La duración de las operaciones de actualización y mejora depende de 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, debe inicializarse. Durante la inicialización, los programadores y los trabajadores de Airflow descargan el contenido de las carpetas /dags y /plugins del segmento del entorno. El proceso de sincronización de archivos con los programadores y los trabajadores de Airflow no es instantáneo y depende del tamaño total y del número de todos los objetos de estas carpetas.

    Te recomendamos que solo conserves los archivos DAG y de complementos en las carpetas /dags y /plugins (respectivamente) y que elimines el resto de los archivos. Si hay demasiados datos en las carpetas /dags y /plugins, la inicialización de los componentes de Airflow puede ralentizarse y, en algunos casos, puede que no sea posible.

    Te recomendamos que no superes los 30 MB de datos en las carpetas /dags y /plugins, y que no excedas los 100 MB. Para obtener más información, consulta también Gestionar un gran número 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.

Actualizar el tipo de máquina de los nodos de GKE

Puedes actualizar manualmente el tipo de máquina del clúster de GKE de tu entorno eliminando el default-pool y creando otro default-pool con el tipo de máquina que quieras.

Te recomendamos que especifiques un tipo de máquina adecuado para el tipo de computación que se produce en tu entorno de Cloud Composer cuando crees un entorno.

Si ejecutas trabajos que realizan cálculos que requieren muchos recursos, te recomendamos que uses los operadores de GKE.

Después de una actualización, el tipo de máquina anterior sigue apareciendo en los detalles de tu entorno. Por ejemplo, la página Detalles del entorno no refleja el nuevo tipo de máquina.

Consola

Para cambiar el tipo de máquina, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre del entorno. Se abrirá la página Detalles del entorno.

  3. Obtén información sobre el grupo de nodos predeterminado:

    1. Ve a la pestaña Configuración del entorno.

    2. Haz clic en el enlace Ver detalles del clúster.

    3. En la página Clústeres, en la sección Nodos, haz clic en default-pool.

    4. Anota toda la información de default-pool en la página Detalles del grupo de nodos. Usa esta información para crear un nuevo grupo de nodos predeterminado para tu entorno.

  4. Para eliminar default-pool, sigue estos pasos:

    1. 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.

    2. En la sección Grupos de nodos, haga clic en el icono de la papelera del default-pool. A continuación, haz clic en Eliminar para confirmar la operación.

  5. Para crear el nuevo default-pool, sigue estos pasos:

    1. En la página Clusters (Clústeres), haga clic en Add node pool (Añadir grupo de nodos).

    2. En Nombre, introduce default-pool. Debes usar el nombre default-pool para que los flujos de trabajo de tu entorno puedan ejecutarse en este grupo.

    3. Introduce los ajustes de Tamaño y Nodos.

    4. (Solo para las cuentas de servicio predeterminadas de Compute Engine) En Ámbitos de acceso, selecciona Permitir el acceso completo a todas las APIs de Cloud.

    5. Haz clic en Guardar.

  6. Si observas que las cargas de trabajo se distribuyen de forma desigual, reduce la implementación de airflow-worker a cero y vuelve a aumentarla.

Siguientes pasos