为您的环境指定维护窗口

本页面介绍如何为您的环境定义维护窗口。

Cloud Composer 环境构建于其他 Google Cloud 服务之上。其中一些服务需要执行维护操作,例如在修补现有资源的配置时。GKE 和 Cloud SQL 资源通常需要执行维护操作。

如何使用维护窗口

维护操作可能会影响 DAG 和 Airflow 任务的执行,因此我们建议您执行以下操作:

  1. 定义 Cloud Composer 环境的维护窗口。

  2. 通过在 DAG 中使用 start_dateschedule_interval 参数,安排在指定维护窗口之外运行的 DAG。

您可以为新的和现有的 Cloud Composer 环境定义维护窗口。如果未指定显式维护窗口,则系统会自动选择维护操作时间,而不考虑 DAG 运行的时间表。

默认情况下,维护窗口为每周日、周五和周六的 00:00:00 到 04:00:00 (GMT)。

为新环境指定维护窗口

控制台

如需在创建环境时定义维护窗口,请执行以下操作:

  1. 在 Google Cloud Console 中,转到创建环境页面。

    转到“创建环境”

  2. 展开网络、Airflow 配置替换及其他功能部分。

  3. 维护窗口部分中,选中设置维护窗口的自定义时间复选框。

  4. 设置开始时间时区天数长度,以便指定 7 天的滚动期内,时间表的总时间至少 12 小时。例如,每个星期一、星期三和星期五的 4 小时提供了所需的时间。

  5. 完成创建环境的所有其他步骤。

gcloud

创建环境时,以下参数定义了维护窗口参数:

  • --maintenance-window-start 设置自定义维护窗口的开始时间。
  • --maintenance-window-end 设置维护窗口的结束时间。
  • --maintenance-window-recurrence 设置维护窗口重复
gcloud beta composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --maintenance-window-start 'DATETIME_START' \
    --maintenance-window-end 'DATETIME_END' \
    --maintenance-window-recurrence 'MAINTENANCE_RECURRENCE'

您需要将其中的:

  • ENVIRONMENT_NAME 替换为环境的名称。
  • DATETIME_START 替换为采用日期/时间输入格式的开始日期和时间。只有一天中所指定的时间,指定的日期会被忽略。
  • DATETIME_END 替换为采用日期/时间输入格式的结束日期和时间。只有一天中所指定的时间,指定的日期会被忽略。指定的日期和时间必须晚于开始日期。
  • MAINTENANCE_RECURRENCE 替换为用于恢复维护窗口的 RFC 5545 RRULE。Cloud Composer 支持两种格式:

    • FREQ=DAILY 格式指定每日重复。
    • FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA 格式指定在一周中的选定几天重复。

以下示例指定星期日、星期三和星期六世界协调时间 (UTC) 01:00 到 07:00 之间的 6 小时维护窗口。忽略 2021 年 1 月 1 日的日期。

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'

为现有环境指定维护窗口

控制台

如需定义或更改现有环境的维护窗口,请更新环境

  1. 在 Google Cloud Console 中,转到环境页面。

转到“环境”

  1. 选择环境以查看其详细信息。

  2. 转到环境配置标签页。

  3. 维护窗口条目旁边,点击修改

  4. 维护窗口对话框中,选中设置维护窗口的自定义时间复选框。

  5. 设置开始时间时区天数长度,以便指定 7 天的滚动期内,时间表的总时间至少 12 小时。例如,每个星期一、星期三和星期五的 4 小时提供了所需的时间。

  6. 点击保存,然后等待您的环境更新。

gcloud

更新环境时,以下参数定义了维护窗口参数:

  • --maintenance-window-start 设置自定义维护窗口的开始时间。
  • --maintenance-window-end 设置维护窗口的结束时间。
  • --maintenance-window-recurrence 设置维护窗口重复
gcloud beta composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --maintenance-window-start 'DATETIME_START' \
    --maintenance-window-end 'DATETIME_END' \
    --maintenance-window-recurrence 'MAINTENANCE_RECURRENCE'

您需要将其中的:

  • ENVIRONMENT_NAME 替换为环境的名称。
  • DATETIME_START 替换为采用日期/时间输入格式的开始日期和时间。只有一天中所指定的时间,指定的日期会被忽略。
  • DATETIME_END 替换为采用日期/时间输入格式的结束日期和时间。只有一天中所指定的时间,指定的日期会被忽略。指定的日期和时间必须晚于开始日期。
  • MAINTENANCE_RECURRENCE 替换为用于恢复维护窗口的 RFC 5545 RRULE。Cloud Composer 支持两种格式:

    • FREQ=DAILY 格式指定每日重复。
    • FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA 格式指定在一周中的选定几天重复。

以下示例指定星期日、星期三和星期六世界协调时间 (UTC) 01:00 到 07:00 之间的 6 小时维护窗口。忽略 2021 年 1 月 1 日的日期。

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'

后续步骤