Release 操作事件
安装(Install)、升级(Upgrade)、回滚(Rollback)、卸载(Uninstall)在 Kuboard 中都是异步执行的:提交操作后立即返回,真正的工作由后台的 helm CLI 子进程完成。操作事件页就是这次后台执行的"直播窗口"——实时展示 helm 的执行日志、涉及资源的状态和整体进度。
入口
操作事件页是隐藏路由,不需要(也无法)从菜单进入。在以下任一页面提交操作后,浏览器会自动跳转到事件页:
| 来源页面 | 操作 | 提交后去向 |
|---|---|---|
| 安装 Release(./install) | 安装 | 自动跳转事件页 |
| 升级 / 回滚(./upgrade-rollback) | 升级或回滚 | 自动跳转事件页 |
| Release 列表(./releases) | 卸载 | 自动跳转事件页 |
跳转后的页面地址形如:
/helm/events/<集群ID>/<名称空间>/<Release名>?sessionId=<会话ID>其中 sessionId 是本次后台操作的会话标识,事件页靠它在服务端找到对应操作的事件流。
操作结束后,页面右上角出现两个按钮:
- 查看 Release —— 跳转到该 Release 的详情页
- 返回 Releases 列表 —— 回到 Release 列表
事件流展示
看到什么
事件页从上到下分为四块:
连接状态标签 —— 当前事件流的状态:
状态 含义 连接中 正在建立事件流连接 已连接 事件流已建立,正在实时接收 已完成 操作成功结束(绿色) 失败 操作以非零退出码结束(红色) 已取消 操作被用户取消 进度条 —— 显示
已运行秒数 / 超时秒数(默认超时 300 秒)。运行超过 90% 时进度条变黄,提示即将超时。资源状态 —— 当前已创建资源及其就绪情况:
资源 展示内容 Deployment 状态(Ready / Progressing)与副本数 就绪/总数Pod 状态(Pending、Running、ImagePullBackOff、CrashLoopBackOff 等) Pod 状态异常时,悬停状态旁的警告图标可查看具体原因(message)。
日志面板 —— 深色终端风格的 helm 执行输出,逐行实时滚动,并自动滚到最新一行:
- 普通输出:灰白色
- helm 执行日志(LOG):蓝色
- 失败信息(FAILED):红色
- 完成信息(COMPLETED):绿色
- 面板最多显示最近 500 行
事件是怎么产生的
每次后台操作都会产生一系列事件(Event),主要类型如下:
| 事件类型 | 说明 |
|---|---|
| STARTED | 操作启动(如 Helm install started) |
| LOG | helm CLI 输出的每一行(stdout 与 stderr 合并) |
| HEARTBEAT | 周期性心跳,携带已运行时间与超时时间,用于驱动进度条 |
| RESOURCE_STATUS | 周期性采集的资源状态快照(Pod / Deployment) |
| COMPLETED | 操作成功结束(退出码 0) |
| FAILED | 操作失败(非零退出码) |
| CANCELED | 操作被用户取消(退出码 137) |
实时刷新机制
事件页通过 SSE(Server-Sent Events) 长连接订阅事件流。连接建立后,服务端会先重放本次操作已产生的历史事件,再实时推送新事件——因此操作过程中刷新页面不会丢日志。对应的服务端端点为 GET /{clusterId}/namespaces/{ns}/releases/{name}/events(produces = text/event-stream)。
何时使用
观察长时间操作
安装大型 Chart、或开启了 wait 需要等待资源就绪时,操作可能持续数分钟。此时:
- 提交安装 / 升级后自动进入事件页。
- 观察进度条确认操作仍在进行(心跳持续推送,时间持续增长)。
- 观察资源状态:Deployment 从
Progressing变为Ready、Pod 变为Running,表示资源已就绪。 - 状态标签变为已完成后,点击 查看 Release 进入详情。
定位失败原因
操作失败(状态标签变红)时,原因通常写在两处:
| 现象 | 排查位置 |
|---|---|
| 渲染模板错误、Chart 校验失败 | 日志面板中的红色 FAILED 信息(helm 输出的错误详情) |
| 资源一直不就绪、等待超时 | 资源状态:Pod 卡在 ImagePullBackOff(镜像拉取失败)或 CrashLoopBackOff(容器启动崩溃),悬停查看 message |
取消操作
操作进行中(状态为已连接)时,可点击右上角 取消操作 并确认:
- 后台 helm 进程被终止,事件流以
CANCELED(退出码 137)结束,页面状态变为已取消。 - 页面会提示:取消前已创建的资源不会被自动删除,请手工清理。
WARNING
取消操作本质是终止后台进程,并不清理已创建的资源。取消后请到集群中确认并清理残留资源。
注意事项
- 事件是操作过程中的实时流:事件只在后台操作存活期间产生。操作结束后直接打开事件页而不带
sessionId,会看到提示「未找到活跃的会话,操作可能已完成」。 - 连接断开:网络波动导致事件流中断时,状态标签显示失败。刷新页面即可重新订阅,并重放本次操作的历史事件。
- 日志有上限:日志面板只保留最近 500 行,较早的输出会被截断。
- 超时:进度条按
已运行 / 超时计算,超过 90% 变黄。超时后后台 helm 子进程被强制终止,操作以失败结束。 - 最终结果以 Release 为准:操作是否成功,最终可在 Release 详情与 Revision 对比中确认(./releases)。