azure-kubernetes

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 建议。

1199Star
196Fork
更新于 2026/6/15
SKILL.md
readonly只读
name
azure-kubernetes
description

规划、创建和配置可用于生产的 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 检查清单

规则

  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. 记录集群配置选择的决策和理由,特别是对于后期难以更改的 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,配置联合标识