返回技能市场
开发运维 安全

azure-kubernetes

@admin/azure-kubernetes

Plan, create, and configure production-ready Azure Kubernetes Service (AKS) clusters. Covers Day-0 checklist, SKU selection (Automatic vs Standard), networking options (private API server, Azure CNI Overlay, egress configuration), security, and operations (autoscaling, upgrade strategy, cost analysis). WHEN: create AKS environment, provision AKS, enable AKS observability, design AKS networking, choose AKS SKU, secure AKS, optimize AKS, AKS spot nodes, AKS cluster-autoscaler, rightsize AKS pod, pod rightsizing, over-provisioned AKS pod, pod resource requests and limits, Vertical Pod Autoscaler, VPA recommendations.

admin 热度 472v0.0.1

Azure Kubernetes Service

权威指导 — 强制合规
此技能会根据用户需求生成推荐的 AKS 集群配置,区分Day-0 决策(网络、API server — 后续难以更改)与Day-1 功能(可在创建后启用)。有关命令,请参见 [CLI 参考](./references/cli-reference.md)。

快速参考

| 属性 | 值 | |----------|-------| | 最适合 | AKS 集群规划和 Day-0 决策 | | MCP 工具 | mcp_azure_mcp_aks | | CLI | az 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 集群
  • 为生产工作负载规划 AKS 集群配置
  • 设计 AKS 网络(API server 访问、pod IP 模型、出站控制)
  • 设置 AKS 身份和机密管理
  • 配置 AKS 治理(Azure Policy、Deployment Safeguards)
  • 启用 AKS 可观测性(Container Insights、Managed Prometheus、Grafana)
  • 定义 AKS 升级和补丁策略
  • 了解 AKS Automatic 与 Standard SKU 差异
  • 获取 AKS 集群设置和配置的 Day-0 检查清单
正在将应用部署到现有集群? 此技能用于预配并配置*集群*。如果要对应用进行容器化,并将其部署到已有集群(Dockerfile + manifests + Deployment Safeguards),请改用 azure-kubernetes-app-deploy 子技能。

规则

  1. 从用户对预配计算、网络、安全和其他设置的需求开始。
  2. 使用 azure MCP server,并首先选择 mcp_azure_mcp_aks,以发现客户端呈现的确切 AKS 专用 MCP 工具。选择最符合任务的、已发现的最小 AKS 工具;仅当所需功能未通过 AKS MCP 表面暴露时,才回退到 Azure CLI(az aks)。
  3. 根据用户对控制与便利的需求,判断 AKS Automatic 或 Standard SKU 更合适。除非需要特定自定义,否则默认使用 AKS Automatic。
  4. 记录集群配置选择的决策和理由,尤其是后续难以更改的 Day-0 决策(网络、API server 访问)。

必需输入(只询问必要内容)

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

  • AKS 环境类型:dev/test 或 production
  • 区域、可用区、首选节点 VM 大小
  • 预期规模(节点/集群数量、工作负载大小)
  • 网络要求(API server 访问、pod IP 模型、入站/出站控制)
  • 安全和身份要求,包括镜像 registry
  • 升级和可观测性偏好
  • 成本约束

工作流

1. 集群类型

  • AKS Automatic(默认):最适合大多数生产工作负载,提供精选体验,并预配置了安全性、可靠性和性能最佳实践。除非你对网络、自动扩缩容或节点池配置有 Node Auto-Provisioning (NAP) 不支持的特定自定义要求,否则请使用它。
  • AKS Standard:如果你需要对环境配置的完全控制,请使用它;这需要额外的设置和管理开销。

2. 网络(Pod IP、出站、入站、数据平面)

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

  • Azure CNI Overlay(推荐):pod IP 来自私有 overlay 范围,不可在 VNet 中路由,可扩展到大型环境,适合大多数工作负载
  • Azure CNI(可在 VNet 中路由):pod IP 直接来自 VNet(pod 子网或节点子网);当 pod 必须可从 VNet 或本地环境直接寻址时使用
  • 文档:https://learn.microsoft.com/azure/aks/azure-cni-overlay

数据平面与网络策略

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

出站

  • Static Egress Gateway,用于稳定、可预测的出站 IP
  • 对于受限出站:UDR + Azure Firewall 或 NVA

入站

  • App Routing addon with Gateway API — HTTP/HTTPS 工作负载的推荐默认选项
  • Istio service mesh with Gateway API - 用于高级流量管理、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 server 启用静态加密;节点间启用传输中加密
  • 仅允许已签名且经策略批准的镜像(Azure Policy + Ratify),优先使用 Azure Container Registry
  • 隔离:使用命名空间、网络策略、作用域化日志记录

4. 可观测性

  • 使用 Managed Prometheus 和 Container Insights(配合 Grafana)实现 AKS 可观测性(日志 + 指标)。
  • 启用 Diagnostic Settings,以便在 Log Analytics workspace 中收集控制平面日志和审计日志,用于安全监控和故障排除。
  • 对于其他监控和故障排除工具,请使用 Agentic CLI for AKS、Application Insights、Resource Health Center、AppLens detectors 和 Azure Advisors 等功能。

5. 升级与补丁

  • 配置 Maintenance Windows,以控制升级时间
  • 为控制平面和节点 OS 启用自动升级,以保持安全补丁和 Kubernetes 版本最新
  • 通过将 AKS 环境升级到 Premium 层级,考虑使用 LTS versions 以获得企业稳定性(2 年支持)
  • Fleet 升级:使用 AKS Fleet Manager 在测试到生产环境之间进行分阶段发布

6. 性能

  • 使用 Ephemeral OS disks--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 tier,实现区域冗余控制平面,并为 API server 可用性提供 99.95% SLA
  • 启用 Microsoft Defender for Containers,以获得运行时保护
  • 为所有生产工作负载配置 PodDisruptionBudgets
  • 使用拓扑分布约束确保 pod 分布到不同故障域

9. 成本控制

  • 对批处理/可中断工作负载使用 Spot node pools(最高可节省 90%)
  • 停止/启动 dev/test 集群:az aks stop/start
  • 对稳定工作负载考虑使用 Reserved InstancesSavings Plans

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

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

消歧: 如果某个提示匹配多行(例如,“更便宜的节点”可能同时指向 Spot 和 autoscaler),优先选择最具体的匹配项。如果存在歧义,请在加载参考文件之前要求用户澄清其意图。

护栏 / 安全

  • 不要请求或输出机密(token、key)。
  • 不要要求用户粘贴 subscription ID。通过 MCP 工具(例如 list subscriptions、list resource groups)或 az account show / az account list 发现订阅和资源范围,以便代理可以在不暴露标识符的情况下解析上下文。
  • 如果 day-0 关键决策的要求存在歧义,请向用户提出澄清问题。对于 day-1 可启用功能,提出 2–3 个带有取舍的安全选项,并选择保守默认值。
  • 不要承诺零停机;建议采用工作负载保护措施(PDB、探针、副本)和分阶段升级,并结合可靠性与性能最佳实践。

MCP 工具

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

错误处理

| 错误 / 症状 | 可能原因 | 补救措施 | |-----------------|--------------|-------------| | MCP 工具调用失败或超时 | 凭据、subscription 或 AKS 上下文无效 | 验证 az login,使用 az account show 确认活动 subscription 上下文,并在不回显 subscription 标识符给用户的条件下检查目标资源组 | | 超出配额 | 区域 vCPU 或资源限制 | 请求增加配额,或选择其他区域/VM SKU | | 网络冲突(IP 耗尽) | 对于 overlay/CNI,pod 子网太小 | 重新规划 IP 范围;可能需要重新创建集群(Day-0) | | Workload Identity 不工作 | 缺少 OIDC issuer 或联合凭据 | 启用 --enable-oidc-issuer --enable-workload-identity,配置联合身份 |

qianwen skills install @admin/azure-kubernetes