Guardian 在相关应用配置更新时先部署候选实例,使用 XHealth 验证,再决定是否推广。它依赖可靠的检查定义,也需要服务器有容量同时承载正式应用和候选资源。
启用条件
- 应用使用无状态部署方式;本地数据挂载应用不支持 Guardian。
- 已配置并验证 XHealth,检查能稳定判断业务是否可用。
- 操作者具有 Operator 或 Admin 权限。
- 镜像仓库、资源和调度条件允许候选实例运行。
在应用的 XHealth 页面开启 Guardian。首次启用前先让现有检查通过,避免每次发布都因检查配置本身错误而失败。
哪些变化会验证
启用 Guardian 后,镜像、容器运行参数、XConfig 或分组变更会触发候选验证。分组变更通过 API 操作。
发布过程
- 编辑相关应用配置并保存。
- 应用概览出现 Guardian 状态,候选资源开始部署。
- 候选实例就绪后运行配置的健康检查。
- 检查通过后,平台将候选配置推广给正式应用。
- 等待正式副本完成更新,再验证业务入口和运行状态。
| 阶段 | 应观察的内容 |
|---|---|
| 部署中 | 镜像拉取、资源、候选实例启动 |
| 验证中 | 检查任务是否运行及输出结果 |
| 失败 | 错误原因、候选应用和检查日志 |
| 推广中 | 正式副本替换和后续业务状态 |
验证失败后的操作
在状态允许时,概览页提供以下操作:
- 重试:修复临时问题后重新执行验证。
- 跳过:由操作者明确接受风险,绕过检查结果继续推广。
- 取消:放弃尚可取消的候选发布并清理相关资源。
跳过不是“检查通过”。只有理解失败原因且明确接受该配置时才使用。推广阶段或其他不可操作状态下,部分按钮不会出现,应等待状态收敛后再判断。
排障与限制
查看应用日志时区分正式应用、Guardian 候选应用和 Guardian 检查来源。候选镜像无法运行、检查工具缺失、目标端口错误和资源不足需要分别处理。
存在未完成候选发布时,后续配置修改可能被拒绝。先处理当前发布,再提交下一次变更。需要恢复已推广的配置时,阅读回滚与失败处理。