
azure-kubernetes
热门规划、创建和配置可用于生产的 Azure Kubernetes Service (AKS) 集群。涵盖 Day-0 检查清单、SKU 选择(Automatic 与 Standard)、网络选项(私有 API 服务器、Azure CNI Overlay、出口配置)、安全性和运维(自动缩放、升级策略、成本分析)。适用场景:创建 AKS 环境、预配 AKS、启用 AKS 可观测性、设计 AKS 网络、选择 AKS SKU、保护 AKS、优化 AKS、AKS Spot 节点、AKS 集群自动缩放器、调整 AKS Pod 大小、Pod 大小调整、过度预配的 AKS Pod、Pod 资源请求和限制、垂直 Pod 自动缩放器、VPA 建议。
规划、创建和配置可用于生产的 Azure Kubernetes Service (AKS) 集群。涵盖 Day-0 检查清单、SKU 选择(Automatic 与 Standard)、网络选项(私有 API 服务器、Azure CNI Overlay、出口配置)、安全性和运维(自动缩放、升级策略、成本分析)。适用场景:创建 AKS 环境、预配 AKS、启用 AKS 可观测性、设计 AKS 网络、选择 AKS SKU、保护 AKS、优化 AKS、AKS Spot 节点、AKS 集群自动缩放器、调整 AKS Pod 大小、Pod 大小调整、过度预配的 AKS Pod、Pod 资源请求和限制、垂直 Pod 自动缩放器、VPA 建议。
Azure Kubernetes Service
权威指南 — 强制合规
本技能根据用户需求生成推荐的 AKS 集群配置,区分 Day-0 决策(网络、API 服务器 — 后期难以更改)和 Day-1 功能(可在创建后启用)。命令请参阅 CLI 参考。
快速参考
| 属性 | 值 |
|---|---|
| 最佳用途 | AKS 集群规划和 Day-0 决策 |
| MCP 工具 | mcp_azure_mcp_aks |
| CLI | az aks create, az aks show, kubectl get, kubectl describe |
| 相关技能 | azure-diagnostics(AKS 故障排除)、azure-validate(就绪检查)、azure-kubernetes-automatic-readiness(将现有集群迁移到 AKS Automatic) |
何时使用本技能
当用户希望执行以下操作时激活本技能:
- 创建新的 AKS 集群
- 为生产工作负载规划 AKS 集群配置
- 设计 AKS 网络(API 服务器访问、Pod IP 模型、出口)
- 设置 AKS 标识和机密管理
- 配置 AKS 治理(Azure Policy、部署保护)
- 启用 AKS 可观测性(Container Insights、Managed Prometheus、Grafana)
- 定义 AKS 升级和修补策略
- 了解 AKS Automatic 与 Standard SKU 的区别
- 获取 AKS 集群设置和配置的 Day-0 检查清单
规则
- 从用户对计算、网络、安全和其他设置的预配需求开始。
- 首先使用
azureMCP 服务器并选择mcp_azure_mcp_aks,以发现客户端暴露的精确 AKS 特定 MCP 工具。选择最小的已发现 AKS 工具来完成任务,仅当所需功能未通过 AKS MCP 表面暴露时,回退到 Azure CLI(az aks)。 - 根据用户对控制与便利性的需求,确定 AKS Automatic 或 Standard SKU 哪个更合适。除非需要特定自定义,否则默认使用 AKS Automatic。
- 记录集群配置选择的决策和理由,特别是对于后期难以更改的 Day-0 决策(网络、API 服务器访问)。
必需输入(仅询问必要信息)
如果用户不确定,请使用安全默认值。
- AKS 环境类型:开发/测试或生产
- 区域、可用区、首选节点 VM 大小
- 预期规模(节点/集群数量、工作负载大小)
- 网络需求(API 服务器访问、Pod IP 模型、入口/出口控制)
- 安全和标识需求,包括镜像仓库
- 升级和可观测性偏好
- 成本约束
工作流
1. 集群类型
- AKS Automatic(默认):最适合大多数生产工作负载,提供预配置最佳实践的精选体验,涵盖安全性、可靠性和性能。除非您对网络、自动缩放或节点池配置有特定自定义需求,且这些需求不受节点自动预配(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 或本地直接寻址时使用
数据平面和网络策略:
- Azure CNI powered by Cilium(推荐):基于 eBPF,用于高性能数据包处理、网络策略和可观测性
出口:
- 静态出口网关:用于稳定、可预测的出站 IP
- 对于受限出口:UDR + Azure Firewall 或 NVA
入口:
- App Routing 附加组件与 Gateway API — 推荐用于 HTTP/HTTPS 工作负载的默认选项
- Istio 服务网格与 Gateway API — 用于高级流量管理、mTLS、金丝雀发布
- Application Gateway for Containers — 用于集成 WAF 的 L7 负载均衡
DNS:
- 在所有节点池上启用 LocalDNS,以实现可靠、高性能的 DNS 解析
3. 安全性
- 在所有地方使用 Microsoft Entra ID(控制平面、Pod 的工作负载标识、节点访问)。避免使用静态凭据。
- 通过 Secrets Store CSI Driver 使用 Azure Key Vault 管理机密
- 启用 Azure Policy + 部署保护
- 启用 etcd/API 服务器的静态加密;节点间传输加密
- 仅允许已签名、策略批准的镜像(Azure Policy + Ratify),优先使用 Azure Container Registry
- 隔离:使用命名空间、网络策略、作用域日志记录
4. 可观测性
- 使用 Managed Prometheus 和 Container Insights 配合 Grafana 实现 AKS 可观测性(日志 + 指标)。
- 启用诊断设置,将控制平面日志和审计日志收集到 Log Analytics 工作区,用于安全监控和故障排除。
- 对于其他监控和故障排除工具,请使用 AKS 的 Agentic CLI、Application Insights、Resource Health Center、AppLens 检测器和 Azure Advisor 等功能。
5. 升级和修补
- 配置维护窗口以控制升级时间
- 启用控制平面和节点操作系统的自动升级,以保持最新的安全补丁和 Kubernetes 版本
- 考虑使用LTS 版本实现企业稳定性(2 年支持),将 AKS 环境升级到 Premium 层
- Fleet 升级:使用 AKS Fleet Manager 实现从测试到生产环境的分阶段推出
6. 性能
- 使用临时 OS 磁盘(
--node-osdisk-type Ephemeral)加快节点启动速度 - 选择 Azure Linux 作为节点操作系统(占用空间更小,启动更快)
- 启用 KEDA 实现超越 HPA 的事件驱动自动缩放
7. 节点池和计算
- 专用系统节点池:至少 2 个节点,仅限系统工作负载的污点(
CriticalAddonsOnly) - 在所有池上启用节点自动预配(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 - 对于稳态工作负载,考虑预留实例或节省计划
深入场景 — 仅加载相关的参考文件:
| 场景 | 触发关键词 | 参考 |
|---|---|---|
| Pod 大小调整 | 过度预配的 Pod、CPU 请求、内存请求、调整工作负载大小 | azure-aks-rightsizing.md |
| VPA 设置 | 垂直 Pod 自动缩放器、VPA 建议、启用 VPA | azure-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发现订阅和资源范围,以便代理无需暴露标识符即可解析上下文。 - 如果 Day-0 关键决策的需求不明确,请向用户提出澄清问题。对于 Day-1 启用的功能,提供 2-3 个安全选项并说明权衡,然后选择保守的默认值。
- 不要承诺零停机;建议工作负载保护措施(PDB、探针、副本)和分阶段升级,以及可靠性和性能的最佳实践。
MCP 工具
| 工具 | 用途 | 关键参数 |
|---|---|---|
mcp_azure_mcp_aks |
AKS MCP 入口点,用于发现客户端暴露的精确 AKS 特定工具 | 首先发现可调用的 AKS 工具,然后使用该工具的参数 |
错误处理
| 错误/症状 | 可能原因 | 补救措施 |
|---|---|---|
| MCP 工具调用失败或超时 | 凭据、订阅或 AKS 上下文无效 | 验证 az login,使用 az account show 确认活动订阅上下文,并检查目标资源组,不要向用户回显订阅标识符 |
| 配额超出 | 区域 vCPU 或资源限制 | 请求增加配额或选择不同的区域/VM SKU |
| 网络冲突(IP 耗尽) | Pod 子网对于覆盖/CNI 来说太小 | 重新规划 IP 范围;可能需要重新创建集群(Day-0) |
| Workload Identity 不工作 | 缺少 OIDC 颁发者或联合凭据 | 启用 --enable-oidc-issuer --enable-workload-identity,配置联合标识 |





