
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 建議。
規劃、建立和設定可用於生產環境的 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 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、Deployment Safeguards)
- 啟用 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 (預設):適用於大多數生產工作負載,提供預先配置最佳實務的策劃體驗,涵蓋安全性、可靠性與效能。除非您有 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,設定同盟身分識別 |





