本页介绍了 Fault Injection Testing 中的排除时段,以及如何使用排除时段在关键业务运营期间保护您的应用和服务。
排除时间段可让您更好地控制弹性测试时间表。排除窗口期是指您定义的时间段,在此期间,系统会阻止启动新的故障注入实验。此功能可帮助您在发生以下重大事件时保护应用和服务:
- 流量高峰时段或高销量活动
- 重大系统迁移或升级
- 关键维护期
在排除窗口期处于有效状态时,Fault Injection Testing 会阻止在定义的范围内启动任何新实验。在排除窗口期生效之前已在运行的任何实验都可以继续运行,直到完成。
排除窗口期的运作方式
范围和定位
配置排除时段时,您需要选择特定的 Cloud 区域。排除窗口期激活后,无论使用何种实验模板,都会仅阻止在该指定区域内启动新实验。
激活和时长
创建排除窗口期会定义其参数,但不会立即激活它。您必须明确启动窗口,它才会生效。
有效的排除窗口期可通过以下两种方式停止阻止实验:
- 自动失效:每个排除时段都配置了时长。激活后,窗口会在相应时长过后自动停用。系统会计算结束时间(开始时间 + 时长),并在当前时间超过此结束时间后停止阻止新实验。
- 手动停止:您可以在有效排除窗口期的预定时长结束之前手动停止该窗口期。如果关键期提前结束,而您想立即恢复测试,此方法会非常有用。
在 Google Cloud 控制台中管理排除窗口
在继续操作之前,您必须具有 roles/faulttesting.operator 角色。
创建和配置排除窗口期
- 在 Google Cloud 控制台中,前往 Fault Injection Testing 排除窗口页面。
- 点击创建排除时间段。
- 指定云区域、时长和可选的说明。
- 点击创建。
手动控制排除窗口
您可以直接从 Google Cloud 控制台中手动触发任何已配置的排除时间段的开始和停止操作。
自动启用排除窗口期
例如,您可能希望与预定的维护窗口或周期性活动保持一致。如需自动启用排除窗口期,请执行以下操作:
- 创建排除时段后,复制界面中显示的
StartExclusionWindowRPC 的 HTTPS 网址。 - 使用 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-freeze或system-migration-us-east1)来标识窗口的用途和范围。 - 使时长与活动类型保持一致。将窗口时长与关键事件的预期时长相匹配。对于重大节假日促销活动,建议采用多天时长(例如,
259200s表示 3 天)。 - 利用自动化功能。使用 Cloud Scheduler 自动为周期性活动或计划维护启用排除期,以减少人工操作和遗漏风险。
- 保持灵活性。请注意,如果关键时期比预期提前结束,您可以使用
stop命令提前结束窗口,以便立即恢复恢复能力测试。