OpenClaw 插件开发从零到一:写一个 K8s 排障插件,把 3 小时排查缩到 5 分钟
用 OpenClaw 一段时间了,做内容创作、数据抓取、定时任务都很顺手。但我一直有个想法——能不能让 OpenClaw 直接帮我排查 K8s 问题?
比如,线上 Pod 出问题了,我只要说一句"看看这个 Pod 为什么 CrashLoopBackOff",OpenClaw 就能自动执行 kubectl describe、kubectl logs、kubectl get events,然后把分析结果告诉我。
这不是科幻,OpenClaw 的 Skill Workshop 和 Tool 机制就是干这个的。
为什么要自己写插件?
OpenClaw 内置了很多工具:文件读写、执行命令、网页搜索、图片生成。但特定领域的工具需要自己写。
比如排查 K8s 问题,我需要:
1. 执行 kubectl 命令获取 Pod 状态
2. 执行 kubectl logs 获取日志
3. 执行 kubectl get events 获取事件
4. 把这些信息汇总,让 AI 分析根因
OpenClaw 的 Skill Workshop 就是干这个的——把一系列操作封装成一个可复用的 Skill。
第一步:了解 Skill 的结构
OpenClaw 的 Skill 本质上是一个 Markdown 文件,用特定的 Front Matter 格式声明工具的元数据和行为。
一个 Skill 包含:
k8stroubleshoot 命令,输入 Pod 名称,自动执行排查流程。第二步:定义 Tool
Tool 是 Skill 的核心——告诉 OpenClaw 可以执行什么命令,参数是什么。
kubectl 命令封装:
参数说明:
• name:工具名称,OpenClaw 用这个来识别
• description:告诉 AI 这个工具是干什么的
• commands:可执行的命令模板,{podname} 是动态参数
第三步:写一个完整的排障 Skill
下面是我实际在用的 K8s 排障 Skill(为了阅读方便,我把 YAML 和命令分开展示):
Skill 定义文件:
工具 1:诊断单个 Pod
工具 2:检查 Node 健康状态
工具 3:检查 Pod 网络连通性
使用示例:
用户:帮我看看 nginx-pod-xxx 为什么 CrashLoopBackOff
AI 自动执行:
1.kubectl get pod→ 发现 Pod 在 CrashLoopBackOff
2.kubectl describe→ 发现 Liveness 探针失败
3.kubectl logs→ 看到应用启动超时
4. 分析结论:探针超时时间太短,建议从 5s 改为 15s
第四步:通过 Skill Workshop 注册
OpenClaw 提供了 skillworkshop 工具来管理 Skill:
创建后,Skill 会进入"待审核"状态。OpenClaw 会提示你确认,确认后 Skill 就生效了。
第五步:实际效果
注册 Skill 后,我只要说:
"看看 production 命名空间里那个 nginx-pod-xxx 为什么一直重启"
OpenClaw 就会自动:
1. 识别出要用 k8sdiagnosepod 工具
2. 执行 kubectl get pod 获取状态
3. 执行 kubectl describe pod 获取详细信息
4. 执行 kubectl logs 获取日志
5. 执行 kubectl get events 获取事件
6. 综合分析,告诉我根因和修复建议
整个过程不到 5 分钟,原来手动排查要 1-3 小时。
踩坑记录
坑 1:kubectl 命令必须在宿主机上执行
OpenClaw 默认在沙箱环境执行命令,但 kubectl 需要访问 kubeconfig。需要在 Skill 里指定 host: node 或 host: auto 来执行。
坑 2:命令超时
有些命令(如 kubectl logs --tail=5000)输出很大,需要设置合理的 timeout 参数,避免 AI 等待太久。
坑 3:权限问题
OpenClaw 的 exec 工具默认有权限限制,需要在 OpenClaw 配置里允许 kubectl 命令的执行。在 tools.exec.security 配置中放行 kubectl 即可。
扩展思路
Skill 不只是写一个排查工具,还能做更多:
1. 定时巡检 Skill 每天早上自动检查集群健康状态,如果发现异常直接推送到 Telegram。
2. 自动化修复 Skill 排查出问题后,自动执行修复命令(需要谨慎,建议加人工确认步骤)。
3. 多集群管理 Skill 在 Skill 里切换 kubeconfig,一个命令管理多个集群。
4. 日志分析 Skill
把 kubectl logs 的输出接入 AI,让 AI 分析日志中的异常模式。
总结
OpenClaw 的 Skill Workshop 让 AI 从"聊天助手"变成了"能干活的操作系统"。
你不需要写复杂的代码,也不需要搞微服务架构。写一个 Markdown 文件,定义几个命令,AI 就能帮你执行复杂的运维操作。
下次遇到 K8s 问题,别再手动 kubectl describe 翻来翻去了。写个 Skill,让 AI 帮你干。
——◆——
延伸阅读:
OpenClaw 记忆系统升级:从 nomic-embed-text 切换到 mxbai-embed-largeOpenClaw Agent 协作踩坑:3 个 Agent 一起干活,为什么比单打独斗还慢?你在用 OpenClaw 写过什么 Skill?留言说说你的玩法,我帮你优化。
——◆——
🤔 互动话题
关于OpenClaw 插件开发从零到一,你有什么踩坑经历或心得?评论区聊聊~
📖 阅读原文 👈 底部查看
👍 点赞 + 在看 + 转发 是对我最大的支持!
本文首发于「不怕慢」
夜雨聆风