本文將介紹 GKE 支援的儲存空間選項,以及選取最符合業務需求的選項時,需要考量的一些重要事項。如要判斷適合選用的機器家族,請參閱機器系列比較。
GKE 支援下列儲存空間類型和整合:
- 使用 Persistent Disk 的區塊儲存空間
- 使用 Google Cloud Hyperdisk 的區塊儲存空間
- 使用 Hyperdisk 儲存空間集區的區塊儲存空間
- 使用本機 SSD 的暫時性和原始區塊儲存空間
- 檔案儲存空間
- 使用 Cloud Storage FUSE 進行物件儲存
- 代管資料庫
- 建構作業成果
區塊儲存空間 (Persistent Disk)
永久磁碟磁碟區是 Compute Engine 管理的耐用網路儲存裝置,可供 GKE 叢集存取,就像是桌上型電腦或伺服器中的實體磁碟。如果叢集需要更多儲存空間,您可以將更多 Persistent Disk 磁碟區連結至節點,或調整現有 Persistent Disk 磁碟區的大小。您可以讓 GKE 動態佈建 PersistentVolume (由 Persistent Disk 支援),也可以手動佈建磁碟。
GKE Autopilot 和 Standard 叢集都支援這個儲存空間選項。
根據預設,永久磁碟磁碟區是區域資源 (保留在區域內的單一可用區)。您可以建立地區永久磁碟磁碟區 (保留在同一地區的兩個可用區中)。您也可以同時將永久磁碟磁碟區以唯讀模式連接至多個節點。這項功能支援可用區和區域永久磁碟磁碟區。
GKE 上的永久磁碟儲存空間是永久性的,也就是說,即使使用磁碟的 Pod 終止,磁碟上儲存的資料仍會保留。
使用 Persistent Disk 儲存空間的原因
如果叢集需要存取高效能、高可用性的耐用區塊儲存空間,請使用 Persistent Disk 儲存空間。Persistent Disk 磁碟區通常會附加至單一 Pod。這個儲存空間選項支援「ReadWriteOnce」存取模式。GKE 支援設定各種延遲和效能選項的永久磁碟磁碟區,包括:
- 平衡型永久磁碟:適用於標準企業應用程式。這個選項兼顧效能與成本。 以固態硬碟 (SSD) 備份。對於執行 GKE 1.24 以上版本的叢集和節點,這是動態磁碟區佈建的預設選項。
- 效能永久磁碟:適合向外擴充分析、資料庫和永久快取。這個選項非常適合對效能要求較高的工作負載。以固態硬碟 (SSD) 備份。
- 標準永久磁碟:適用於大數據、大型運算工作負載。這是最具成本效益的磁碟類型。以標準硬碟 (HDD) 備份。
- 極速永久磁碟:適合 SAP HANA 和 Oracle 等企業應用程式。這個選項提供最高效能,可滿足最大的記憶體內資料庫需求。以固態硬碟 (SSD) 備份。對於效能至關重要的應用程式,如果永久磁碟無法提供足夠的效能,請使用 Hyperdisk Extreme 磁碟。
如要開始使用這項儲存空間選項,請參閱下列資源:
- 如要瞭解可用的磁碟類型,請參閱 Compute Engine 說明文件中的「儲存空間選項」。
- Compute Engine 永久磁碟 CSI 驅動程式是搭配 GKE 使用永久磁碟儲存空間的主要方式。如需操作說明,請參閱「使用 Compute Engine 永久磁碟 CSI 驅動程式」。
區塊儲存空間 (Google Cloud Hyperdisk)
Hyperdisk 磁碟區使用新一代 Google Cloud 區塊儲存空間。您可以透過 Hyperdisk 磁碟區,依據工作負載動態調整區塊儲存空間的效能。您可以為應用程式分別設定每秒輸入/輸出作業數 (IOPS) 和處理量,並隨著時間調整,以因應不斷變化的效能需求。
GKE Autopilot 和 Standard 叢集都支援這個儲存空間選項。Hyperdisk 磁碟區為區域性資源,適用情形視區域而定。 GKE 上的 Hyperdisk 儲存空間是永久性的,也就是說,即使使用磁碟的 Pod 終止,磁碟上儲存的資料仍會保留。
使用 Hyperdisk 儲存空間的好處
如需動態調整大小,以及調整 IOPS 或輸送量,請使用 Hyperdisk 儲存空間。Hyperdisk 磁碟區通常會連結至單一 Pod。這個儲存空間選項支援ReadWriteOnce
存取模式。您可以根據價格和效能需求,為 GKE 選取下列 Hyperdisk 儲存空間選項:
- Hyperdisk Balanced:最適合大多數工作負載。這個選項適合部署大多數企業和商務應用程式,以及資料庫和網路伺服器。
- Hyperdisk Throughput:經過最佳化,可提供高處理量,且經濟實惠。如果您的用途是擴充分析 (例如 Hadoop 或 Kafka)、從備份伺服器還原冷資料,以及以輸送量為導向的成本敏感型工作負載,這就是不錯的選擇。
- Hyperdisk Extreme:專為 IOPS 效能最佳化。 如果您要部署資料庫管理系統等高效能工作負載,建議採用這種做法。
- Hyperdisk ML:專為需要快速載入模型權重的 AI/機器學習訓練和推論工作負載最佳化。使用這個選項可減少因延遲瓶頸而閒置的 GPU/TPU 資源。
GKE Autopilot 和 Standard 叢集都支援 Hyperdisk 儲存空間選項。
如要開始使用這項儲存空間選項,請參閱下列資源:
- 如需總覽,請參閱「關於 GKE 的 Hyperdisk」。
- 如要瞭解每個磁碟的限制 (包括最高輸送量和 IOPS),請參閱 Compute Engine 說明文件中的「每個磁碟的 Hyperdisk 限制」。
- 如要在叢集中設定及使用 Hyperdisk Throughput 和 Extreme 儲存空間,請參閱「使用 Hyperdisk 調整儲存空間效能」。
區塊儲存空間 (Hyperdisk 儲存空間集區)
Hyperdisk 儲存空間集區是預先佈建的儲存空間資源集區 (容量、處理量和 IOPS),可供 GKE 叢集中的磁碟使用。儲存空間資源會在儲存空間集區內建立的所有 Hyperdisk 之間共用。
在 GKE Standard 叢集中,Hyperdisk 開機磁碟 (適用於作業系統) 和附加的 Hyperdisk (適用於資料儲存) 都可以納入儲存空間集區。GKE Autopilot 叢集僅支援附加的 Hyperdisk 做為儲存空間集區。
如要開始使用這項儲存空間選項,請參閱下列資源:
- 如需總覽,請參閱「關於 Hyperdisk 儲存空間集區」。
- 如要在 GKE 叢集中設定 Hyperdisk 儲存空間集區,請參閱「透過 Hyperdisk 儲存空間集區提升儲存空間效能並降低成本」。
暫時性和原始區塊儲存空間 (本機 SSD)
本機 SSD 磁碟是直接連接至節點的實體磁碟機。這類廣告可提供更出色的成效,但會隨時間消失。每個本機 SSD 磁碟區都會附加至特定節點。您無法將磁碟區移至其他節點。
GKE Standard 叢集支援這個儲存空間選項。在搭載 GKE 1.27 以上版本的叢集和節點集區中,Autopilot 支援本機 SSD 的功能已開放預先發布版,適用於 A2 Ultra A100 機器。
GKE 本機 SSD 儲存空間支援的臨時儲存空間會與 Pod 的生命週期綁定。Pod 終止時,與該 Pod 相關聯的臨時儲存空間也會一併刪除。
使用本機 SSD 的好處
如果您需要為資料庫和即時分析提供熱快取,或是延遲時間最短的快閃最佳化臨時儲存空間,就適合在 GKE 叢集中使用本機 SSD 儲存空間。對於 AI/ML、批次處理、數據分析和記憶體內資料庫的使用案例,本機 SSD 儲存空間可做為 Cloud Storage 前方的快取層,成效特別顯著。
如要開始使用這項儲存空間選項,請參閱下列資源:
- 如需總覽,請參閱「關於 GKE 的本機 SSD 儲存空間」。
- 如要在叢集中設定及使用本機 SSD 儲存空間做為 emptyDir,請參閱佈建及使用本機 SSD 支援的臨時儲存空間。
- 如要在叢集中設定及使用本機 SSD 儲存空間做為本機 PersistentVolumes 資源,請參閱佈建及使用本機 SSD 支援的原始區塊儲存空間。
檔案儲存空間
Filestore 提供雲端共用檔案系統,可存取非結構化資料,並支援網路檔案系統 (NFS)。Filestore 執行個體在 Google Cloud 上做為檔案伺服器,提供耐用的儲存空間,並可供 GKE 叢集存取 ReadWriteMany
。Filestore 執行個體與主機分離,因此手動操作需求極少。工作負載容錯移轉程序十分順暢,因為不需要附加或卸離磁碟區等基礎架構作業。
GKE Autopilot 和 Standard 叢集都支援這個儲存空間選項。使用企業服務層級的 Filestore 儲存空間預設為區域可用性,其他服務層級則為可用區可用性。GKE 上的 Filestore 儲存空間是永久性的,也就是說,即使使用該儲存空間的 Pod 終止,儲存在執行個體中的資料仍會保留。
使用 Filestore 儲存空間的好處
如果應用程式需要網路檔案系統 (NFS) 存取權,以及多個讀取器和寫入器,請使用 Filestore 儲存空間。如果您的用途涉及內容管理系統、應用程式遷移、資料分析、算繪和媒體處理,就適合使用這個儲存空間選項。
如要進一步提升成本效益,您可以透過 GKE 適用的 Filestore 多共用區,與最多 80 個 PersistentVolume 共用 10 GiB 以上的 Filestore 企業級執行個體。
如要開始使用這項儲存空間選項,請參閱下列資源:
- 如需總覽,請參閱「關於 GKE 的 Filestore 支援」。
- Filestore CSI 驅動程式是搭配 GKE 使用 Filestore 儲存空間的主要方式。如需操作說明,請參閱「透過 Filestore CSI 驅動程式存取 Filestore 執行個體」。
- 如需 Filestore 多共用區的操作說明,請參閱「使用 GKE 適用的 Filestore 多共用區,提升儲存空間效率」。
物件儲存空間 (Cloud Storage FUSE)
Cloud Storage 是物件儲存空間,可儲存二進位和物件資料、Blob,以及非結構化資料。Cloud Storage FUSE CSI 驅動程式可管理 Cloud Storage FUSE 與 Kubernetes API 的整合,將現有 Cloud Storage bucket 當做磁碟區使用。您可以使用 Cloud Storage FUSE CSI 驅動程式,將值區掛接為 GKE 節點上的檔案系統。
Cloud Storage FUSE CSI 驅動程式支援 GKE Autopilot 和 Standard 叢集上的 ReadWriteMany
、ReadOnlyMany
和 ReadWriteOnce
存取模式。Cloud Storage 物件的可用性取決於區域。GKE 上的 Cloud Storage 資料是永久性的,也就是說,即使使用這些資料的 Pod 終止,儲存在 bucket 中的資料仍會保留。
使用 Cloud Storage FUSE 的理由
如果您需要 Cloud Storage 前端的檔案語意,以便進行可攜性作業,Cloud Storage FUSE 選項就非常適合。開發人員也經常選用 Cloud Storage FUSE,將機器學習 (ML) 訓練和模型資料儲存為 Cloud Storage 中的物件,並存取這些資料。
如要開始使用這項儲存空間選項,請參閱下列資源:
- 如需總覽,請參閱「Cloud Storage FUSE」。
- 如要在叢集中使用 bucket,請參閱「透過 Cloud Storage CSI FUSE 驅動程式存取 Cloud Storage bucket」。 Google Cloud
代管資料庫
代管資料庫 (例如 Cloud SQL 或 Spanner) 可減少作業負擔,並針對 Google Cloud基礎架構進行最佳化。與直接在 Kubernetes 中部署的資料庫相比,管理型資料庫的維護和運作工作較少。
使用代管資料庫的好處
使用 Google Cloud 代管資料庫可讓 GKE 上的有狀態工作負載存取永久資料,同時自動執行備份、修補程式和擴縮等維護工作。您只要建立資料庫、建構應用程式,Google Cloud 就會為您擴充應用程式。但這也表示您可能無法存取確切版本的資料庫、擴充功能,或您想要的確切資料庫類型。
GKE 支援與 Google Cloud 代管資料庫服務建立連線,包括:
AlloyDB for PostgreSQL:與 PostgreSQL 相容的全代管資料庫,具備卓越的效能、可用性和擴充性,適用於交易和分析工作負載。請參閱「從 Google Kubernetes Engine 連線至 PostgreSQL 適用的 AlloyDB」。
Cloud SQL:全代管的 MySQL、PostgreSQL 和 SQL Server 資料庫。請參閱「從 Google Kubernetes Engine 連線」。
Spanner:可水平擴充的關聯資料庫,具有高一致性和可用性。請參閱「使用 GKE Autopilot 和 Cloud Spanner 部署應用程式」。
Memorystore for Redis:全代管的記憶體內資料儲存服務。請參閱「 從 Google Kubernetes Engine 叢集連線至 Redis 執行個體」。
如要開始使用這項儲存空間選項,請參閱下列資源:
- 資料庫選項說明。 Google Cloud
- 如要瞭解使用受管理資料庫或 GKE 上代管的容器化資料庫時的注意事項,請參閱「規劃 GKE 中的資料庫部署作業」。
建構作業成果 (Artifact Registry)
Artifact Registry 是存放區管理工具,適用於您建立及部署的容器映像檔、OS 套件和語言套件。
使用 Artifact Registry 的好處
Artifact Registry 適合用來儲存私有容器映像檔、Helm 資訊套件和其他建構作業構件。
如要從 Artifact Registry Docker 存放區將映像檔提取至 GKE,請參閱 Artifact Registry 說明文件中的「部署至 Google Kubernetes Engine」。
後續步驟
- 閱讀網誌文章「Google Cloud 儲存空間選項地圖 Google Cloud」。
- 針對雲端工作負載設計最佳儲存空間策略。
- 瞭解如何在 GKE 中使用 Kubernetes 儲存空間抽象化機制:PersistentVolumes、StatefulSets。
- 請參閱「GKE 上的資料」資源頁面,瞭解可與 GKE 整合的資料解決方案。