关于 olares-doctor
olares-doctor 是用于排查 Olares 应用和系统运行时问题的技能,适合调查安装卡住、崩溃、镜像拉取失败、入口不可达或资源压力。它汇总 Market、Cluster 和 Dashboard 的证据,默认只读。
主要功能
- 01按常见运行时症状路由
- 02检查应用生命周期状态
- 03收集 Pod、事件和日志证据
- 04查看本地镜像清单
- 05检查资源压力与利用率
- 06经批准后修复域名重复
适用场景
- 01调查未进入 running 状态的安装
- 02诊断应用反复崩溃或镜像拉取失败
- 03检查无法访问的应用入口
- 04排查系统变慢或资源绑定被拒
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ beclab/ olares --skill olares-doctor安装后在 Claude Code 中输入/olares-doctor确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/olares-doctor-app-crash.mdolares-doctor-app-stuck.mdolares-doctor-image.mdolares-doctor-resources.mdolares-doctor-running-unhealthy.mdolares-doctor-thirdleveldomain.md详细介绍
doctor(运行时诊断)
统一入口: 加载
../olares-shared/SKILL.md,了解套件路由、活动配置文件选择、平台入口点,以及身份验证继续/停止检查点。仅在确实需要登录、切换配置文件、存储令牌或恢复身份验证时,才加载其中的身份验证参考。
此技能是一个精简的诊断路由器,负责转接到 Market、Cluster 和 Dashboard。解读生命周期状态、TTL、序列化下载或 running 时,加载共享的应用状态模型。使用 olares-cli doctor <verb> --help 查看语法。
适用情形
- 安装/升级卡住或始终无法达到
running;应用无法启动。 - 应用崩溃/反复重启(CrashLoopBackOff、退出代码、配置错误)。
- 镜像无法拉取(
ImagePullBackOff/ErrImagePull/ 架构错误),或想查找未使用的本地镜像。 - 应用处于
running,但入口无法访问/报错/超时。 - 系统或应用运行缓慢,或 GPU/资源绑定遭拒(
node-pressure)。
目录应用(通过 market 安装)和你自己的开发应用(通过 chart 部署)遇到运行时故障时,都会转接到此处。 找到根本原因后,你编写的开发应用通常需要通过修改 chart 来修复——请转交给 ../olares-chart/SKILL.md。
思路:
doctor回答“为什么出了问题,接下来该怎么做?”诊断默认只读;唯一的变更操作是经过明确批准的thirdleveldomain --force-dedupe修复。开发->部署->调试的四技能组合是chart+market+olares-shared+doctor。
症状路由
| 症状 | 参考 |
|---|---|
安装/升级卡住;始终无法达到 running;停留在 pending / downloading / installing / initializing;全新安装后变为 stopped | references/olares-doctor-app-stuck.md |
应用崩溃/重启(CrashLoopBackOff、非零退出、CreateContainerConfigError、权限错误) | references/olares-doctor-app-crash.md |
镜像无法拉取(ImagePullBackOff / ErrImagePull / InvalidImageName / 架构不匹配);查找未使用的本地镜像 | references/olares-doctor-image.md |
应用处于 running,但入口无法访问/出现 5xx/超时/空白 | references/olares-doctor-running-unhealthy.md |
系统或应用运行缓慢;资源压力;GPU/计算绑定遭拒(node-pressure) | references/olares-doctor-resources.md |
已配置但不响应的模型,应先从上一层开始诊断:olares-router 会区分网关、网关的访问控制和模型应用自身的下载/引擎状态与此处的 Pod 级故障,并在原因位于应用层以下时将诊断转回此处。
首先排除正常排队。 在判断安装卡住之前,先检查是否有其他应用正在
downloading——app-service 一次只运行一个下载任务,因此pending条目通常只是正在排队(参见应用状态参考和应用卡住参考)。
命令索引
| 命令 | 用途 | 触发时阅读 |
|---|---|---|
images | 完整的本地镜像清单,附带工作负载引用;未使用镜像候选项 | 镜像诊断 |
thirdleveldomain | 审查重复/保留的三级域名;可选修复 | 域名审查与修复 |
doctor 如何收集证据(负责协调,不负责所有权)
- 生命周期状态/来源来自
olares-market。 - Pod、事件、日志和工作负载来自
olares-cluster。 - 压力和利用率来自
olares-dashboard。 - 命名空间发现遵循共享的平台模型。
根据时间和对象所有权关联证据。Market 超时不代表失败;running 只能证明入口 TCP 可达;新安装可能在调度失败后停留在 stopped,且没有 *Failed 生命周期状态。
安全与升级处理
- 默认采用只读诊断。不要将重启、删除、扩容、取消、清理或编辑 chart 作为自动诊断步骤。
thirdleveldomain --force-dedupe会修改 Application 资源。先展示拟议的更改并获得明确批准。- 未使用镜像报告是证据,不代表获准删除镜像。
- 系统命名空间的证据通常需要管理员可见权限。遇到 403/404 时,使用应用自身的证据并报告缺少的可见权限;未经批准,不要切换身份。
- 如果应用/用户/命名空间不明确、所需日志需要更高权限,或修复涉及编辑 chart、修改生命周期或管理主机,请停止操作。