使用 AKS Hybrid 的 Windows 容器儲存
Azure Kubernetes Service (AKS) 混合式部署選項 (「AKS 混合式」) 是 Azure Kubernetes Service 協調器的內部部署實作。 該協調器可大規模自動化執行容器化應用程式,同時還可讓您在任何地方操作一致的雲端原生應用程式。 內部部署基礎結構,並將其與 Azure 服務整合。
根據您的硬體類別、計算可用性和 Kubernetes 採用流程,可以使用下列的 AKS 混合式部署選項:
- Windows Server 上的 AKS
- Azure Stack HCI (超融合式基礎結構) 上的 AKS
- 從 Azure 佈建 AKS 叢集 (預覽)
- AKS Edge Essentials
AKS 混合式中的儲存
因為 AKS 混合式是 AKS 的實作,所以大部分的儲存概念都相同。 AKS 混合式叢集包含由 AKS 所管理的控制平面,其可提供核心的 Kubernetes 服務和協調流程,同時您也可以管理包含具有應用程式工作負載的 Pod 的節點。 下圖顯示使用 Azure Stack HCI 上 AKS 混合式部署選項 AKS 的 AKS 混合式叢集架構:
如同在 AKS 中,傳統磁碟區是 Azure 儲存體所支援的 Kubernetes 資源。 您可以手動建立資料磁碟區以供直接指派給 Pod,也可以讓 Kubernetes 自動建立資料磁碟區。 為了將這些磁碟區與 Azure 儲存體產生關聯,AKS 混合式會使用容器儲存介面 (CSI)。 AKS Hybrid 支援 Windows 容器和持續性儲存體,其 CSI 驅動程式與 AKS 相同。
建立持續性儲存體時,AKS 混合式會使用與 AKS 相同的 Kubernetes 概念,但有一些變化。 持續性磁碟區是靜態或動態建立的。 如果您以動態方式建立它們,則可以使用儲存類別來定義其類型和生命週期,而且它們會透過持續性磁碟區索取 (PVC) 繫結到持續性磁碟區 (PV)。
AKS 混合式儲存體與 AKS 的不同之處在於它支援使用內部部署儲存體作為持續性儲存體。
永續性磁碟區
持續性磁碟區是由 Kubernetes API 建立和管理的儲存體資源,其可在個別 Pod 的存留期之外存在。 例如,使用 Azure Stack HCI 上的 AKS 混合式部署選項 AKS 時,您可以使用 VHDX (虛擬硬碟檔案類型) 所支援的 AKS 磁碟區,這些磁碟區會掛接為 ReadWriteOnce
,且一次可供單一節點存取。 或者,您也可以使用 SMB (伺服器訊息區) 或 NFS (網路檔案系統) 檔案共用所支援的 AKS 檔案磁碟區。 這些會掛接為 ReadWriteMany
,並且可同時供多個節點使用。
叢集管理員可以靜態地建立持續性磁碟區,或者也可以由 Kubernetes API 伺服器動態地建立它。 如果已排定使用某個 Pod 並要求目前無法使用的儲存體,則 Kubernetes 可以建立基礎 VHDX 檔案,然後將其連結到該 Pod。 動態佈建會使用 StorageClass
來識別需要建立的儲存體類型。
儲存類別
儲存類別會定義基礎儲存體資源的儲存層、位置和 reclaimPolicy
。
在 AKS 混合式中,會自動建立預設的儲存類別,並使用 CSV 來建立 VHDX 支援的磁碟區。 回收原則可確保在刪除使用基礎 VHDX 的持續性磁碟區時也會刪除該基礎 VHDX。 儲存類別也會將持續性磁碟區設定為可擴充,因此您只需要編輯具有新大小的持續性磁碟區索取。
如果您沒有為持續性磁碟區指定 StorageClass
,則會使用預設的 StorageClass
。 在要求持續性磁碟區時,請確定它們使用您所需的適當儲存體。 您可以針對更多的需求來建立 StorageClass。
永續性磁碟區宣告
PersistentVolumeClaim
會要求特定 StorageClass
和大小的 ReadWriteOnce
或 ReadWriteMany
儲存體。 如果沒有現有的資源可滿足基於所定義的 StorageClass
的索取,則 Kubernetes API 伺服器可在 AKS 混合式中動態佈建基礎儲存體資源。 在磁碟區連線至 Pod 後,Pod 定義即會包含磁碟區掛接。
一旦將可用的儲存體資源指派給要求它的 Pod,PersistentVolume
就會繫結至 PersistentVolumeClaim
。 永續性磁碟區與宣告之間有 1:1 的對應。
使用本機磁碟作為持續性儲存體
使用 AKS Hybrid 的其中一個好處是您可以使用本機磁碟作為 Windows 容器的持續性儲存體。 本機磁碟是連結到您內部部署節點的實體磁碟。 本機磁碟可為您的容器化應用程式提供高效能和低延遲。
若要在 AKS 混合式上將本機磁碟與 Windows 容器一起使用,則必須使用 local-volume-provisioner 外掛程式。 此外掛程式會自動探索並為您節點上的本機磁碟建立持續性磁碟區 (PV)。 接著,您必須根據節點親和性和儲存類別來建立與 PV 相匹配的持續性磁碟區索取 (PVC)。 最後,您必須使用磁碟區定義來將 PVC 掛接到您的 Pod 或容器。