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 資源請求與限制、Vertical Pod Autoscaler、VPA 建議。

1199星標
196分支
更新於 2026/6/15
SKILL.md
readonlyread-only
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 資源請求與限制、Vertical Pod Autoscaler、VPA 建議。

Azure Kubernetes Service

權威指引 — 強制遵循

此技能根據使用者需求產生建議的 AKS 叢集設定,區分 Day-0 決策 (網路、API 伺服器 — 後續難以變更) 與 Day-1 功能 (可在建立後啟用)。指令請參閱 CLI 參考

快速參考

屬性
適用於 AKS 叢集規劃與 Day-0 決策
MCP 工具 mcp_azure_mcp_aks
CLI az aks createaz aks showkubectl getkubectl describe
相關技能 azure-diagnostics (AKS 疑難排解)、azure-validate (就緒檢查)、azure-kubernetes-automatic-readiness (將現有叢集遷移至 AKS Automatic)

使用時機

當使用者想要以下操作時,啟用此技能:

  • 建立新的 AKS 叢集
  • 為生產工作負載規劃 AKS 叢集設定
  • 設計 AKS 網路 (API 伺服器存取、Pod IP 模型、對外連線)
  • 設定 AKS 身分識別與密碼管理
  • 設定 AKS 治理 (Azure Policy、Deployment Safeguards)
  • 啟用 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 (預設):適用於大多數生產工作負載,提供預先配置最佳實務的策劃體驗,涵蓋安全性、可靠性與效能。除非您有 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 或內部部署直接定址時使用

資料平面與網路原則

  • Azure CNI powered by Cilium (建議):基於 eBPF 的高效能封包處理、網路原則與可觀測性

對外連線

  • Static Egress Gateway 提供穩定、可預測的對外 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 的 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 工作區,以進行安全性監控和疑難排解。
  • 對於其他監控和疑難排解工具,請使用 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)
  • 在所有集區上啟用 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
  • 對穩定狀態工作負載考慮保留執行個體節省方案

深入探討情境 — 僅載入相關的參考檔案:

情境 觸發關鍵字 參考
Pod 資源調整 過度佈建的 Pod、CPU 請求、記憶體請求、調整工作負載大小 azure-aks-rightsizing.md
VPA 設定 vertical pod autoscaler、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 子網路對 Overlay/CNI 而言太小 重新規劃 IP 範圍;可能需要重建叢集 (Day-0)
Workload Identity 無法運作 缺少 OIDC 簽發者或同盟憑證 啟用 --enable-oidc-issuer --enable-workload-identity,設定同盟身分識別