研究AIOps已有1年多,目前手里有不少可落地的方案了,而且我们已经有了自研的AIOps平台,欢迎关注并与我链接。
今天的案例是基于WorkBuddy和Kubernetes的MCP来做一个运维智能助手。
一、核心思路和架构
核心理念
架构图

https://pypi.org/project/mcp-kubernetes-server
它预置了39个实用的 Kubernetes 操作工具。使用这个现成的 Server,我们无需编写任何后端代码,只需专注于部署和集成。
二、MCP部署与配置
步骤 1: 准备 Kubernetes 环境
这里假设已经有了一个可用的 Kubernetes 集群,并且kubectl命令行工具已配置好,可以访问该集群。
步骤 2: 部署 Kubernetes MCP Server
项目地址:https://pypi.org/project/mcp-kubernetes-server
该项目已经纳入pip的仓库了,可以直接使用pip install安装,非常方便。
注意:
该MCP需要python版本不低于3.11
将该MCP部署在k8s集群的某个节点上,它需要访问到kubeconfig,并且该节点上可以执行kubectl命令
我系统为Rocky9.4,可以使用yum安装python3.12:
yum install -y python3.12 python3.12-pip用pip安装mcp
python3.12 -m pip install mcp-kubernetes-server -i https://mirrors.aliyun.com/pypi/simple/启动mcp服务
nohup mcp-kubernetes-server --transport sse --host 0.0.0.0 --port 8080 >/tmp/mcp-kubernetes-server.log 2>/tmp/mcp-kubernetes-server.log &步骤 3: 在 WorkBuddy 配置 MCP
在左侧菜单栏点击“专家.技能.连接器”,再选择“连接器”,再点击右上角的“自定义连接器”,点击“配置MCP”
写入如下配置:
{"mcpServers": {"k8s-mcp": {"type": "http","url": "http://192.168.186.183:8080/sse","headers": {"Authorization": "Bearer notoken"},"disabled": false}}}
点击保存,然后返回MCP列表,点击“信任”
稍等几秒钟,就可以看到它给我们展示出来39个工具

三、创建专家
左侧点击“专家.技能.连接器”,选择“专家”,创建专家,直接用自然语言创建:
expert-manager帮我创建一个 kubernets 运维专家,任务是任务是通过k8s-mcp,帮助用户查询和诊断 Kubernetes 集群的状态。请根据提供给你的工具来选择具体的任务,比如查看命名空间的工具就是namespaces_list,查看节点日志的工具是nodes_log。你完全可以根据工具的名称来推测其用途。请遵循以下工作流程:1. **理解意图**:仔细分析用户的请求,明确他们想做什么。2. **收集参数**:如果用户没有提供必要的参数(如 `namespace`, `pod_name`),请主动询问。例如,如果用户说“看看 web 服务的日志”,你需要问:“请告诉我 web 服务所在的命名空间和 Pod 名称?”3. **调用工具**:根据收集到的信息,选择并调用最合适的工具。4. **分析结果**:仔细分析工具返回的原始数据,特别是 `Events` 部分,它们通常是问题的关键线索。5. **友好总结**:将技术细节和数据分析结果,用清晰、易懂的自然语言总结给用户。如果发现问题,给出可能的排查方向或建议。**重要安全原则**:- 你的权限是只读的,只能查询和诊断,**严禁执行任何修改或删除操作**(如 `delete`, `edit`, `apply`)。- 如果用户提出破坏性请求,请礼貌地拒绝,并解释你的权限限制。


四、使用专家
点击左侧“专家.技能.连机器”,点击“专家”,再点击右上角“我的专家”

点击立即使用
示例1. 查看命名空间状态
帮我查看集群中所有命名空间的状态
示例2. 列出所有pod
列出所有pod
示例3. 排查问题
帮我检查所有pod中有没有异常的
