设置排除窗口期

本页介绍了 Fault Injection Testing 中的排除时段,以及如何使用排除时段在关键业务运营期间保护您的应用和服务。

排除时间段可让您更好地控制弹性测试时间表。排除窗口期是指您定义的时间段,在此期间,系统会阻止启动新的故障注入实验。此功能可帮助您在发生以下重大事件时保护应用和服务:

  • 流量高峰时段或高销量活动
  • 重大系统迁移或升级
  • 关键维护期

在排除窗口期处于有效状态时,Fault Injection Testing 会阻止在定义的范围内启动任何新实验。在排除窗口期生效之前已在运行的任何实验都可以继续运行,直到完成。

排除窗口期的运作方式

范围和定位

配置排除时段时,您需要选择特定的 Cloud 区域。排除窗口期激活后,无论使用何种实验模板,都会阻止在该指定区域内启动新实验。

激活和时长

创建排除窗口期会定义其参数,但不会立即激活它。您必须明确启动窗口,它才会生效。

有效的排除窗口期可通过以下两种方式停止阻止实验:

  • 自动失效:每个排除时段都配置了时长。激活后,窗口会在相应时长过后自动停用。系统会计算结束时间(开始时间 + 时长),并在当前时间超过此结束时间后停止阻止新实验。
  • 手动停止:您可以在有效排除窗口期的预定时长结束之前手动停止该窗口期。如果关键期提前结束,而您想立即恢复测试,此方法会非常有用。

在 Google Cloud 控制台中管理排除窗口

在继续操作之前,您必须具有 roles/faulttesting.operator 角色。

创建和配置排除窗口期

  1. 在 Google Cloud 控制台中,前往 Fault Injection Testing 排除窗口页面。
  2. 点击创建排除时间段
  3. 指定云区域时长和可选的说明
  4. 点击创建

手动控制排除窗口

您可以直接从 Google Cloud 控制台中手动触发任何已配置的排除时间段的开始停止操作。

自动启用排除窗口期

例如,您可能希望与预定的维护窗口或周期性活动保持一致。如需自动启用排除窗口期,请执行以下操作:

  1. 创建排除时段后,复制界面中显示的 StartExclusionWindow RPC 的 HTTPS 网址
  2. 使用 Cloud Scheduler 等调度服务设置一项作业,以便在您选择的时间向此网址发送请求。

使用 Google Cloud CLI 管理排除时段

您可以使用 gcloud alpha fault-testing exclusion-windows 命令管理排除期资源。

创建排除窗口期

如需创建排除时段,请使用 create 命令。指定窗口 ID、目标区域和时长:

gcloud alpha fault-testing exclusion-windows create EXCLUSION_WINDOW_ID \
    --location=REGION \
    --duration=DURATION \
    [--description="DESCRIPTION"]

替换以下内容:

  • EXCLUSION_WINDOW_ID:窗口的唯一标识符(例如 black-friday-freeze)。
  • REGION:此窗口适用的 Google Cloud 区域(例如 us-central1)。
  • DURATION:有效时长,以秒为单位指定(例如,86400s 表示 24 小时)。
  • DESCRIPTION:(可选)窗口用途的说明。

示例:

gcloud alpha fault-testing exclusion-windows create black-friday-freeze \
    --location=us-east1 \
    --duration=259200s \
    --description="Exclusion window for Black Friday to Cyber Monday sales period"

删除排除窗口期

如需删除排除时间段定义,请使用 delete 命令:

gcloud alpha fault-testing exclusion-windows delete EXCLUSION_WINDOW_ID \
    --location=REGION

启动排除窗口期

如需激活配置的排除时段,请使用 start 命令:

gcloud alpha fault-testing exclusion-windows start EXCLUSION_WINDOW_ID \
    --location=REGION

停止排除窗口期

如需手动提前停用有效的排除窗口期,请使用 stop 命令:

gcloud alpha fault-testing exclusion-windows stop EXCLUSION_WINDOW_ID \
    --location=REGION

最佳做法

创建排除时段时,请考虑以下事项:

  • 规划实验重叠。在关键业务期开始前不久开始排除窗口期。由于允许正在运行的实验完成,因此提前开始窗口期可确保在关键时期开始之前清除所有故障。
  • 使用描述性标识符。使用清晰且有意义的 ID(例如 black-friday-freezesystem-migration-us-east1)来标识窗口的用途和范围。
  • 使时长与活动类型保持一致。将窗口时长与关键事件的预期时长相匹配。对于重大节假日促销活动,建议采用多天时长(例如,259200s 表示 3 天)。
  • 利用自动化功能。使用 Cloud Scheduler 自动为周期性活动或计划维护启用排除期,以减少人工操作和遗漏风险。
  • 保持灵活性。请注意,如果关键时期比预期提前结束,您可以使用 stop 命令提前结束窗口,以便立即恢复恢复能力测试。