Azure Kubernetes Service (AKS) 是一個用於部署和管理容器化應用程式的託管 Kubernetes 服務。 AKS 將管理 Kubernetes 的複雜性與營運負擔卸載給 Azure。 AKS 提供兩種叢集模式:
- AKS Automatic:提供全受控體驗,並具備可直接用於生產環境的預設設定。 Azure 會自動處理節點管理、擴展、安全、監控和升級。 適合大多數團隊和工作負載的建議選項。
- AKS 標準:對叢集配置與節點池管理的完全控制權。 建議在有特定基礎設施需求或現有自動化時使用。
本文旨在為平台管理員或開發者設計,協助尋找可擴展、自動化且受管理的 Kubernetes 解決方案。 如果你想減少營運負擔並快速打造一個生產準備的叢集, AKS Automatic 就是為你量身打造的。
ACS 概觀
AKS 透過將管理 Kubernetes 的責任轉移到 Azure,降低管理 Kubernetes 的複雜度與營運負擔。 當你建立 AKS 叢集時,Azure 會自動免費幫你建立並配置控制平面。 Azure 平台管理 AKS 控制平面,負責你部署的 Kubernetes 物件和工作節點,用來執行應用程式。 Azure 負責關鍵作業,例如健康監控和維護,而你只需支付執行應用程式的 AKS 節點費用。
注意
AKS 經 NCF 認證,且符合 SOC、ISO、PCI DSS 和 HIPAA 規範。 欲了解更多資訊,請參閱Microsoft Azure合規概述。
選擇你的 AKS 模式
AKS 提供兩種模式來建立與操作叢集。 請參考以下表格,選擇最適合您需求的模式:
| 功能 | AKS 自動化系统 | AKS 標準 |
|---|---|---|
| 適用對象 | 開發團隊、新工作負載、快速上線與生產應用程式 | 需要全面基礎設施控制的平台團隊 |
| 節點管理 | 全管理 - Azure 透過節點自動配置自動配置,自動配置、擴展及升級節點 | 你手動建立和管理節點池 |
| 安全性預設值 | Azure RBAC、工作負載身分識別、OIDC 簽發者、以強制模式執行的 部署防護措施,以及 映像清理工具,皆為預設啟用 | 各功能分別啟用 |
| Monitoring | Managed Prometheus、Container Insights 和搭配 Grafana 的 Azure 監視器儀表板預設為開啟 | 各功能分別啟用 |
| 叢集升級 | 透過穩定通道自動進行;作業系統映像檔升級透過 NodeImage 通道執行 | 預設是手動; 自動升級通道 為選配 |
| 縮放 | HPA、 KEDA 與 VPA 皆為預先配置;節點是按需建立的 | 預設為手動縮放;叢集自動縮放器與 KEDA 為選配 |
| Pod 整備度 SLA | 有財務保證:Pod 整備度 SLA 保證 99.9% 的符合資格 Pod 在五分鐘內完成整備 | 不包含 |
| 叢集定價層 | 含可用性 SLA 的標準定價層,且無需額外付費 | 預設為免費定價層級;標準或高級定價方案為選配 |
| 入口 | 已預先設定受控 NGINX,並整合 Azure DNS 和 金鑰保存庫 | 選用;自備 Ingress 控制器,或使用 application routing 附加元件 |
想Azure管理基礎設施時,使用 AKS Automatic,這樣團隊才能專注於應用程式。 當您需要自訂網路設定、Windows 節點集區、Automatic 中尚未提供的特定 VM SKU,或是已建置以手動叢集管理為基礎的自動化流程時,請使用 AKS Standard。
欲全面比較各功能,請參見 AKS 自動與標準功能比較。
在 Azure 上的容器解決方案
Azure 提供多種容器解決方案,旨在因應各種工作負載、架構及業務需求。
| 容器解決方案 | 資源類型 |
|---|---|
| Azure Kubernetes Service | 受控 Kubernetes |
| Azure Red Hat OpenShift | 受控 Kubernetes |
| Azure Arc 支持的 Kubernetes | 非受控 Kubernetes |
| Azure 容器實例 (ACI) | 受控 Docker 容器執行個體 |
| Azure 容器應用程式 | 受控 Kubernetes |
如需比較各種解決方案的詳細資訊,請參閱下列資源:
使用 AKS 的時機
注意
對於大多數新工作負載,我們建議使用 AKS 自動。 它可直接用於生產環境,具備自動佈建節點、內建的安全性預設、預先設定的監控、自動升級,以及一項 pod readiness SLA,保證 99.9% 符合條件的 Pod 會在五分鐘內進入就緒狀態。 這些功能不需要額外設定。 欲了解更多資訊,請參閱 「什麼是AKS自動?」
下列清單描述幾個常見的 AKS 使用案例:
- 使用 AKS 將應用程式遷移至容器:將現有的應用程式移轉至容器,並在完全受控的 Kubernetes 環境中執行它們。
- 使用 AKS 的微服務:使用簡化的水準調整、自我修復 (self-healing)、負載平衡和祕密管理,簡化微服務型應用程式的部署和管理。
- 保護 AKS 的 DevOps:使用 Kubernetes 實作安全的 DevOps,以有效率地平衡速度和安全性。
- 以 ACI 進行 AKS 的高載:利用虛擬節點在 ACI 內部佈建 pod,在數秒內即可啟動並擴充至符合需求。
- 使用 AKS 進行機器學習模型定型:使用大型資料集與熟悉的工具如 TensorFlow 和 Kubeflow 來定型模型。
- 使用 AKS 進行資料串流:擷取及處理透過感應器所收集數百萬個資料點的即時資料流,並執行快速分析和計算,以發展複雜案例的深入解析。
- 使用 AKS 上的Windows容器:在 AKS 上運行Windows Server容器,以現代化您的Windows應用程式與基礎設施。
AKS 的功能
下表列出AKS的主要特徵。 標示 為自動:預先配置 的功能在每個 AKS 自動叢集預設啟用,且不需額外設定。
| 功能 | 描述 |
|---|---|
| 身分識別與安全性管理 | • 使用Azure 原則執行 • 與 Kubernetes RBAC 整合,以限制叢集資源的存取。 • 使用 Microsoft Entra ID 根據現有身份與群組成員設定 Kubernetes 存取權限。 Automatic: 預先設定 - Azure RBAC for Kubernetes 授權、Workload Identity、OIDC Issuer、以強制模式執行的部署防護措施,以及 映像清理工具,皆預設為啟用。 |
| 記錄和監視 | • 整合 Container Insights,這是 Azure 監視器 中的一項功能,以監控叢集及容器化應用程式的健康狀況與效能。 • 建立 進階容器網路服務 ,以收集並視覺化來自叢集的網路流量資料。 自動:預先設定 - Managed Prometheus、Container Insights,以及 Azure 監視器 搭配 Grafana 的儀表板預設為啟用。 |
| 簡化的部署 | • 使用 Kubernetes 的預先建置叢集組態搭配智慧預設值。 • 使用 Kubernetes 事件驅動自動擴展(KEDA)自動擴展應用程式。 • 使用 Draft for AKS 準備原始碼並準備應用程式生產。 自動:預先設定 - HPA、 KEDA 和 VPA 已啟用並可在每個自動叢集使用。 |
| 叢集和節點 | • 將儲存體連接到節點和 Pod,升級叢集元件,並使用 GPU。 • 建立可運行多個節點池的叢集,以支援混合作業系統與 Windows Server 容器。 • 設定使用叢集自動調整程式和水平 Pod 自動調整程式自動調整規模。 • 部署具有機密運算節點的叢集,以允許容器在硬體型信任的執行環境中執行。 自動:預先配置 - 節點自動配置 完全管理節點建立與擴展;不需要手動設定節點池。 |
| 儲存容量支援 | • 掛載靜態或動態儲存體磁碟區供持續性資料使用。 • 使用 Azure容器儲存進行完全管理的雲端磁碟管理與區塊儲存協調。 Azure 容器儲存整合至 Kubernetes,允許動態且自動地配置持久性存取區。 • 單一 Pod 存取時使用 Azure 磁碟 CSI 驅動程式;多個 Pod 同時存取時則使用 Azure 檔案儲存體 CSI 驅動程式。 • 使用Azure NetApp Files以實現高效能、高吞吐量及低延遲的檔案分享。 |
| 網路功能 | • 選擇符合您需求的網路選項。 • 自備容器網路介面 (CNI) 以使用第三方 CNI 外掛程式。 • 使用搭配 nginx 的應用程式路由附加元件,輕鬆地存取部署至叢集的應用程式。 自動:預先設定 - 由 Cilium 提供支援的 Azure CNI Overlay 可提供高效能網路功能,且預設會設定與 Azure DNS 和 金鑰保存庫 整合的受控 NGINX 輸入,以及用於輸出的受控 NAT 閘道。 |
| 開發工具整合 | • 使用 Helm在 AKS 上進行開發。 • 安裝 Kubernetes 擴充套件 for Visual Studio Code 以管理您的工作負載。 • 運用 Istio 的功能,搭配 基於 Istio 的服務網格附加元件。 |
開始使用 AKS
開始使用 AKS 自動(建議)
AKS Automatic 是通往生產準備叢集的最快途徑,具備內建安全、監控與自動擴展功能。 根據你的起點選擇快速入門:
- 從容器映像開始: 部署 AKS 自動叢集 ——幾分鐘內就能完成完整配置的叢集。
- 從原始碼開始: 從原始碼轉換到 Kubernetes,使用 AKS Automatic ——自動化部署會直接從你的倉庫產生 Kubernetes 清單和 CI/CD 工作流程。
開始使用 AKS Standard
當你需要完全控制叢集配置時,請使用 AKS 標準:
- 了解 AKS 的核心 Kubernetes 概念。
- 使用 AKS 教學課程系列評估 AKS 上的應用程式部署。
所有 AKS 使用者的資源
- 請檢視Azure Well-Architected Framework for AKS,以瞭解如何在 AKS 上設計與操作可靠、安全、高效且具成本效益的應用程式。
- 使用我們的參考結構來規劃 AKS 的設計和作業。
- 探索 AKS 成本最佳化設定選項和建議的最佳做法。