フルマネージド Amazon EKS MCP Server (プレビュー) の紹介
by Toshikazu Ichikawa on 02 12月 2025 in Amazon Elastic Kubernetes Service, Announcements, Artificial Intelligence, Technical How-to Permalink Share
这篇文章翻译自 Introducing the fully managed Amazon EKS MCP Server (preview) (发布日期: 2025年11月21日)。
学习如何通过简单的对话,而不是复杂的 kubectl 命令或深入的 Kubernetes 专业知识来管理 Amazon Elastic Kubernetes Service (Amazon EKS) 集群。本文将介绍如何使用新的全托管 EKS Model Context Protocol (MCP) Server (预览版),通过自然语言部署应用程序、排查问题和升级集群,而无需深入的 Kubernetes 专业知识。我们将演示一个真实的场景,其中会话式 AI 将多步骤的手动任务转换为简单的自然语言请求。
管理 Kubernetes 工作负载的团队需要横跨容器编排、基础设施、网络和安全领域的专业知识。大型语言模型 (LLM) 可以帮助开发人员编写代码或管理工作负载,但如果没有对集群的实时访问,其能力会受到限制。基于过时训练数据的通用建议无法满足实际需求。Model Context Protocol (MCP) 通过向 AI 模型提供对集群数据的实时安全访问来解决此问题。
MCP 是一个开源标准,它使 AI 模型能够安全地访问外部工具和数据源以获得更好的上下文。它为 EKS 集群提供标准化的接口,以实时、上下文感知的知识增强 AI 应用程序,从而在从开发到运维的整个应用程序生命周期中实现更准确、更个性化的指导。今年早些时候,在 MCP 协议发布后的几个月内,AWS 成为首批宣布 MCP 服务器的托管 Kubernetes 服务提供商之一。客户可以在本地机器上安装此 EKS MCP 服务器,用于 EKS 和 Kubernetes 资源管理。这个早期可本地安装的 EKS MCP 服务器版本使我们能够快速验证我们的方法并收集宝贵的客户反馈,直接促成了今天的发布。
我们收到的最一致的反馈是关于对云端全托管 EKS MCP 服务器的需求。今天,AWS 发布了全托管 Amazon EKS MCP Server (预览版)。新的托管式 EKS MCP Server 通过生产环境所需的关键功能改进了之前的版本。
- 消除安装和维护:无需管理版本更新或对本地服务器问题进行故障排除。通过配置 AI 助手通过轻量级代理连接到托管的 EKS MCP Server 端点,您将自动接收新工具、功能和错误修复。
- 集中式访问管理:与 AWS Identity and Access Management (IAM) 深度集成,提供控制服务器访问的集中式安全方法。所有请求均使用 AWS Signature Version 4 (SigV4) 进行签名,可实现与现有 AWS 凭证和 IAM 策略的无缝集成。
- 增强的故障排除:访问基于大规模运营数百万个 Kubernetes 集群的经验构建的知识库。
- 增强的监控和可见性:与 AWS CloudTrail 集成,捕获通过托管服务进行的所有工具调用,为 AI 辅助操作提供详细的审计跟踪和合规报告。
全托管 EKS MCP Server 的目标是赋能代理体验,无论您是使用 Kiro (IDE 和 CLI)、Cursor、Cline 等支持 AI 的开发工具,还是构建自己的需要与 EKS 集群交互的代理。这种标准化接口使任何与 MCP 兼容的 AI 工具都能立即提供强大的 EKS 指导和自动化。
除了托管 MCP 服务器,我们还通过与 Amazon Q 的更深层次集成,极大地改善了 Amazon EKS 控制台的故障排除体验。增强的控制台在可观测性仪表板的错误消息旁边显示由 AI 驱动的故障排除选项。单击一下即可诊断根本原因并查看修复步骤。无论是调查集群、控制平面还是节点健康问题,您都可以直接从问题列表或详细视图中单击 “使用 Amazon Q 检查” 来开始调查。控制台集成揭示了有关集群健康状况和未来升级的关键细节,使您能够在影响生产工作负载之前发现问题。
Amazon EKS MCP Server 工具
EKS MCP Server 提供专用工具来诊断问题并控制 EKS 集群及其 Kubernetes 组件。这些工具分为以下类别:
- 集群管理工具 – 创建和管理 EKS 集群
- Kubernetes 资源管理 – 无需依赖 Kubernetes 命令,即可操作和管理 EKS 集群内的 Kubernetes 资源。
- 应用程序部署 – 生成用于部署应用程序的 Kubernetes 清单。
- 故障排除 – 提供基于 AWS 大规模运行 Kubernetes 集群的运营知识得出的故障排除指南。
- 文档和知识库 – 搜索 AWS 文档和知识库以获取最新信息和最佳实践。
有关工具的完整列表,请参阅 EKS MCP Server 用户指南。
Amazon EKS MCP Server 入门
先决条件
- AWS 设置:要使用此功能,您的机器上必须已安装并配置 AWS CLI。请按照文档 AWS CLI 中的配置和凭证文件设置 来设置将用于 MCP 配置的配置文件。对于此博文中的场景,AWS 配置文件应配置为可访问
us-west-2区域。 - MCP 客户端:您可以使用众多支持 MCP 的代理工具之一。此博客文章使用 Kiro CLI 作为客户端。要设置 Kiro CLI 的 MCP 客户端配置,请遵循 MCP 配置文件规范。
- Python 环境:需要安装 Python 的
uv包管理器。包管理器会自动下载并运行mcp-proxy-for-aws包,因此您无需单独安装它。MCP 代理使客户端能够使用 AWS SigV4 身份验证连接到远程 AWS 托管 MCP 服务器。 - AWS Identity and Access Management (IAM) 权限:AWS 配置文件需要具有用于读取 EKS 集群、访问 CloudWatch 日志和查看 Kubernetes 资源的 EKS 相关 IAM 权限。授予对 AWS 配置文件的访问权限时,请遵循最小权限原则。用于连接 MCP Server 的角色需要具有
eks-mcp:InvokeMcp权限,用于初始化和获取可用工具的信息。使用只读工具需要eks-mcp:CallReadOnlyTool,而使用完全访问(写入)工具需要eks-mcp:CallPrivilegedTool。
配置
全托管 EKS MCP Server 架构使用 AWS SigV4 身份验证将 MCP 客户端安全地连接到 AWS 服务。下图说明了通信流程。
以下是 Kiro CLI 的配置示例:
|
|
注意端点 URL https://eks-mcp.{AWS_REGION}.api.aws/mcp 中的 us-west-2 区域。这是托管 MCP Server 的区域。--profile 标志引用用于连接 MCP Server 的本地 AWS 配置文件。此标志是可选的,您可以使用环境变量 AWS_PROFILE。--region 标志引用用于限定您要操作的 EKS 集群范围的区域。此标志是可选的,您可以使用环境变量 AWS_REGION。您可以使用 --read-only 标志来指示仅允许只读工具。
工具访问级别
EKS MCP Server 支持两个访问级别:
- 只读模式 (
--read-only标志):提供所有读取操作和对文档工具的访问权限 - 完全访问模式:除了所有只读工具外,还包括写入操作,例如集群创建、资源管理、策略更改等
每个工具都旨在替代特定的 aws eks 或 kubectl CLI 命令,通过 MCP 协议为 EKS 管理提供更集成的体验。
场景 1:使用会话式 AI 升级 EKS 集群
使用 EKS 洞察评估集群升级准备情况是 EKS MCP Server 的一项重要功能。本节演示如何检查 EKS 集群是否已准备好升级 Kubernetes 版本。
检查升级准备情况
该过程包括三个简单的步骤:
- 列出可用集群以识别要检查的集群
- 获取升级准备情况洞察以评估兼容性
- 搜索 EKS 文档以确定时间线
让我们看一个实际例子。
1. 列出 EKS 集群
首先,我们从以下提示开始:
(翻译:评估我的 EKS Auto 集群的升级准备情况,包括支持状态、升级时间线以及任何阻塞性问题)
代理使用 list_eks_resources 来发现可用集群,并通过 describe_eks_resource 获取配置。
这表明有一个名为 “my-auto-cluster” 的集群可用于评估。
2. 检查升级准备情况洞察
接下来,代理使用 get_eks_insights 工具,类别为 UPGRADE_READINESS,来评估集群的升级准备情况。
3. 搜索 EKS 文档
最后,代理搜索了有关升级时间线和定价的 EKS 文档。
升级准备情况报告
基于洞察分析,以下是全面的升级准备情况报告:
集群 “my-auto-cluster” 已完全准备好升级到 Kubernetes 1.33。所有关键兼容性检查均已通过,未发现阻碍升级的问题。
使用 EKS MCP 进行升级的主要优势:
- 自动评估:无需手动检查多个组件
- 全面覆盖:评估插件、节点兼容性、集群健康状况
- 明确指导:为每个检查结果提供具体原因
- 主动预警:在问题成为阻碍之前识别潜在问题
- 识别 EKS 自动模式:了解最新的 EKS 部署模式
通过在升级前自动检查兼容性,您可以减少准备时间并减少部署失败。
场景 2:使用自然语言部署应用程序
EKS MCP Server 通过自然语言提示实现高级工作流程。例如,用户可以请求:
I want to deploy a simple web app to my EKS cluster named my-auto-cluster that shows ‘Hello EKS!’ on the page. Use the image from public.ecr.aws/docker/library/httpd:2 as the base, customize it with my message, push it to ECR as linux amd64, and make it accessible from the internet using a load balancer
(翻译:我想在名为 my-auto-cluster 的 EKS 集群上部署一个简单的 Web 应用,在页面上显示"Hello EKS!"。 使用 public.ecr.aws/docker/library/httpd:2 的镜像作为基础,用我的消息进行定制,将其作为 linux amd64 推送到 ECR,并使用负载均衡器使其可以从互联网访问。)
代理 (Kiro CLI) 协调了多个 EKS MCP 工具来完成此工作流程。
关键 EKS MCP 工具操作
-
生成应用程序清单
generate_app_manifest工具以最少的输入创建生产就绪的 Kubernetes 清单,自动配置部署、服务和负载均衡器。 -
简化部署
apply_yaml工具取代了复杂的kubectl工作流程,通过单一操作部署多资源 YAML 配置。 -
资源发现和状态
list_k8s_resources和read_k8s_resource工具结合使用,通过智能过滤发现已部署资源并获取详细配置。 -
应用程序日志和事件
get_pod_logs和get_k8s_events工具结合使用,提供查看容器日志和 Kubernetes 事件的综合调试功能。 -
CloudWatch 可观测性
get_eks_metrics_guidance、get_cloudwatch_metrics、get_cloudwatch_logs工具结合使用,提供完整的可观测性设置和监控。
部署概述
完整的部署工作流程展示了 EKS MCP 工具如何无缝协同工作。
EKS MCP Server 将多步骤部署转变为单个会话请求,处理编排、错误和监控,并在每个阶段提供信息。
结果是一个完整的 Web 应用程序,可通过 AWS 的 Network Load Balancer 访问。您可以看到 EKS MCP 服务器如何将复杂的部署工作流程简化为简单的会话式请求。
场景 3:基础设施问题故障排除
当问题跨越 Kubernetes 和 AWS 基础设施边界时,EKS MCP Server 可以有效地进行诊断。
My LoadBalancer service hello-eks-app in the default namespace on my EKS cluster my-auto-cluster is stuck in pending state and not getting an external IP. Can you help me troubleshoot what’s wrong and fix it?
(翻译:我的 EKS 集群 my-auto-cluster 的 default 命名空间中的 LoadBalancer 服务 hello-eks-app 卡在 pending 状态,并且无法获取外部 IP。您能帮我诊断问题所在并进行修复吗?)
代理协调了多个 EKS MCP 工具来诊断和解决问题。
关键 EKS MCP 工具操作
-
服务状态分析
read_k8s_resource工具获取了 LoadBalancer 服务的配置和状态,揭示了服务已创建但未分配外部 IP。 -
事件调查
get_k8s_events工具调查了服务的 Kubernetes 事件,发现了一条关键错误消息,指出子网缺少必需的kubernetes.io/role/elb标签。 -
故障排除知识库
search_eks_troubleshooting_guide工具搜索了专门的 EKS 故障排除知识库,寻找有关 LoadBalancer 服务问题和子网标签要求的指导。 -
基础设施分析
get_eks_vpc_config工具获取了全面的 VPC 和子网配置详细信息,确定了缺少所需标签的特定公共子网。
故障排除概述
完整的故障排除工作流程展示了 EKS MCP 工具如何桥接 Kubernetes 和 AWS 领域。
这展示了 EKS MCP Server 如何实现对通常需要 Kubernetes 和 AWS 基础设施两方面专业知识的全面故障排除,并将复杂的诊断工作流程整合到单个会话界面中。
通过 Amazon Q 增强的 EKS 控制台体验
Amazon EKS 通过 Amazon Q 集成,将代理体验带到控制台,超越了 CLI 或 IDE。“使用 Amazon Q 检查"功能显示在整个可观测性仪表板中,为故障排除和分析提供上下文感知的 AI 辅助。
集成的 AI 辅助
“Inspect with Amazon Q” 按钮被战略性地放置在多个控制台部分:
-
集群健康问题:当检测到健康问题时,单击"Inspect"可获得由 AI 驱动的分析和修复建议,解决诸如禁用 KMS 密钥或配置问题等问题。
-
升级洞察:对于升级准备情况检查,检查功能提供兼容性问题、版本偏差问题和推荐操作的详细说明。
-
节点健康监控:单个节点问题可以通过检查功能进行分析,将节点状态与底层基础设施问题关联起来。
-
可观测性数据:复杂的可观测性数据,如损坏的 Webhook、HTTP 错误模式、API 服务器问题,通过 AI 驱动的解释变得更加易于访问。
上下文智能
检查功能利用 Amazon Q 的功能,直接在控制台的上下文中呈现洞察。这消除了在工具之间切换或在不同 AWS 服务之间手动关联信息的需要。您可以从可视化仪表板无缝过渡到会话式故障排除,使具有不同 Kubernetes 专业知识的团队都能更直观地管理 EKS。
总结
预览版 Amazon EKS MCP Server 正在改变团队与 Kubernetes 交互的方式,通过自然语言使复杂的操作变得触手可及。预览版 EKS MCP Server 在所有 AWS 商业区域(AWS GovCloud (US) 区域和中国区域除外)均可用。无需横跨多个领域的深厚专业知识,团队现在可以通过一个会话式界面来管理 EKS 集群,该界面无缝桥接了 Kubernetes 和 AWS 服务。
准备好体验会话式的 EKS 管理了吗?首先使用本文中的设置步骤在您的环境中配置 EKS MCP Server。从只读操作开始,探索集群洞察,并随着您的团队对会话界面的熟悉,逐步扩展到完全的管理功能。有关 Amazon EKS MCP Server 的更多信息,请参阅 Amazon EKS 用户指南。
本文由高级合作伙伴解决方案架构师市川翻译。原文在此。