共用方式為


什麼是 Azure 容器儲存體 (1.x.x 版)?

Azure 容器儲存體是針對容器原生建置的雲端式磁碟區管理、部署和協調流程服務。 它與 Kubernetes 集成,允許您動態自動佈建持久磁碟區,以儲存在 Kubernetes 叢集上運行的有狀態應用程式的資料。 Azure 容器儲存體衍生自 OpenEBS,這是一種開放原始碼解決方案,可為 Kubernetes 提供容器儲存體功能。

這很重要

本文涵蓋 Azure 容器儲存體 (1.x.x 版) 中可用的特性和功能。 Azure 容器儲存體 (2.x.x 版) 現已推出。 Azure 容器儲存體並非在所有 Azure 區域都可用。 請參閱 區域可用性。 如果您先前已安裝 Azure 容器儲存體預覽版,且未啟用自動升級,請務必 更新至 GA 版本

這段影片提供 Azure 容器儲存 (1.x.x 版)的簡介,這是一項針對有狀態應用程式的端到端儲存管理與調度服務。 瞭解如何優化 Azure Kubernetes Service (AKS) 上具狀態工作負載的效能,以有效地跨儲存體服務調整,同時提供符合成本效益的容器原生體驗。

支援的儲存類型

Azure 容器儲存體會利用現有的 Azure 儲存體供應專案進行實際資料儲存,並提供專為容器建置的磁碟區協調流程和管理解決方案。 您可以選擇任何支援的後備儲存體選項,為持久性卷建立儲存區。

Azure 容器儲存體 (1.x.x 版) 提供持續性磁碟區支援,其中包含 Linux 型 Azure Kubernetes Service (AKS) 叢集的 ReadWriteOnce 存取模式。 支援的備份儲存體選項包括:Azure 磁碟、暫時磁碟 (本機 NVMe 或暫存 SSD) 和 Azure 彈性 SAN。 下表摘要說明支援的儲存類型、建議的工作負載和佈建模型。

儲存體類型 說明 工作負載 產品與服務 佈建模型
Azure 彈性 SAN (預覽) 隨需佈建、完全受控的資源 一般用途資料庫、串流和傳訊服務、CD/CI 環境,以及其他第 1 層/第 2 層工作負載。 Azure 彈性 SAN 依建立的磁碟區和磁碟區快照集隨選佈建。 多個叢集可以同時存取單一 SAN,但持續性磁碟區一次只能由一個取用者連接。
Azure 磁碟 儲存 SKU(庫存單位)和配置的細粒度控制 Azure 磁碟非常適合第 1 層和一般用途資料庫,例如 MySQL、MongoDB 和 PostgreSQL。 進階 SSD、進階 SSD v2、標準 SSD、Ultra 磁碟 根據目標容器存放集區大小和磁碟區大小上限佈建。
臨時磁碟 利用 AKS 節點上的本機儲存資源(NVMe 或暫存 SSD) 暫時磁碟對延遲極為敏感 (低 sub-ms 延遲),因此最適合沒有資料持久性需求或具有內建資料複寫支援 (例如 Cassandra) 的應用程式。 NVMe 適用於某些 Azure VM SKU,例如 儲存體最佳化 VM SKUGPU 加速 VM SKU 作為承載 AKS 叢集之 VM 的一部分進行部署。 AKS 會探索 AKS 節點上可用的暫時性記憶體,並取得它們以進行磁碟區部署。

支援不同儲存類型的功能

功能支援取決於您選取的備份儲存選項。 下表列出 Azure 容器儲存體的主要功能,並指出哪些儲存體選項支援這些功能。

Feature 本機 NVMe 本機 SSD Azure 磁碟 Azure 彈性 SAN (預覽)
儲存資源池擴充/調整大小 支援 支援 支援 不支援
重複 支援 不支援 原生支援 Preview
資源取用量 支援 支援 支援 Preview
上交所/CMK 不支援 不支援 支援 Preview
公開 ZRS 選項 N/A N/A 支援 Preview
永續性磁碟區 Supported1 Supported1 支援 Preview
暫時性磁碟區 支援 支援 支援 Preview
快照集 支援 支援 支援 不支援

1 針對本機 NVMe 和本機 SSD,Azure 容器儲存體預設會使用一般暫時磁碟區,其中資料不會持續存在。 不過,您可以更新 Azure 容器儲存體安裝,以支援從暫時磁碟儲存集區建立持續性磁碟區。

區域可用性

Azure 容器儲存體僅適用於 Azure 區域的子集:

  • (非洲) 南非北部
  • (亞太地區) 澳大利亞東部
  • (亞太地區) 東亞
  • (亞太地區) 日本東部
  • (亞太地區) 南韓中部
  • (亞太地區) 東南亞
  • (亞太地區) 印度中部
  • (歐洲) 法國中部
  • (歐洲) 德國中西部
  • (歐洲) 北歐
  • (歐洲) 歐洲西部
  • (歐洲) 英國南部
  • (歐洲) 瑞典中部
  • (歐洲) 瑞士北部
  • (中東) 阿拉伯聯合大公國北部
  • (北美洲) 美國東部
  • (北美洲) 美國東部 2
  • (北美洲) 美國西部
  • (北美洲) 美國西部 2
  • (北美洲) 美國西部 3
  • (北美洲) 美國中部
  • (北美洲) 美國中北部
  • (北美洲) 美國中南部
  • (北美洲) 美國中西部
  • (北美洲) 加拿大中部
  • (北美洲) 加拿大東部
  • (南美洲) 巴西南部

Azure 容器儲存體的新功能

我們的最新更新增強了有狀態容器的彈性和效能。 我們現在為本地 NVMe 儲存池提供多區域儲存池和磁碟區複製,確保單節點故障期間的可用性。 快照支援適用於所有備份和災難復原的儲存選項。 此外,臨時磁碟產品組合現在包括臨時 SSD 支持,為利用直接連接的本地儲存的用例提供經濟高效的解決方案:

  • 透過複寫支援,強化託管在本機 NVMe 儲存上的持久磁碟區的彈性。
  • 改善了重新啟動 Azure Kubernetes Service (AKS) 叢集之後的持續性磁碟區復原。
  • 使用新的效能層選項自訂本機 NVMe 儲存的效能。

如需這些功能的詳細資訊,請傳送電子郵件至 Azure 容器儲存體小組,網址為 containerstoragepm@service.microsoft.com。

為什麼 Azure 容器儲存體很有用

到目前為止,為容器提供雲端儲存需要配置容器儲存介面 (CSI) 驅動程式,以使用適用於以 IaaS 為中心的工作負載的儲存服務,並使其適用於容器。 在某些情況下,這可能會產生營運額外負荷,並增加應用程式可用性、可擴展性、效能、可用性和成本問題的風險。

使用 Azure 容器儲存體,您不需要擔心設定個別 CSI 驅動程式。 藉由在 Kubernetes 環境中透過基於微服務的儲存控制器提供託管式磁碟區協調方案,Azure 容器儲存體可啟用真正的容器原生儲存體。

您可以使用 Azure 容器儲存體來:

  • 加速虛擬機器到容器計劃: Azure 容器儲存體會呈現先前僅適用於 VM 的完整 Azure 區塊儲存體供應專案,並使其可供容器使用。 這包括為 Cassandra 等工作負載提供極低延遲的暫時磁碟,以及提供原生 iSCSI 和共用布建目標的 Azure 彈性 SAN (預覽版)。

  • 使用 Kubernetes 簡化磁碟區管理: 藉由透過 Kubernetes 控制平面提供磁碟區協調流程,Azure 容器儲存體可讓您輕鬆地在 Kubernetes 內部署和管理磁碟區,而不需要在不同的控制平面之間來回移動。

  • 降低總擁有成本 (TCO): 透過增加每個 Pod 或節點支援的持續性磁碟區規模來提高成本效率。 透過動態共用儲存資源,減少佈建所需的儲存資源。 請注意,不支持儲存體集區本身的相應擴大支援。

主要優點

  • 快速擴增具狀態 Pod: Azure 容器儲存體會透過網路區塊儲存體通訊協定 (NVMe-oF 或 iSCSI) 裝載永續性磁碟區,提供持續性磁碟區的快速連結和中斷連結。 您可以從小規模開始,並視需要部署資源,同時確保您的應用程式不會在初始化期間或生產環境中耗盡或中斷。 應用程式復原功能已透過 Pod 重新產生整個叢集來改善,需要快速移動永續性磁碟區。 利用遠端網路通訊協定,Azure 容器儲存體緊密結合 Pod 的生命週期,以支援 AKS 上具有高度彈性、高規模的具狀態應用程式。

  • 改善有狀態工作負載的效能: Azure 容器儲存體可啟用優異的讀取效能,並透過使用 NVMe-oF over TCP 來提供近磁碟寫入效能。 這使客戶能夠經濟高效地滿足各種容器工作負載的性能要求,包括第 1 層 I/O 密集型、通用型、吞吐量敏感型和開發/測試。 加速永續性磁碟區的連結/中斷連結時間,並將 Pod 容錯移轉時間降到最低。

  • Kubernetes 原生磁碟區協調流程: 使用命令建立 kubectl 儲存池和持續磁碟區、擷取快照並管理磁碟區的整個生命週期,而無需在不同控制平面作業的工具集之間切換。

Glossary

瞭解與 Azure 容器儲存體和 Kubernetes 相關的一些重要術語會很有幫助:

  • 容器化

    僅使用作業系統和必要的相依性來封裝應用程式程式碼,以建立單一可執行檔。

  • Kubernetes (簡體中文)

    Kubernetes 是一個開源系統,用於自動化容器化應用程式的部署、擴展和管理。

  • 叢集

    Kubernetes 叢集是一組執行容器化應用程式的運算節點 (VM)。 每個節點都由控制平面管理,並包含執行 Pod 所需的服務。

  • Pod

    Pod 是一或多個容器的群組,具有共用儲存體和網路資源,以及如何執行容器的規格。 Pod 是 Kubernetes 叢集中最小的可部署單元。

  • Azure Kubernetes Service (AKS)

    Azure Kubernetes Service 是裝載的 Kubernetes 服務,可將作業額外負荷卸載至 Azure,以簡化在 Azure 中部署受控 Kubernetes 叢集。 Azure 會處理重要工作,例如健康情況監視和維護。

  • 儲存池

    在 Azure 容器儲存體 (1.x.x 版) 中,可用的儲存體容量會彙總成儲存體集區物件。 儲存區內的儲存體容量被視為同質。 AKS 叢集可以有多個儲存集區。 儲存區也可作為驗證和佈建界限。 它們為操作員提供了一個邏輯結構來管理存儲基礎設施,同時簡化應用程序開發人員的卷創建和管理。

  • 儲存類別

    Kubernetes 儲存體類別定義如何使用持續性磁碟區動態建立儲存體單元。 如需詳細資訊,請參閱 Kubernetes 儲存體類別

  • 數量

    Kubernetes 磁碟區是一個目錄,其中包含指定 Pod 中容器可存取的資料。 磁碟區可以是持續性的,也可以是暫時的。 磁碟區會精簡佈建在存放集區內,並共用存放集區的效能特性 (IOPS、頻寬和容量)。

  • 持續音量

    持續性磁碟區就像虛擬機器 (VM) 中的磁碟一樣。 它們代表可用來裝載任何檔案系統的原始區塊裝置。 應用程式開發人員會與其應用程式或 Pod 定義一起建立永續性磁碟區,而磁碟區通常會繫結至具狀態應用程式的生命週期。 如需詳細資訊,請參閱 持續性磁碟區

  • 永續性磁碟區宣告 (PVC)

    持續性磁碟區宣告可用來根據儲存類別自動佈建儲存體。

後續步驟