README
🚀 EKS 模型上下文协议(MCP)服务器
这是一个轻量级且高效的服务器,实现了亚马逊弹性 Kubernetes 服务 (EKS) 的模型上下文协议。它为 GenAI 代理与 EKS 集群的交互提供了标准接口,极大地提升了交互的便利性和规范性。
✨ 主要特性
- ⚡ 快速响应时间并具有适当的超时处理,确保服务的高效与稳定。
- 🔑 支持多种 EKS 集群认证方法,满足不同场景的安全需求。
- 📝 全面的日志记录和错误处理,方便问题的排查与解决。
- 🕒 响应时间跟踪,便于性能优化。
- ❌ 细致的错误码处理,让错误信息更加清晰明确。
📦 安装指南
文档未提供安装步骤,暂不展示此章节。
💻 使用示例
文档未提供使用示例代码,暂不展示此章节。
📚 详细文档
项目结构
以下是项目的完整文件结构:
eks-mcp-server/
├── main.py # 主程序
├── app/
│ ├── schemas/ # 数据验证模式
│ ├── models/ # 业务模型
│ └── endpoints/ # API 端点处理
├── config/ # 配置管理
├── tests/ # 测试用例
└── requirements.txt # 依赖管理
API 端点
以下是服务器提供的所有 API 端点:
- 获取服务健康状态:
GET http://3.90.45.69:8000/health - 发现可用操作:
GET http://3.90.45.69:8000/mcp/v1/operations
支持的操作
以下是服务器支持的所有 EKS 操作:
集群管理
list_clusters:列出所有 EKS 集群。describe_cluster:获取指定集群的详细信息。
节点组管理
list_nodegroups:列出指定集群中的所有节点组。create_nodegroup:创建新的节点组。delete_nodegroup:删除指定的节点组。
作业管理
submit_job:在 EKS 集群中提交作业。list_jobs:列出所有已提交的作业。describe_job:获取指定作业的详细信息。cancel_job:取消正在运行的作业。
认证方法
AWS SDK 认证
使用 AWS SDK 进行认证,需要在应用程序中配置有效的 AWS 凭据。具体步骤如下:
- 配置 AWS 区域:
import boto3
session = boto3.Session(region_name="us-east-1")
- 创建 EKS 客户端:
client = session.client('eks')
IAM 角色认证
将 ECS 任务角色添加到 EKS 集群的 aws-auth ConfigMap 中。具体步骤如下:
- 获取当前任务角色 ARN:
echo $TASK_ROLE_ARN
- 更新 aws-auth ConfigMap:
- groups: []
kind: User
name: task.amazonaws.com
permissions:
- all
userArn: $TASK_ROLE_ARN
当前部署
该服务器当前在 ECS 上运行,并可通过以下地址访问:
- 端点:
http://3.90.45.69:8000 - 健康检查:
http://3.90.45.69:8000/health - 操作发现:
http://3.90.45.69:8000/mcp/v1/operations
测试命名空间
在 EKS 集群中包含以下测试命名空间:
mcp-test-namespace:包含一个带有 2 个 nginx 副本的部署mcp-test-namespace-2:包含一个带有 3 个 nginx 副本的部署
🔧 技术细节
文档未提供技术实现细节,暂不展示此章节。
📄 许可证
本项目采用 MIT 许可证。
Scan to join WeChat group