Especifica períodos de mantenimiento para tus entornos

En esta página, se explica cómo definir los períodos de mantenimiento de tus entornos.

Los entornos de Cloud Composer se compilan sobre otros servicios de Google Cloud. Algunos de estos servicios requieren operaciones de mantenimiento, por ejemplo, cuando se aplica un parche a la configuración de un recurso existente. Las operaciones de mantenimiento suelen ser necesarias para los recursos de GKE y Cloud SQL.

Cómo usar los períodos de mantenimiento

Las operaciones de mantenimiento pueden afectar la ejecución de tus DAG y las tareas de Airflow, por lo que te recomendamos hacer lo siguiente:

  1. Define los períodos de mantenimiento para tus entornos de Cloud Composer.

  2. Programa ejecuciones de DAG por fuera de los períodos de mantenimiento especificados mediante los parámetros start_date y schedule_interval en los DAG.

Puedes definir períodos de mantenimiento para entornos nuevos y existentes de Cloud Composer. Si no especificas períodos de mantenimiento explícitos, el tiempo de las operaciones de mantenimiento se selecciona de forma automática sin considerar el programa de las ejecuciones del DAG.

De forma predeterminada, los períodos de mantenimiento son de 00:00:00 a 04:00:00 (GMT) los domingos, viernes y sábados cada semana.

Especifica períodos de mantenimiento para entornos nuevos

Console

Para definir períodos de mantenimiento cuando creas un entorno, haz lo siguiente:

  1. En Google Cloud Console, ve a la página Crear entorno.

    Ir a Crear entorno

  2. Expande la sección Herramientas de redes, anulaciones de configuración de Airflow y funciones adicionales.

  3. En la sección Períodos de mantenimiento, selecciona la casilla de verificación Configurar tiempo personalizado para el período de mantenimiento.

  4. Establece la Hora de inicio, la Zona horaria, los Días y la Duración, para que la hora combinada del programa especificado sea de al menos 12 horas en un período progresivo de 7 días. Por ejemplo, un período de 4 horas todos los lunes, miércoles y viernes proporciona la cantidad de tiempo requerida.

  5. Completa todos los demás pasos para crear un entorno.

gcloud

Cuando creas un entorno, los siguientes argumentos definen los parámetros de períodos de mantenimiento:

  • --maintenance-window-start establece la hora de inicio de un período de mantenimiento.
  • --maintenance-window-end establece la hora de finalización de un período de mantenimiento.
  • --maintenance-window-recurrence establece la recurrencia del período de mantenimiento.
gcloud beta composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --maintenance-window-start 'DATETIME_START' \
    --maintenance-window-end 'DATETIME_END' \
    --maintenance-window-recurrence 'MAINTENANCE_RECURRENCE'

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME por el nombre del entorno.
  • DATETIME_START por la fecha y hora de inicio en el formato de entrada de fecha y hora. Solo se usa la hora especificada del día, se ignora la fecha especificada.
  • DATETIME_END por la fecha y hora de finalización en el formato de entrada de fecha y hora. Solo se usa la hora especificada del día, se ignora la fecha especificada. La fecha y hora especificadas deben ser posteriores a la fecha de inicio.
  • MAINTENANCE_RECURRENCE por una RRULE RFC 5545 para la recurrencia de los períodos de mantenimiento. Cloud Composer admite dos formatos:

    • El formato FREQ=DAILY especifica una recurrencia diaria.
    • El formato FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA especifica una recurrencia en los días de la semana seleccionados.

En el siguiente ejemplo, se especifica un período de mantenimiento de 6 horas entre las 1:00 y las 07:00 (UTC) los domingos, miércoles y sábados. Se ignora la fecha del 1 de enero de 2021.

gcloud beta composer environments create example-environment \
  --location us-central1 \
  --maintenance-window-start '2021-01-01T01:00:00Z' \
  --maintenance-window-end '2021-01-01T07:00:00Z' \
  --maintenance-window-recurrence 'FREQ=WEEKLY;BYDAY=SU,WE,SA'

Especifica períodos de mantenimiento para entornos existentes

Console

Para definir o cambiar los períodos de mantenimiento de un entorno existente, actualiza el entorno:

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

Ir a Entornos

  1. Selecciona un entorno para ver sus detalles.

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

  3. Junto a la entrada Períodos de mantenimiento, haz clic en Editar.

  4. En el cuadro de diálogo Períodos de mantenimiento, selecciona la casilla de verificación Configurar tiempo personalizado para el período de mantenimiento.

  5. Establece la Hora de inicio, la Zona horaria, los Días y la Duración, para que la hora combinada del programa especificado sea de al menos 12 horas en un período progresivo de 7 días. Por ejemplo, un período de 4 horas todos los lunes, miércoles y viernes proporciona la cantidad de tiempo requerida.

  6. Haz clic en Guardar y espera a que se actualice tu entorno.

gcloud

Cuando actualizas un entorno, los siguientes argumentos definen los parámetros de períodos de mantenimiento:

  • --maintenance-window-start establece la hora de inicio de un período de mantenimiento.
  • --maintenance-window-end establece la hora de finalización de un período de mantenimiento.
  • --maintenance-window-recurrence establece la recurrencia del período de mantenimiento.
gcloud beta composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --maintenance-window-start 'DATETIME_START' \
    --maintenance-window-end 'DATETIME_END' \
    --maintenance-window-recurrence 'MAINTENANCE_RECURRENCE'

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME por el nombre del entorno.
  • DATETIME_START por la fecha y hora de inicio en el formato de entrada de fecha y hora. Solo se usa la hora especificada del día, se ignora la fecha especificada.
  • DATETIME_END por la fecha y hora de finalización en el formato de entrada de fecha y hora. Solo se usa la hora especificada del día, se ignora la fecha especificada. La fecha y hora especificadas deben ser posteriores a la fecha de inicio.
  • MAINTENANCE_RECURRENCE por una RRULE RFC 5545 para la recurrencia de los períodos de mantenimiento. Cloud Composer admite dos formatos:

    • El formato FREQ=DAILY especifica una recurrencia diaria.
    • El formato FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA especifica una recurrencia en los días de la semana seleccionados.

En el siguiente ejemplo, se especifica un período de mantenimiento de 6 horas entre las 1:00 y las 07:00 (UTC) los domingos, miércoles y sábados. Se ignora la fecha del 1 de enero de 2021.

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --maintenance-window-start '2021-01-01T01:00:00Z' \
  --maintenance-window-end '2021-01-01T07:00:00Z' \
  --maintenance-window-recurrence 'FREQ=WEEKLY;BYDAY=SU,WE,SA'

¿Qué sigue?