☸️Kubernetes MCP与Google ADK(代理开发工具包)集成!
该项目使用Google Agent Development Kit(ADK)和自定义模态上下文协议(MCP)服务器为Kubernetes实现了一个轻量级的智能控制平面,两者都是使用FastAPI在Python中开发的。这些服务直接在主机(节点)上运行,并通过kubectl与Kubernetes集群交互。
______________________________________________________________________
🔑关键组件
模态上下文协议(MCP):
一种结构化的消息传递协议,支持代理和服务之间的动态、上下文驱动的交互。
Kubernetes(Minikube):
一个本地容器编排平台,用于托管MCP服务、模拟扩展和管理部署。
Docker:
用于运行minikube集群
Google ADK(代理开发工具包):
用于构建与MCP服务交互的软件代理的框架或工具包,实现基于会话/上下文的通信。
kubectl:
用于管理Kubernetes资源(Pod、部署、服务)。
Node.js/NPM:
可选--用于与MCP端点交互。
🛠 特性
安装脚本(req.sh)执行以下任务:
- 更新系统软件包
- 安装Docker并将其作为系统服务启用
- 将当前用户添加到
docker群组 - 安装Node.js(v18)、npm和npx
- 安装Minikube
- 安装
kubectl通过Snap
运行脚本
run脚本(run.sh)执行以下任务:
- 启动Minikube
- 创建Python虚拟环境
- 启动Env
- 安装Req.txt
- 运行程序
______________________________________________________________________
📦 先决条件
- Ubuntu 22.04或24.04 LTS
- 用户与
sudo特权 - 互联网接入
- 新会话(运行脚本以应用Docker组更改后注销并重新登录)
______________________________________________________________________
📁 文件
req.sh--用于设置Docker、Node.js、Minikube和kubectl的主shell脚本
run.sh--在虚拟环境中运行adk程序的Shell脚本
agent.py--运行MCP的主程序代码
.env-声明环境变量(在此文件中添加API键)
______________________________________________________________________
🚀 如何使用
1.克隆存储库
git clone https://github.com/Cyber-Cloud-Pro/ADK-MCP-Kubernetes.git
cd ADK-MCP-Kubernetes2.使Shell脚本执行
chmod +x run.sh
chmod +x req.sh3.运行req.sh
./req.sh 4.重新登录终端
如果使用AWS EC2刷新浏览器也可以工作
5.在.env文件中添加Gemini API
6.运行Run.sh
./run.sh7. 在 Public-IP:8000 或 LocolHost:8000 浏览用户界面
______________________________________________________________________
🧠 概念
- MCP服务器公开一个REST API。
- 代理(通过FastAPI)向MCP发送上下文请求。
- 作为响应,MCP服务器根据上下文/意图执行kubectl命令(例如,get-pods、scale-deployment等)。
- Kubernetes集群单独运行,例如在Minikube上。
🧱 逻辑架构
[FastAPI Agent (ADK)] ──► [MCP Server API]
│
(uses subprocess/kubectl)
▼
[Kubernetes Cluster (via kubectl)]🚀 此设置的用例
- MCP解释高级代理意图并将其转换为kubectl操作。
- 代理可以模拟自动化决策(例如,扩展、故障处理、审计报告)。
- 非常适合演示人工智能驱动或基于规则的编排流。
