状态与排障
排障时先别急着重试。先判断问题发生在构建、发布、应用运行还是访问入口,再查看对应记录,通常能更快找到原因。Luna DevOps 会尽量把这几段状态放在同一条上下文里。
先看事件中心
遇到“刚才到底发生了什么”这类问题时,先打开侧边栏的“事件”。这里会按时间展示构建、发布、部署钩子、访问入口和证书状态变化。
可以同时选择多个项目空间、应用、部署配置、分类、级别和结果,再配合时间范围缩小问题。应用和部署配置会跟随上游选择更新,移除项目空间时,已经失效的下游条件也会自动移除。打开事件详情后,可以看到失败摘要、关联资源、操作人和直达构建、发布或访问页面的链接。普通用户只能看到自己有权访问的项目空间;平台管理员可以在“与我相关”和“全部事件”之间切换。
构建没有成功
打开失败的构建记录,先检查:
- Dockerfile 路径是否正确。
- 构建上下文是否正确。
- 依赖下载是否失败。
- 镜像站推送凭据是否可用。
如果构建记录显示 kubernetes build job failed,平台会继续从构建 Pod 状态和 Kubernetes Events 中补充失败原因。常见字段包括 executor terminated、exitCode=137、OOMKilled、Evicted、BackOff。其中 exitCode=137 / OOMKilled 通常表示构建环境内存不足,可以调大部署配置里的构建环境规格后重试。
如果你还没配置 Git 和镜像站,先用已有镜像部署,确认后半段链路正常。
发布没有成功
打开 Release 状态和部署日志,重点检查:
- 镜像是否存在。
- 运行集群是否可访问。
- 镜像拉取凭据是否正确。
- 服务端口是否和应用真实监听端口一致。
- 环境变量、Secret 和配置文件是否符合应用预期。
访问入口打不开
按下面的顺序确认:
- 域名是否解析到正确入口。
- Gateway API CRD 是否已安装,GatewayClass 和 Gateway 是否存在。
- HTTPRoute 是否 Accepted、ResolvedRefs、Programmed。
- Service 是否指向正确端口。
- TLS 配置是否符合当前网关。
- Service endpoints 是否有可用 Pod。
本地测试域名时,可以先用 hosts 或 curl --resolve 验证,不必一开始就改公网 DNS。
恢复建议
- 配置错了:改部署配置,再重新发布。
- 镜像错了:选择正确镜像,创建新 Release。
- 应用异常:先看运行日志,再决定重启或回滚。
- 访问异常:先查访问入口状态,再查集群网关。