儲存空間總覽

您可以使用 Kubernetes 物件,為在 AWS 上的 GKE 執行的工作負載建立永久儲存空間。

在 GKE on AWS 工作負載中使用永久儲存空間

在 GKE on AWS 中,您可以使用 Kubernetes PersistentVolume (PV)、PersistentVolumeClaim (PVC) 和 StorageClass 資源,為工作負載提供永久檔案和區塊儲存空間。您可以使用 VolumeSnapshotVolumeSnapshotClass 資源,建立永久儲存空間的快照。快照會儲存在 AWS 帳戶中。

StorageClass

叢集具有預設 Kubernetes StorageClass,可動態佈建 AWS Elastic Block Storage (EBS) 磁碟區上的工作負載狀態儲存空間。您也可以使用自訂 StorageClass 佈建其他類型的磁碟區。這些選項說明如下。

VolumeSnapshotClass

叢集具有預設 Kubernetes VolumeSnapshotClass,可建立 EBS 磁碟區上具狀態儲存空間的快照。

設定叢集儲存空間

如要使用非預設的 StorageClass 佈建儲存空間磁碟區,可以在使用不同參數或不同儲存空間驅動程式的叢集中建立自訂 StorageClass。然後,您可以設定預設 StorageClass,或將工作負載設為使用該 StorageClass。舉例來說,您可以在 StatefulSet 中參照 StorageClass,設定特定 StorageClass 名稱。

使用磁碟區快照功能

您可以使用 VolumeSnapshot 資源建立儲存空間磁碟區的快照。然後,您就可以從這些快照佈建新的永久磁碟區。詳情請參閱「為 PersistentVolume 建立快照」。

Elastic Block Storage (EBS)

GKE on AWS 會使用 aws-ebs-csi-driver 管理 AWS EBS 磁碟區。

EBS CSI 驅動程式版本與 GKE on AWS Kubernetes 版本相關。升級叢集版本時,系統會自動套用新版驅動程式。這個版本通常是 GKE on AWS 版本發布時的最新驅動程式。

GKE on AWS 預先安裝的驅動程式預設會提供下列 StorageClass:

  • standard-rwo (預設):用於佈建 EBS gp2 磁碟區。
  • premium-rwo:用於佈建 EBS io1 磁碟區。

EBS 磁碟區支援 Kubernetes ReadWriteOnce 存取模式。

現有的 EBS 磁碟區

您可以在 GKE on AWS 工作負載中佈建現有的 EBS 磁碟區。如需如何在 GKE on AWS 中使用 EBS 磁碟區的範例,請參閱「匯入現有的 EBS 磁碟區」。

Elastic File System (EFS)

GKE on AWS 支援掛接現有的 EFS 檔案系統和存取點。詳情請參閱「使用 EFS 檔案系統」。

其他儲存空間選項

您可以使用第三方容器儲存空間介面 (CSI) 驅動程式 (建議使用),或樹狀結構內的 Kubernetes 磁碟區外掛程式,透過 AWS 上的 GKE 使用其他第三方儲存空間系統。

CSI 驅動程式

Container Storage Interface (CSI) 是一種開放標準 API,可讓 Kubernetes 將任意儲存系統附加至容器化工作負載。如需 CSI 驅動程式的非完整清單,請參閱 Kubernetes CSI 開發人員說明文件。AWS 上的 GKE 支援 CSI v1.x。

如要在叢集中使用 CSI 驅動程式,您需要安裝儲存空間供應商提供的 CSI 驅動程式。然後,您可以設定工作負載,使用驅動程式的 StorageClass 或設定預設 StorageClass

特定儲存空間驅動程式

下列磁碟區驅動程式可用於 AWS 上的 GKE。

FSx for Lustre (FSX)

GKE on AWS 不會直接管理 FSx 磁碟區。您可以手動安裝 aws-fsx-csi-driver,但 Google 不提供支援。

Kubernetes 樹內磁碟區外掛程式

Kubernetes 隨附樹狀結構內 (內建) 磁碟區外掛程式。支援的樹內驅動程式包括:

  • configMap
  • emptyDir
  • hostPath
  • nfs
  • 預計
  • Secret

後續步驟