選單

本頁面使用了機器翻譯。某些內容可能不盡完善。請告訴我們如何改進。

分享意見

Azure 中的 Kubernetes:運作方式和 7 種服務選項

目錄

分享本頁

blank avatar
Jeff Whitaker

如何在 Azure 中執行 Kubernetes?

Kubernetes 是一個快速發展的平台,用於管理容器化應用程式、儲存和網路元件。它使開發人員和管理員能夠專注於應用程式工作負載,而不是基礎架構元件。Kubernetes 提供了一種便捷的聲明式方法來部署大量容器,並提供了一套強大的 API 用於管理任務。

Kubernetes 的安裝和維護可能很複雜,尤其是在生產環境和企業級規模下運作時。為了降低關鍵管理和部署作業(例如可擴充性和 Kubernetes 更新)的複雜性,您可以使用多種託管的 Azure 服務,包括 Azure Kubernetes Service (AKS) 和 Azure Container Instances (ACI)。

例如,在 AKS 中,Azure 管理 AKS 控制平面,客戶只需為應用程式運行所在的 AKS 節點付費。

本文是關於Kubernetes 的系列指南的一部分。

在本文中,您將了解:

在 Azure 中執行 Kubernetes 有哪些優勢?

在 Azure 中執行 Kubernetes 為希望部署和管理容器化應用程式的組織提供了許多優勢。在 Azure 中運行 Kubernetes 的一些主要優勢包括:

  • 無縫整合:Azure 與 Kubernetes 無縫整合,使組織能夠輕鬆地在 Azure 基礎架構上部署和管理容器化應用程式。
  • 可擴充性:Azure 提供可擴充的基礎架構,能夠滿足現代應用程式不斷增長的需求。Azure 中的 Kubernetes 可以輕鬆地向上或向下擴展,以滿足應用程式的需求。
  • 可用性:Azure 提供高可用性和災難復原功能,確保 Kubernetes 叢集始終可用,並能快速從任何中斷中復原。
  • 安全性:Azure 提供強大的安全功能,包括網路安全、身分和存取管理以及加密,可協助組織保護其 Kubernetes 叢集及其上執行的應用程式。
  • 自動化:Azure 提供自動化功能,可協助組織自動部署、擴展和管理 Kubernetes 叢集及其上執行的應用程式,從而減少管理基礎架構所需的時間和精力。
  • 混合雲功能:Azure 提供混合雲功能,使組織能夠在本地端和雲端運行 Kubernetes 叢集,並輕鬆地在兩種環境之間遷移應用程式。

Azure Kubernetes:參考架構

為了說明 Kubernetes 在 Azure 上的典型實作方式,Microsoft 提供了一個參考架構,該架構是在 Azure Kubernetes Service (AKS) 中實作的 Microsoft 應用程式。此參考架構可作為大多數實作的起點。

aks

來源:Azure

參考架構由以下部分組成:

  • Azure Kubernetes Service (AKS)— 架構的核心是 AKS。
  • Kubernetes 叢集— 執行工作負載的叢集,部署在 AKS 上。使用 AKS,您只需管理代理節點,AKS 負責 Kubernetes 控制平面。
  • 虛擬網路— AKS 建立一個虛擬網路,代理節點可以部署在該網路中。在進階場景中,您可以先建立虛擬網路,以便更好地控制子網路、本機連線、IP 位址等的配置。
  • Ingress— Ingress 提供 HTTP/HTTPS 路徑以存取叢集服務。在其後方,通常會部署 API 閘道來管理身分驗證和授權。
  • Azure Load Balancer— 在實作 NGINX Ingress 控制器時建立。用於將傳入流量路由到 Ingress。
  • 外部資料儲存— 微服務通常是無狀態的,並將資料儲存到外部資料儲存,例如關聯式資料庫(如 Azure SQL Database)或 NoSQL 儲存(如 Cosmos DB)。
  • Azure Active Directory (AD)— AKS 擁有自己的 Azure AD 身分,用於產生和控制 Kubernetes 部署所需的 Azure 資源。除了這些機制之外,Microsoft 還建議使用 Azure AD 為使用 Kubernetes 叢集的用戶端應用程式建立使用者驗證。
  • Azure Container Registry (ACR)— 用於儲存組織的 Docker 映像,並使用它們將容器部署到叢集。ACR 也可以利用 Azure AD 進行驗證。另一種選擇是將 Docker 映像儲存在第三方註冊表中,例如 DockerHub。
  • Azure Pipelines— Azure DevOps 服務的一部分,可協助您自動化建置/測試/部署週期。或者,您可以使用 Jenkins 等第三方 CI/CD 解決方案。
  • Helm— Kubernetes 套件管理器。您可以使用它將 Kubernetes 物件組合成一個套件,以便更輕鬆地分發和版本控制。
  • Azure Monitor— 收集並儲存與 Kubernetes 叢集互動的 Azure 服務的日誌,包括 AKS 控制器、節點和容器。您可以利用這些資料來監控應用程式、設定警報和儀表板,以及分析錯誤的根本原因。

相關內容:使用 Azure NetApp Files 提升 Azure 上的 Kubernetes 效能

Azure 上的 Kubernetes:7 種服務選項

1.Azure Kubernetes Service

Azure Kubernetes Service (AKS) 可簡化在 Azure 中部署託管 Kubernetes 叢集的流程。AKS 可將關鍵任務(例如執行狀況監控和維護)從開發人員和管理員手中轉移出去。

在 AKS 上運行時,您只需管理代理節點,並且只需為代理節點付費。Kubernetes 主節點無需付費 — 它們會自動配置和部署。您可以設定其他功能,包括 Azure AD 整合、進階網路和監控。

您可以使用 Azure CLI 或 Azure 入口網站建立 AKS 叢集。另一種選擇是使用基礎架構即程式碼 (IaC) 解決方案,例如 Azure Resource Manager 範本或 TerraForm。

相關內容:如何在 AKS 中為容器配置持久性磁碟區

2.Azure Container Instances

容器正成為打包、部署和管理雲端應用程式的首選方式。Azure Container Instances 提供了一種便捷的方式來管理 Azure 中的容器,而無需管理虛擬機器。容器執行個體啟動只需幾秒鐘,因為它們的開銷遠低於 Azure VM。

您可以從 DockerHub、個人 Azure Container Registry 或任何其他 Docker 註冊表匯入 Linux 或 Windows 容器映像。Azure Container Instances 快取了常用基礎作業系統的映像,可協助您更快部署自訂映像。

相關內容:

3.Azure Service Fabric

Service Fabric 提供了一個分散式平台,可用於打包和部署由容器組成的微服務應用程式。Service Fabric 解決了雲端原生開發中的許多主要挑戰。

Azure Service Fabric 專注於建置有狀態服務。您可以利用服務框架程式設計模型,或使用您選擇的語言或程式碼執行具有有狀態需求的容器化服務。您也可以在本機 Linux 電腦、Windows Server 或其他公有雲平台上建立 Service Fabric 叢集。

Service Fabric 為許多核心 Microsoft 服務提供支援,包括 Microsoft Power BI、Azure SQL Database、Cosmos DB、Dynamics 365 和 Skype。

4.Azure Container Registry

Azure Container Registry (ACR) 是一個私有託管的 Docker 註冊表服務,基於開源的 Docker Registry 2.0 建置。建立和管理 Azure 容器註冊表,以儲存和管理組織的私有 Docker 映像。

您也可以使用 ACR Tasks 按需從映像建置容器,並根據原始碼儲存庫的提交或基礎映像的更新等事件自動執行建置。

5.Azure Container Instances

Azure Container Instances (ACI) 是 Microsoft Azure 提供的無伺服器容器服務。它允許您運行容器而無需管理底層基礎架構。ACI 非常適合輕量級、生命週期短且無狀態的工作負載。它提供快速啟動、自訂大小和按秒計費,使其經濟高效且靈活,適用於各種用例。

6.Azure Container Apps

Container Apps 是一個完全託管的平台,用於在 Azure 中建置、部署和擴展容器化應用程式。它透過提供內建的自動縮放、滾動更新和與 Azure 服務的整合來簡化容器管理。

Container Apps 支援自訂網域和 TLS 憑證,並且可以跨多個環境運行應用程式。憑藉其事件驅動架構,它使您能夠建置現代化、彈性且響應迅速的應用程式,並可根據需求高效擴展。

7.Azure Dev Spaces

Azure Dev Spaces 服務為使用 AKS 的團隊提供了一個快速、迭代的 Kubernetes 開發環境。Azure Dev Spaces 可讓您在 AKS 中對所有應用程式元件進行故障排除和測試,而無需設定開發機器或相依性。

借助 Azure Dev Spaces,您可以自動為專案產生 Docker 和 Kubernetes 工件,從而輕鬆地將新的和現有的 Kubernetes 應用程式新增至開發工作。

在 Azure 中使用 Cloud Volumes ONTAP 運行 Kubernetes

NetApp Cloud Volumes ONTAP 是領先的企業級儲存管理解決方案,可在 AWS、Azure 和 Google Cloud 上提供安全、可靠的儲存管理服務。Cloud Volumes ONTAP 的容量可擴展至 PB 級,並支援多種使用情境,例如檔案服務、資料庫、DevOps 或其他企業工作負載,具備強大的功能組合,包括高可用性、資料保護、儲存效率、Kubernetes 整合等。

特別是,Cloud Volumes ONTAP 支援Kubernetes Persistent Volume 配置與管理,滿足容器化工作負載的需求。

深入了解 Cloud Volumes ONTAP 如何協助解決容器化應用程式挑戰,請參閱這些Kubernetes Workloads with Cloud Volumes ONTAP 案例研究

在 Azure 上使用 Azure NetApp Files 的 Kubernetes

Azure NetApp Files 是一項建構於 NetApp 技術之上的 Microsoft Azure 檔案儲存服務,讓您在 Azure 中也能擁有核心業務應用程式所需的檔案功能。

將企業級資料管理與儲存帶到 Azure,讓您能輕鬆管理工作負載與應用程式,並將所有以檔案為基礎的應用程式遷移至雲端。

Azure NetApp Files 解決了企業將關鍵任務應用程式遷移至雲端時的可用性與效能挑戰,涵蓋的工作負載包括HPCSAPLinux、Oracle 與 SQL Server 工作負載、Windows Virtual Desktop 等。

特別是,Azure NetApp Files 讓您能將更多應用程式遷移至 Azure——即使是關鍵業務工作負載——並提供極高的檔案傳輸量與亞毫秒級回應時間。

深入了解 Azure 上的 Kubernetes

請閱讀我們關於 Azure 上 Kubernetes 的系列指南。

Azure Kubernetes Cluster:在 Azure 上部署您的第一個叢集

Kubernetes 叢集包含資源,包括一個或多個 pod。這些 Pod 提供特定功能或共享某些資料 — 它們具有獨特的角色。若要在 Azure 雲端部署 Kubernetes 叢集,您可以使用 Azure Kubernetes Service (AKS)。本文將引導您完成 Azure Kubernetes 叢集的部署和保護步驟及實踐,以協助您了解如何執行此操作。

了解更多:Azure Kubernetes 叢集:在 Azure 上部署您的第一個叢集

借助 Azure NetApp Files,在 Azure 上實現超凡的 Kubernetes 效能

在生產環境中部署企業級作業時,Kubernetes 可能過於複雜。為了提供高層次的效能,Microsoft 與 NetApp 合作推出了一項新服務:Azure NetApp Files (ANF)。本文將介紹如何輕鬆實現超低延遲和高效能。

了解更多:借助 Azure NetApp Files,在 Azure 上實現超凡的 Kubernetes 效能

解決 Azure Kubernetes Service 中的持久性儲存難題

Azure Kubernetes Service (AKS) 讓您能夠在 Azure 平台上部署、設定和管理 Kubernetes。它提供了一系列功能,可簡化本地工作負載向 Azure 的遷移,並提供易於管理的控制。為了確保資料存取的穩定性,您可以將 Azure NetApp Files (ANF) 用作儲存層。了解如何使用這項由 NetApp 提供支援和 Microsoft 管理的第一方服務來實現持久性。

了解更多:解決 Azure Kubernetes Service 中的持久性儲存難題

Azure Container Instance:基礎知識和快速教學

Azure Container Instances (ACI) 是一項可讓您直接在 Microsoft Azure 公有雲上執行容器的服務,而無需使用虛擬機器 (VM)。了解 Azure Container Instance (ACI) 的功能,以及它與容器編排器的比較,並學習如何建立您的第一個容器執行個體。

了解更多:Azure Container Instance:基礎知識和快速教學

Azure Container Instances vs Azure Kubernetes Service (AKS):如何選擇

Azure Container Instances (ACI) 提供了在 Azure 雲端執行容器的簡單方法,無需管理虛擬機器 (VM)。Azure Kubernetes Service (AKS) 可讓您在 Azure 中部署託管的 Kubernetes 叢集。了解 ACI 和 AKS 在定價、可擴充性、安全性等方面的差異。

了解更多:Azure Container Instances vs Azure Kubernetes Service (AKS):如何選擇

GKE vs AKS:可用性、安全性、工具等方面的比較

Google Kubernetes Engine (GKE) 和 Azure Kubernetes Service (AKS) 都是領先的雲端供應商提供的託管 Kubernetes 服務。了解它們之間的區別,以及如何為您的組織選擇合適的解決方案。

了解更多:GKE vs AKS:可用性、安全性、工具等方面的比較

Azure 容器:在 Azure 上執行容器的 4 個最佳選項

Microsoft Azure 提供多種專為協助您執行容器化應用程式而設計的服務。了解 Azure 的主要容器服務,包括 Azure Kubernetes Service (AKS) 和 Azure Container Instances (ACS)。

了解更多:Azure 容器:在 Azure 上執行容器的 4 個最佳選項

AKS 備份演練:如何在 AKS 中執行備份和還原作業

持久性磁碟區上的資料需要受到保護。對於依賴 Azure 原生託管 Kubernetes 服務 AKS 的使用者,我們提供了一個解決方案。AKS 可以與 Azure Backup 無縫協作,建立和還原持久性磁碟區的備份副本。本部落格將透過逐步演練向您展示如何操作。

閱讀更多內容,請參閱AKS 備份演練:如何在 AKS 中執行備份和還原作業

另請參閱關鍵 Kubernetes 主題的其他指南

我們與內容合作夥伴共同撰寫了關於其他幾個主題的深度指南,這些指南在您探索Kubernetes 世界時也可能非常有用。

Kubernetes 故障排除

作者:Komodor


容器安全

作者:Tigera


Kubernetes 網路

作者:Tigera


Drift chat loading