mcpField
A
azure-kubernetes

azure-kubernetes

官方
github.com/microsoft设计与 UI1.6k437.2k 次安装今天更新
代码仓库

关于 azure-kubernetes

这是一个用于规划 AKS 集群的 Agent 技能,帮助用户根据需求确定集群配置建议。它区分不可轻易更改的 Day-0 决策(如网络和 API 服务器访问)与可在创建后启用的 Day-1 功能,适合需要规划生产环境 AKS 的团队。

主要功能

  1. 01AKS Automatic 与 Standard SKU 的选择建议
  2. 02Day-0 网络规划,包括 Pod IP 模型与出口设置
  3. 03身份、密钥与治理配置建议
  4. 04可观测性与升级修补策略
  5. 05节点池、可靠性与成本控制建议

适用场景

  1. 01规划生产环境的 AKS 集群配置
  2. 02评估 AKS 网络与 API 服务器访问方案
  3. 03生成 AKS 集群设置的 Day-0 检查清单

MCP 相关

该技能通过 mcp_azure_mcp_aks 工具发现客户端暴露的 AKS 相关 MCP 工具,并优先使用其中最小的可用工具,仅在 MCP 未覆盖所需功能时回退到 az aks 命令行。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/microsoft/azure-skills --skill azure-kubernetes

安装后在 Claude Code 中输入/azure-kubernetes确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

azure-kubernetes-app-deploy/knowledge-packs/frameworks/
aspnet-core.md
django.md
express.md
fastapi.md
flask.md
go.md
nestjs.md
nextjs.md
spring-boot.md
azure-kubernetes-app-deploy/phases/
quick-deploy.md
azure-kubernetes-app-deploy/references/
base-images.md
detection.md
rollback.md
safeguards.md
workload-identity.md
azure-kubernetes-app-deploy/templates/dockerfiles/
dotnet.Dockerfile
dotnet.dockerignore
go.Dockerfile
go.dockerignore
java.Dockerfile
java.dockerignore
node.Dockerfile
node.dockerignore
python.Dockerfile
python.dockerignore
rust.Dockerfile
rust.dockerignore
azure-kubernetes-app-deploy/templates/github-actions/
deploy.yml
azure-kubernetes-app-deploy/templates/k8s/
configmap.yaml
deployment.yaml

详细介绍

Azure Kubernetes Service

权威指南 — 必须遵守

此技能会根据用户需求生成推荐的 AKS 集群配置,并区分第 0 天决策(网络、API 服务器——后续难以更改)和第 1 天功能(创建后可启用)。命令请参阅 CLI 参考。

快速参考

属性值
适用场景AKS 集群规划和第 0 天决策
MCP 工具mcp_azure_mcp_aks
CLIaz aks create、az aks show、kubectl get、kubectl describe
相关技能azure-kubernetes-app-deploy(将应用部署到现有集群)、azure-diagnostics(AKS 基线故障排除)、azure-validate(就绪检查)、azure-kubernetes-automatic-readiness(将现有集群迁移到 AKS Automatic)、可选的 aks-skills 运维附加组件(专注于事件、精确特征、数据包捕获和 GPU 第 2 天工作流)

何时使用此技能

在用户希望执行以下操作时启用此技能:

  • 创建新的 AKS 集群
  • 为生产工作负载规划 AKS 集群配置
  • 设计 AKS 网络(API 服务器访问、Pod IP 模型、出站流量)
  • 设置 AKS 身份和机密管理
  • 配置 AKS 治理(Azure Policy、Deployment Safeguards)
  • 启用 AKS 可观测性(Container Insights、Managed Prometheus、Grafana)
  • 制定 AKS 升级和修补策略
  • 了解 AKS Automatic 与 Standard SKU 的差异
  • 获取 AKS 集群设置和配置的第 0 天检查清单

要将应用部署到现有集群? 此技能用于预配和配置集群。若要将应用容器化并部署到现有集群(Dockerfile + 清单 + Deployment Safeguards),请改用 azure-kubernetes-app-deploy 子技能。

需要处理更深入的运维任务? 请在此基础技能中完成第 0 天规划和基本操作。仅当专注的可选 AKS 运维技能有助于当前任务时,才加载 optional-aks-operations.md。

规则

  1. 从用户对计算、网络、安全和其他设置的预配需求着手。
  2. 使用 azure MCP 服务,并首先选择 mcp_azure_mcp_aks,以发现客户端提供的确切 AKS 专用 MCP 工具。选择满足任务需求的最小 AKS 工具;只有当 AKS MCP 接口未提供所需功能时,才回退到 Azure CLI(az aks)。
  3. 根据用户对控制能力与便利性的需求,确定 AKS Automatic 或 Standard SKU 哪个更合适。默认选择 AKS Automatic,除非需要特定自定义配置。
  4. 记录集群配置选择及其理由,尤其是后续难以更改的第 0 天决策(网络、API 服务器访问)。

所需输入(仅询问必要信息)

如果用户不确定,请采用安全的默认值。

  • AKS 环境类型:开发/测试或生产
  • 区域、可用性区域、首选节点 VM 大小
  • 预期规模(节点/集群数量、工作负载大小)
  • 网络需求(API 服务器访问、Pod IP 模型、入口/出口流量控制)
  • 安全和身份要求,包括映像注册表
  • 升级和可观测性偏好
  • 成本限制

工作流

1. 集群类型
  • AKS Automatic(默认):最适合大多数生产工作负载,提供经过精心配置的体验,并预先配置安全性、可靠性和性能方面的最佳实践。除非你有 Node Auto-Provisioning (NAP) 不支持的特定网络、自动缩放或节点池配置自定义需求,否则请使用此选项。
  • AKS Standard:如果你需要完全控制环境配置,请使用此选项,但设置和管理需要投入更多精力。
2. 网络(Pod IP、出口流量、入口流量、数据平面)

Pod IP 模型(Day-0 的关键决策):

  • Azure CNI Overlay(推荐):Pod IP 来自专用覆盖网络地址段,无法通过 VNet 路由;可扩展到大型环境,适用于大多数工作负载
  • Azure CNI(VNet 可路由):Pod IP 直接来自 VNet(Pod 子网或节点子网);适用于 Pod 必须可从 VNet 或本地网络直接访问的情况

数据平面与网络策略:

  • 基于 Cilium 的 Azure CNI(推荐):基于 eBPF,可实现高性能数据包处理、网络策略和可观测性

出口流量:

  • 使用 静态出口网关 获取稳定、可预测的出站 IP
  • 对于受限出口流量:使用 UDR + Azure Firewall 或 NVA

入口流量:

  • 带有 Gateway API 的 App Routing 插件 — HTTP/HTTPS 工作负载的推荐默认选项
  • 带有 Gateway API 的 Istio 服务网格 - 适用于高级流量管理、mTLS、金丝雀发布
  • Application Gateway for Containers — 适用于集成 WAF 的 L7 负载均衡

DNS:

  • 在所有节点池上启用 LocalDNS,以实现可靠、高性能的 DNS 解析
3. 安全
  • 在各处使用 Microsoft Entra ID(控制平面、Pod 的 Workload Identity、节点访问)。避免使用静态凭据。
  • 使用 Secrets Store CSI Driver 通过 Azure Key Vault 管理机密
  • 启用 Azure Policy + Deployment Safeguards
  • 启用 etcd/API 服务器的静态数据加密;启用节点间的传输中加密
  • 仅允许经过签名且通过策略审批的映像(Azure Policy + Ratify),优先使用 Azure Container Registry
  • 隔离:使用命名空间、网络策略和限定范围的日志记录
4. 可观测性
  • 使用 Managed Prometheus 和 Container Insights 搭配 Grafana 监控 AKS(日志 + 指标)。
  • 启用诊断设置,将控制平面日志和审核日志收集到 Log Analytics 工作区,用于安全监控和故障排除。
  • 对于其他监控和故障排除工具,可使用 Agentic CLI for AKS、Application Insights、Resource Health Center、AppLens 检测器和 Azure Advisors 等功能。
5. 升级与修补
  • 配置维护时段,以控制升级时间
  • 启用控制平面和节点 OS 的自动升级,确保安全补丁和 Kubernetes 版本保持最新
  • 将 AKS 环境升级到 Premium 层级,以考虑使用长期支持(LTS)版本,获得企业级稳定性(支持 2 年)
  • Fleet 升级:使用 AKS Fleet Manager,在测试到生产环境间分阶段推出升级
6. 性能
  • 使用临时 OS 磁盘(--node-osdisk-type Ephemeral)加快节点启动
  • 选择 Azure Linux 作为节点 OS(占用空间更小,启动更快)
  • 启用 KEDA,实现超越 HPA 的事件驱动自动缩放
7. 节点池与计算
  • 专用系统节点池:至少 2 个节点,并添加污点,仅运行系统工作负载(CriticalAddonsOnly)
  • 在所有节点池上启用 Node Auto Provisioning (NAP),以节省成本并实现灵活扩缩
  • 使用最新一代 SKU(v5/v6),获得主机级优化
  • 避免使用 B 系列 VM — 可突增的 SKU 会导致性能或可靠性问题
  • 生产工作负载使用至少具有 4 个 vCPU 的 SKU
  • 设置拓扑分布约束,根据 SLO 将 Pod 分散到不同主机/可用区
8. 可靠性
  • 跨 3 个可用区部署(--zones 1 2 3)
  • 使用 Standard 层级,获得区域冗余控制平面和 API 服务器可用性 99.95% SLA
  • 启用 Microsoft Defender for Containers,提供运行时保护
  • 为所有生产工作负载配置 PodDisruptionBudgets
  • 使用拓扑分布约束,确保 Pod 分布在不同故障域
9. 成本控制
  • 对批处理/可中断工作负载使用 Spot 节点池(最多可节省 90%)
  • 停止/启动开发/测试集群:az aks stop/start
  • 对稳定运行的工作负载,可考虑 预留实例或 Savings Plans

深入场景——仅加载相关参考文件:

场景触发关键词参考文件
Pod 资源规格调整过度预配的 Pod、CPU 请求、内存请求、调整工作负载规格azure-aks-rightsizing.md
VPA 设置垂直 Pod 自动扩缩器、VPA 建议、启用 VPAazure-aks-vpa.md
集群自动扩缩器空闲节点、CAS 关闭、启用自动扩缩器、缩容配置文件、节点利用率azure-aks-autoscaler.md
Spot 节点池Spot VM、Spot 节点、批处理工作负载、更便宜的节点azure-aks-spot.md

**消歧:**如果提示词匹配多行(例如,“更便宜的节点”可能同时指向 Spot 和自动扩缩器),请优先选择最具体的匹配项。如果存在歧义,请先询问用户以明确其意图,再加载参考文件。

防护措施/安全

  • 不要索取或输出机密信息(令牌、密钥)。
  • 不要要求用户粘贴订阅 ID。通过 MCP 工具(例如,列出订阅、列出资源组)或 az account show/az account list 查找订阅和资源范围,以便 Agent 在不暴露标识符的情况下确定上下文。
  • 如果第 0 天的关键决策需求不明确,请向用户提出澄清问题。对于第 1 天启用的功能,提供 2–3 个安全选项,说明各自的权衡,并选择保守的默认选项。
  • 不要承诺零停机;应建议采取工作负载防护措施(PDB、探针、副本)并分阶段升级,同时遵循可靠性和性能最佳实践。

MCP 工具

工具用途关键参数
mcp_azure_mcp_aks用于发现客户端所提供的确切 AKS 专用工具的 AKS MCP 入口点先发现可调用的 AKS 工具,然后使用该工具的参数

错误处理

错误/症状可能原因解决方法
MCP 工具调用失败或超时凭据、订阅或 AKS 上下文无效验证 az login,使用 az account show 确认当前订阅上下文,并检查目标资源组,但不要向用户复述订阅标识符
超出配额区域 vCPU 或资源限制申请提高配额或选择其他区域/VM SKU
网络冲突(IP 耗尽)Pod 子网对于 overlay/CNI 来说太小重新规划 IP 范围;可能需要重建集群(第 0 天)
工作负载标识无法正常工作缺少 OIDC 颁发者或联合凭据启用 --enable-oidc-issuer --enable-workload-identity,配置联合身份

评论

支持 Markdown