排查任务时,先查看 Pod 所在节点和状态,再查看容器日志与事件。以下示例使用快速入门中的命名空间,Pod 名称替换为实际任务。
查看 Pod 与节点
kubectl -n agc-docs-demo get pods -o widekubectl get nodeskubectl -n agc-docs-demo describe pod agc-workspace-a
Pod 的节点列可以用于核对调度结果;
describe 中的 Events 显示调度、镜像拉取、容器启动和卷挂载情况。查看容器日志
kubectl -n agc-docs-demo logs agc-workspace-a -c runner
多容器 Pod 使用
-c 指定业务容器。有容器重启记录时,可使用 --previous 查看上一轮日志。查看事件
kubectl -n agc-docs-demo get events --sort-by=.metadata.creationTimestampkubectl -n agc-docs-demo get events --field-selector involvedObject.name=agc-workspace-a --sort-by=.metadata.creationTimestamp
日志和事件可能随资源清理而丢失,删除或重建前先保存排障需要的信息。
记录运行效果
将业务任务 ID、Pod UID、发生时间与 Cloud API RequestId 一同保存,便于关联排查。
按用户问题查看证据
问题 | 观察对象 | 判断边界 |
集群能否接入 | API 可达性、身份、命名空间权限 | 控制台显示运行中不等于客户端可达 |
是否有可用沙箱节点 | 调度状态、RuntimeClass、节点与运行时健康 | 节点 Ready 不替代组件就绪 |
任务是否完成 | Job 条件、容器退出码、业务结果 | Running 或 Ready 不等于业务成功 |
文件是否保留 | 原 PVC、挂载对象、文件校验 | PVC Bound 不证明文件内容正确 |
镜像是否加速 | 目标节点、镜像 digest、平台数据面证据 | 镜像拉取事件本身不证明走加速路径 |
使用最小 Pod 示例时,可查询容器退出与重启信息:
kubectl -n agc-docs-demo get pod agc-hello -o jsonpath='{range .status.containerStatuses[*]}{.name}{" restart="}{.restartCount}{" state="}{.state}{" lastState="}{.lastState}{"\\n"}{end}'
重启次数应结合命令、restartPolicy、退出码和时间看。周期性正常退出也可能累计重启;等待镜像的容器则可能尚未开始运行。系统安装器健康与宿主已安装服务健康也应分别观察,由管理员提供关联状态。
记录启动耗时
区分提交到调度、调度到容器启动、启动到业务可用、首次业务请求完成。短任务还需看执行和结束时间。每份结果记录镜像 digest、节点配置、缓存条件、并发、成功率、采集起止点和失败样本;未采集的指标写“无数据”。Kubernetes 时间戳包含多个环节,不能直接标为纯沙箱或虚拟机启动耗时。