MCP-K8s:当AI成为我的Kubernetes小助手
还记得刚开始接触Kubernetes时的感受吗?复杂的架构、繁多的概念、以及那些需要记忆的kubectl命令…,现在有了MCP可以让这种交互变得更加简单,尝试通过AI自然语言对话来完成对k8s集群各种资源的操作乃至于定于集群的问题。
它是怎么工作的?
说起来很简单,MCP-K8s就像是在Kubernetes和AI之间搭了一座桥。通过MCP(Model Control Protocol)协议,它能让AI理解你的自然语言指令,并转换成对应的Kubernetes操作。
要用起来也超级简单,只需要在Cursor中配置一下:
{
"mcpServers": {
"mcp-k8s": {
"command": "/path/to/mcp-k8s",
"args": [
"-kubeconfig",
"/path/to/kubeconfig",
"-enable-create",
"-enable-delete",
"-enable-update"
]
}
}
}
实战体验
来看看实际用起来是什么感觉:
查询集群信息
比如我想看看集群节点情况,直接问就好了:
查询k8s版本
创建资源
需要创建新资源?就像跟同事说话一样描述你的需求:
AI会帮你处理好所有细节:
最终效果如下:
模拟排障
这个是我最喜欢的部分。有一次我故意搞了个问题,有一个pod没有running:
只需要简单说明情况:
mcp-demo 命名空间下有个nginx 的pod没有running,看下是什么原因并解决
在这个过程中AI会自动调用mcp 工具,并将查询到的结果提交给大模型进行分析,分析之后 进行定位并解决
个人想法
这里不得不夸一下Claude模型,感觉它特别能够理解mcp的tool,每次都能够精准的知道应该传入那种参数。虽然在tool定义中都有描述,但是对比了其他的一些模型和mcp server的交互,总是不尽人意,要不就是给的参数json格式错误,要不就是理解错了参数需要传入的信息。
技术点分享
说实话,能把这个项目做出来,主要归功于:
- AI理解能力: 特别是Claude这样的模型,对上下文的理解真的很到位
- 参数处理: AI能自动推断出正确的参数,这个太省心了
- 问题诊断: 它不是简单地执行命令,而是真的能理解问题并给出解决方案
未来畅想
说实话,现在的功能还只是冰山一角。我觉得未来可以做的事情还有很多:
- 智能运维: 让AI不只是执行命令,还能主动发现和预防问题
- 运维自动化: 通过简单的对话完成复杂的运维流程
- 经验沉淀: 把每次排障的经验都变成AI的知识,越用越智能
写在最后
做这个项目的过程中,最大的感受就是:技术发展真的太快了,AI给我们带来了太多可能性。虽然现在还有很多可以改进的地方,但我相信这只是开始。期待看到更多人加入进来,一起把Kubernetes运维变得更简单、更智能。
如果你也对这个项目感兴趣,欢迎来GitHub看看,一起讨论,一起改进。