创建并管理演练任务
操作场景
演练任务功能允许用户通过模拟软件或硬件故障来测试系统的恢复能力。演练任务操作包括管理混沌演练任务和查看演练记录,以及创建演练任务的流程。演练任务的设置包括基础信息、攻击任务组的添加、攻击任务的选择、攻击场景的选择等。此外,演练任务还涉及监控任务配置,以及演练后的复盘改进,确保系统在各种压力下的表现行为能够确定优化策略。
任务自动关闭机制
- 超时自动关闭:当演练任务执行失败后,若操作人员未在48小时内手动关闭任务,系统将自动终止该演练任务。
- 异常自动终止:在演练执行过程中,如检测到POD出现异常(例如POD已被删除)或资源运维类的手动关单,系统将立即自动停止当前任务。
创建演练任务
- 登录云运维中心。
- 在左侧菜单栏选择“韧性中心 > 混沌演练”。
- 单击左上方“演练任务”。
- 单击“创建演练任务”。
同时也可以通过演练规划接单功能进入创建演练任务页面,详细步骤请参考演练规划。
- 设置“基础信息”。
表1 基础信息参数说明 参数
说明
示例
演练任务名称
根据命名规则,自定义演练任务的名称。
test-drill
期望恢复时长(分钟)
从故障发生到故障恢复的预期时间,单位为分钟。
在故障注入之后,应用自恢复或在执行应急预案时恢复到正常状态的期望时间,该时间不会对演练任务产生影响。
3
- 单击“添加一个新的攻击任务”。
默认有1个攻击任务组,单击“添加新的任务组”可添加新的任务组。添加攻击任务后继续单击“添加一个新的攻击任务”,可添加新的攻击任务。
- 任务组间的任务为串行执行,任务组内的任务为并行执行。
- 当前不支持一个任务组内对同一个资源的多次故障注入。
- 设置“添加新的攻击任务”。
- 若需要添加已有任务,单击“选择已有”,勾选已有任务,单击“确定”。
- 若需要添加新的攻击任务,请参考后续步骤。
表2 添加新的攻击任务参数说明 参数
说明
示例
云厂商
请选择云厂商类型。
华为云
攻击目标来源
请选择目标实例的来源。
云容器引擎 (CCE)支持通过选择实例、指定pod、指定数量方式选择攻击目标。
弹性云服务器(ECS)
攻击任务名称
根据命名规则,自定义攻击任务的名称。
test-attacktask
攻击目标
请选择目标实例。
-
- 单击“下一步”。
- 设置“选择攻击场景”。
详细介绍请参考攻击场景说明。
表3 选择攻击场景参数说明 参数
说明
示例
攻击类型
根据攻击场景的类型区分。
主机资源
攻击场景
选择对应的攻击场景。
CPU使用率加压
攻击参数
根据不同的攻击场景,配置相应的攻击参数。
CPU使用率(百分比):80
故障持续时长(秒):60
- 单击“下一步”。
- (可选)设置“监控任务配置”。
表4 监控任务配置参数说明 参数
说明
稳态指标
请在下拉列表依次选择:目标资源、性能指标、下限值、上限值。
系统达到稳定状态时所表现出的性能指标,若在执行演练前,稳态指标不在稳定区间内,则会取消执行演练。
监控指标
请在下拉列表依次选择:目标资源、监控指标、下限值、上限值。
监控故障演练过程中各业务指标的数据,位于上下限区间表示业务正常,供用户评估是否需要停止演练。
自动回滚
请选择是否开启自动回滚。
故障注入自动回滚,并恢复到注入前状态,部分不支持终止故障的武器不能配置自动回滚。
若在执行演练中,稳态指标不在稳定区间内,开启自动回滚后故障注入将自动停止。
- 单击“完成”,完成攻击任务添加。
- 单击“确定”,完成演练任务创建,任务状态为“待演练”。
若您单击“保存草稿”,任务状态为“草稿”,草稿状态的任务不允许启动演练。
修改演练任务
修改已创建的演练任务时,若该任务已生成演练记录,则不可进行修改。
- 登录云运维中心。
- 在左侧菜单栏选择“韧性中心 > 混沌演练”。
- 单击左上方“演练任务”。
- 选择需要修改的演练任务,单击操作列“更多 > 修改”。
- 根据需求场景对演练任务进行修改。
- 单击“添加新的任务组”,支持添加新的任务组
- 单击“添加新的攻击任务”,为任务组添加一个新的攻击任务。
- 单击任务后的“删除”,可删除已有的攻击任务。
- 单击“确定”。
完成演练任务修改。
删除演练任务
已创建的演练任务如果不再需要使用,支持删除。但需注意以下场景:
- 若演练任务已生成演练记录,不可删除;
- 若有演练规划关联该演练任务,不可删除。
- 登录云运维中心。
- 在左侧菜单栏选择“韧性中心 > 混沌演练”。
- 单击左上方“演练任务”。
- 选择需要删除的演练任务,单击操作列“更多 > 删除”。
- 单击“确定”。
完成演练任务删除。
- 登录云运维中心。
- 在左侧菜单栏选择“韧性中心 > 混沌演练”。
- 单击左上方“演练任务”。
- 选择需要启动的演练任务,单击操作列“启动演练”。
- 单击“确定”。
演练开始,进入演练详情页面,可以查看攻击进度,包括安装探针、执行演练、清理环境三个步骤,系统会自动执行。执行时间视武器的攻击时间而定。
安装探针步骤会在目标机器上部署一个探针,该探针将会运行在系统中用于接收攻击、查询和清除等步骤的武器命令。在演练结束或终止操作后,清理环境步骤将停止其在系统中的所有操作并移除。
- 对于演练执行,支持以下操作:
- 终止:演练执行中,单击右上方“终止”,结束待执行或异常的任务。
- 强制终止:建议优先采用优雅终止方式;若优雅终止失败,可在5-10分钟后使用强制终止。需注意,强制终止仅会关闭当前演练工单,不会自动清理环境,需手动处理,具体操作请参考手动清理环境。
- 重试:演练中有部分或全部攻击任务检查实例、安装探针、清理环境或稳态检测步骤执行失败,或执行演练超时,展开失败的攻击任务,单击“重试”重试当前任务。
- 跳过:演练中有部分或全部攻击任务执行失败,展开失败的攻击任务,单击“跳过”跳过当前任务执行下一个任务。
- 详情:展开攻击任务,单击“详情”查看任务的攻击详情。
查看演练记录
查看演练任务的演练记录。如果当前演练任务没有被演练过,则不能查看演练记录。
- 登录云运维中心。
- 在左侧菜单栏选择“韧性中心 > 混沌演练”。
- 单击左上方“演练任务”。
- 选择需要查看的演练任务,单击操作列“演练记录”。
演练记录页面上方会展示演练任务的基础信息,包括演练任务名称、演练任务ID、攻击详情、故障模式等。下方列表展示所有的演练记录信息,包括演练记录ID、执行状态、执行人、演练开始时间,演练结束时间等。
- 选择需要查看的演练记录,单击操作列“进度查看”。
查看当前演练任务的攻击进度、攻击详情和监控详情。
- 演练记录模块:展示攻击任务详情,包括攻击任务进度、任务信息、执行时间等。
- 攻击详情模块:展示当前任务的对应的应用下面实例攻击情况。暂不支持裸金属服务器(BMS)、Flexus应用服务器L实例(HCSS)、云搜索服务(CSS)。
- 监控详情模块:展示攻击目标的实时监控数据,需要预先在创建攻击任务时配置演练监控任务。支持放大到横向全屏展示。
- 单击右方“演练报告”。
创建或查看演练报告,详细操作参考创建演练报告。
手动清理环境
强制终止演练任务仅会关闭当前演练工单,不会自动清理环境,需手动进行清理操作。
由于不同探针的清理方式存在差异,具体操作步骤请参照表5 手动清理方式说明。
探针类型 |
武器类型 |
清理方式 |
---|---|---|
CFE |
所有 |
1、登录机器。 2、切换路径 /usr/local/cdr_probe、/usr/local/COC-CDR-Probe。 3、清理路径下所有文件。 |
CSS |
所有 |
无残留,无需清理。 |
DCS |
DCS_REDIS_AZSHUTDOWN(DCS实例AZ下电) |
参考DCS指导文档,启动DCS实例。 |
其他 |
无残留,无需清理。 |
|
DDS |
所有 |
无残留,无需清理。 |
Platform |
所有 |
无残留,无需清理。 |
RDS |
RDS_FAILOVER(RDS主备倒换) |
无残留,无需清理。 |
RDS_SHUTDOWN(RDS停止实例) |
参考RDS指导文档,启动RDS实例。 |
|
Script |
SCRIPT_FAULT(自定义脚本) |
1、取消尚未关闭的工单(操作页面:任务管理->执行记录->脚本工单)。 2、执行用户自定义脚本中的clean方法。 |
CCE |
所有 |
去Kubnetes集群删除命名空间及相关组件:
|