Spécifier des intervalles de maintenance pour vos environnements

Cette page explique comment définir des intervalles de maintenance pour vos environnements.

Les environnements Cloud Composer s'appuient sur d'autres services Google Cloud. Certains de ces services nécessitent des opérations de maintenance, par exemple lors de l'application de correctifs à la configuration d'une ressource existante. Les opérations de maintenance sont souvent requises pour les ressources GKE et Cloud SQL.

Utiliser des intervalles de maintenance

Les opérations de maintenance peuvent avoir un impact sur l'exécution de vos DAG et des tâches Airflow. Nous vous recommandons donc d'effectuer les opérations suivantes:

  1. Définissez des intervalles de maintenance pour vos environnements Cloud Composer.

  2. Programmez l'exécution du DAG en dehors des intervalles de maintenance spécifiés en utilisant les paramètres start_date et schedule_interval dans vos DAG.

Vous pouvez définir des intervalles de maintenance pour les environnements Cloud Composer nouveaux et existants. Si vous ne spécifiez pas d'intervalles de maintenance explicites, l'heure des opérations de maintenance est automatiquement sélectionnée sans tenir compte de la planification de vos exécutions DAG.

Spécifier des intervalles de maintenance pour les nouveaux environnements

Console

Pour définir des intervalles de maintenance lorsque vous créez un environnement:

  1. Dans Google Cloud Console, accédez à la page Créer un environnement.

    Accéder à la page "Créer un environnement"

  2. Développez la section Mise en réseau, remplacements de configuration Airflow et fonctionnalités supplémentaires.

  3. Dans la section Intervalles de maintenance, cochez la case Définir un horaire personnalisé pour les intervalles de maintenance.

  4. Définissez Heure de début, Fuseau horaire, Jours et Durée, de sorte que l'heure combinée de la planification spécifiée soit atteinte. pendant au moins 12 heures sur une période glissante de sept jours. Par exemple, une période de quatre heures tous les lundis, mercredis et vendredis correspond à la durée requise.

  5. Effectuez toutes les autres étapes pour créer un environnement.

gcloud

Lorsque vous créez un environnement, les arguments suivants définissent des paramètres d'intervalles de maintenance:

  • --maintenance-window-start définit l'heure de début d'un intervalle de maintenance.
  • --maintenance-window-end définit l'heure de fin d'un intervalle de maintenance.
  • --maintenance-window-recurrence définit la récurrence de l'intervalle de maintenance.
gcloud beta composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --maintenance-window-start 'DATETIME_START' \
    --maintenance-window-end 'DATETIME_END' \
    --maintenance-window-recurrence 'MAINTENANCE_RECURRENCE'

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • DATETIME_START par la date et l'heure de début au format de saisie date/heure. Seule l'heure spécifiée de la journée est utilisée. La date spécifiée est ignorée.
  • DATETIME_END par la date et l'heure de fin au format de saisie date/heure. Seule l'heure spécifiée de la journée est utilisée. La date spécifiée est ignorée. La date et l'heure spécifiées doivent être postérieures à la date de début.
  • MAINTENANCE_RECURRENCE par une valeur RRULE RFC 5545 pour les intervalles de maintenance. Cloud Composer est compatible avec deux formats:

    • Le format FREQ=DAILY spécifie une récurrence quotidienne.
    • Le format FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA spécifie une récurrence pour les jours sélectionnés de la semaine.

L'exemple suivant spécifie un intervalle de maintenance de 6 heures compris entre 01h00 et 07h00 (UTC) les dimanches, mercredis et samedis. La date du 1er janvier 2021 est ignorée.

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'

Spécifiez des intervalles de maintenance pour les environnements existants.

Console

Pour définir ou modifier des intervalles de maintenance pour un environnement existant, mettez à jour l'environnement:

  1. Dans Google Cloud Console, accédez à la page Environnements.

Accéder à la page "Environnements"

  1. Sélectionnez un environnement pour afficher ses détails.

  2. Accédez à l'onglet Configuration de l'environnement.

  3. À côté de l'entrée Intervalles de maintenance, cliquez sur Modifier.

  4. Dans la boîte de dialogue Intervalles de maintenance, cochez la case Définir un horaire personnalisé pour les intervalles de maintenance.

  5. Définissez Heure de début, Fuseau horaire, Jours et Durée, de sorte que l'heure combinée de la planification spécifiée soit atteinte. pendant au moins 12 heures sur une période glissante de sept jours. Par exemple, une période de quatre heures tous les lundis, mercredis et vendredis correspond à la durée requise.

  6. Cliquez sur Save (Enregistrer) et attendez que votre environnement soit mis à jour.

gcloud

Lorsque vous mettez à jour un environnement, les arguments suivants définissent des paramètres d'intervalles de maintenance:

  • --maintenance-window-start définit l'heure de début d'un intervalle de maintenance.
  • --maintenance-window-end définit l'heure de fin d'un intervalle de maintenance.
  • --maintenance-window-recurrence définit la récurrence de l'intervalle de maintenance.
gcloud beta composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --maintenance-window-start 'DATETIME_START' \
    --maintenance-window-end 'DATETIME_END' \
    --maintenance-window-recurrence 'MAINTENANCE_RECURRENCE'

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • DATETIME_START par la date et l'heure de début au format de saisie date/heure. Seule l'heure spécifiée de la journée est utilisée. La date spécifiée est ignorée.
  • DATETIME_END par la date et l'heure de fin au format de saisie date/heure. Seule l'heure spécifiée de la journée est utilisée. La date spécifiée est ignorée. La date et l'heure spécifiées doivent être postérieures à la date de début.
  • MAINTENANCE_RECURRENCE par une valeur RRULE RFC 5545 pour les intervalles de maintenance. Cloud Composer est compatible avec deux formats:

    • Le format FREQ=DAILY spécifie une récurrence quotidienne.
    • Le format FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA spécifie une récurrence pour les jours sélectionnés de la semaine.

L'exemple suivant spécifie un intervalle de maintenance de 6 heures compris entre 01h00 et 07h00 (UTC) les dimanches, mercredis et samedis. La date du 1er janvier 2021 est ignorée.

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'

Étape suivante