aks-mcp
微软官方出品的 AKS AI 运维工具,让 Claude/Cursor 等 AI 助手直接对话式操控
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
微软官方出品的 AKS AI 运维工具,让 Claude/Cursor 等 AI 助手直接对话式操控
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Azure/aks-mcp 是微软 Azure 官方开源的 Model Context Protocol(MCP)服务器,它在 AI 编程助手与 Azure Kubernetes Service(AKS)之间架起一座桥梁,让 Claude、Cursor、GitHub Copilot 等 AI 工具能够直接操控生产级 Kubernetes 集群——用自然语言就能查询集群状态、排查节点故障、执行扩缩容操作。
想象一下这样的场景:深夜生产环境报警,工程师不用记住一长串 kubectl 命令,只需对 AI 说"帮我看看哪个节点 CPU 使用率超过 80% 并列出最近 1 小时的错误日志",aks-mcp 会自动调用 Azure CLI 和 kubectl,将结果整理后返回。微软内部已将此工具链集成到 Azure SDK 生态中,成为 AKS 日常运维的 AI 原生入口。
Kubernetes 早已是企业容器编排的事实标准,但它的复杂性也让无数开发者望而生畏。kubectl 命令行陡峭的学习曲线、Azure Portal 界面操作的繁琐、以及云厂商专有 API 的差异,使得"问 AI 帮我调 Kubernetes"这件事长期停留在"理论上可行"的阶段——因为大多数 AI 编程助手根本不认识 kubectl,也不知道如何与 Azure API 正确对话。
微软 Azure 团队在 2025 年初启动了 aks-mcp 项目,目的是解决这个"最后一公里"问题:通过实现 Model Context Protocol(Anthropic 提出的 AI 工具互操作标准),让 AI 助手以一种标准化、安全、受控的方式,操作真实的 AKS 集群资源。项目由 Azure 官方容器服务团队维护,上游依赖 @azure/mcp-kubernetes 和 mark3labs/mcp-go(Go 语言 MCP 协议实现),在 GitHub 上获得了 134 颗星和 39 个 Fork。
aks-mcp 提供两大类工具——Azure 统一操作和 Kubernetes 原生操作,每类工具都支持细粒度的权限分级(readonly / readwrite / admin)。
**Azure CLI 统一操作(call_az)**是默认工具,支持执行任意 Azure CLI 命令。只需传入完整的 CLI 指令,例如 az aks list --resource-group myRG,aks-mcp 就会在认证上下文中执行并返回 JSON 结果。这意味着理论上所有 Azure CLI 支持的功能都可以通过 AI 对话来驱动,从查询虚拟机列表到操作 Fleet 多集群,不一而足。
**Kubernetes 操作(call_kubectl)**同样采用统一接口,执行原生 kubectl 命令。对于节点管理,系统内置了 collect_aks_node_logs 工具,可以从 VMSS 节点收集 kubelet、containerd、kernel、syslog 四类日志,支持时间范围过滤和关键词搜索——这对生产环境的故障排查尤为实用。
**诊断探测器(aks_detector)**是一个亮点功能。它封装了 Azure App Lens 的诊断能力,AI 可以按类别(如"节点健康"、"身份安全"、"连接性")执行诊断探测器,直接返回结构化的诊断报告,而不需要运维人员手动翻查日志。
Fleet 管理工具则面向多集群场景,支持 Azure Fleet 的创建、扩缩容、凭据管理,以及 Kubernetes ClusterResourcePlacement CRD 操作,为企业级 AKS 联邦管理提供了 AI 交互接口。
aks-mcp 的架构严格遵循"最小权限原则"。工具执行权限分三级:
kubectl get-credentials 等高危命令,仅限隔离环境认证机制是架构中最考量的部分。AKS-MCP 支持 5 种认证方式的自动回退:
每种认证方式都通过 az account show 进行验证,确保连接的有效性。值得注意的是,Workload Identity 的联邦令牌路径被严格校验——必须是 /var/run/secrets/azure/tokens/azure-identity-token,这防止了令牌路径注入攻击。
项目代码结构清晰,采用 Go 1.25 的 modern module 模式,按功能划分为 auth(认证)、k8s(Kubernetes 操作)、azureclient(Azure SDK 封装)、tools(工具定义)、telemetry(OpenTelemetry 追踪)等 internal 包,依赖 Azure 官方 SDK 而非 kubectl CLI,保证了类型安全和版本兼容。
部署极为灵活。项目提供多阶段构建 Dockerfile,从 golang:1.25-alpine 构建二进制,最终镜像基于 alpine:3.23,镜像大小控制在合理范围内。运行时自动安装 kubectl、kubelogin 和 Helm,无需额外准备。
对于 Kubernetes 生产环境,项目提供了完整的 Helm Chart,支持通过 values.yaml 配置镜像仓库、副本数、认证方式。Chart 中内置了 Workload Identity 集成——配置 AZURE_CLIENT_ID 和 AZURE_TENANT_ID 后,Pod 以 OIDC Token 的方式自动获取 Azure 凭据,全程无需管理密钥。
硬件需求极低:不要求 GPU,仅需 512MB 内存和 200MB 磁盘。部署前提是机器上已安装 Azure CLI,Kubernetes 集群则由 aks-mcp 远程操作,不需要部署在集群内部。
工具功能强大,但使用门槛并不低。运维人员必须理解 AKS 资源模型、Azure 订阅结构,以及 MCP 协议的基本工作原理。此外,连接字符串(AKS 资源 ID)的获取仍需手动操作,AI 无法凭空"猜测"集群 ID。另外,该项目由微软 Azure 官方维护,对其他云厂商(如 GCP、AWS)的支持不在路线图内,适用场景有明确边界。
aks-mcp 代表了一种新兴趋势:AI 原生的云运维接口。传统的云管平台强调图形界面和流程审批,而 MCP 化的工具链让 AI 编程助手成为真正的"运维搭档"。它不替代 IaC(Terraform/Pulumi),而是在日常调试、巡检、故障响应等高频低风险场景中大幅降低认知负担。随着 Claude Code、Cursor 等工具的普及,这类 MCP 服务器有望成为每个云工程师工具箱中的标配装备。