引入全托管Amazon EKS MCP服务器:用自然语言管理Kubernetes集群

本文介绍了Amazon新推出的全托管EKS MCP服务器,它允许用户通过自然语言对话来部署应用、排查问题和管理EKS集群,无需深入Kubernetes专业知识,大幅简化了容器管理操作流程。

フルマネージド 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 的配置示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
{
  "mcpServers": {
    "eks-mcp": {
      "disabled": false,
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://eks-mcp.us-west-2.api.aws/mcp",
        "--service",
        "eks-mcp",
        "--profile",
        "default",
        "--region",
        "us-west-2"
      ]
    }
  }
}

注意端点 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 ekskubectl CLI 命令,通过 MCP 协议为 EKS 管理提供更集成的体验。

场景 1:使用会话式 AI 升级 EKS 集群

使用 EKS 洞察评估集群升级准备情况是 EKS MCP Server 的一项重要功能。本节演示如何检查 EKS 集群是否已准备好升级 Kubernetes 版本。

检查升级准备情况

该过程包括三个简单的步骤:

  1. 列出可用集群以识别要检查的集群
  2. 获取升级准备情况洞察以评估兼容性
  3. 搜索 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 工具操作

  1. 生成应用程序清单 generate_app_manifest 工具以最少的输入创建生产就绪的 Kubernetes 清单,自动配置部署、服务和负载均衡器。

  2. 简化部署 apply_yaml 工具取代了复杂的 kubectl 工作流程,通过单一操作部署多资源 YAML 配置。

  3. 资源发现和状态 list_k8s_resourcesread_k8s_resource 工具结合使用,通过智能过滤发现已部署资源并获取详细配置。

  4. 应用程序日志和事件 get_pod_logsget_k8s_events 工具结合使用,提供查看容器日志和 Kubernetes 事件的综合调试功能。

  5. CloudWatch 可观测性 get_eks_metrics_guidanceget_cloudwatch_metricsget_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 工具操作

  1. 服务状态分析 read_k8s_resource 工具获取了 LoadBalancer 服务的配置和状态,揭示了服务已创建但未分配外部 IP。

  2. 事件调查 get_k8s_events 工具调查了服务的 Kubernetes 事件,发现了一条关键错误消息,指出子网缺少必需的 kubernetes.io/role/elb 标签。

  3. 故障排除知识库 search_eks_troubleshooting_guide 工具搜索了专门的 EKS 故障排除知识库,寻找有关 LoadBalancer 服务问题和子网标签要求的指导。

  4. 基础设施分析 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 用户指南

本文由高级合作伙伴解决方案架构师市川翻译。原文在此。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计