Storage

Anda membuat penyimpanan persisten untuk workload yang berjalan di GKE di AWS dengan objek Kubernetes.

Menggunakan penyimpanan persisten di workload GKE di AWS

Di GKE di AWS, Anda menggunakan resource PersistentVolume (PV), PersistentVolumeClaim (PVC), dan StorageClass Kubernetes untuk menyediakan penyimpanan file dan block persisten ke workload. Untuk cluster pengguna versi 1.17 dan yang lebih tinggi, Anda dapat membuat snapshot penyimpanan persisten dengan resource VolumeSnapshot dan VolumeSnapshotClass. Snapshot disimpan di akun AWS Anda.

StorageClass

Cluster pengguna memiliki default Kubernetes StorageClass yang menyediakan secara dinamis penyimpanan stateful untuk workload di volume AWS Elastic Block Storage (EBS). Anda juga dapat menggunakan StorageClass yang berbeda untuk menyediakan jenis volume lainnya. Opsi ini dijelaskan di bagian berikut.

VolumeSnapshotClass

Cluster pengguna memiliki VolumeSnapshotClass Kubernetes default yang membuat snapshot penyimpanan stateful di volume AWS Elastic Block Storage (EBS).

Mengonfigurasi penyimpanan cluster

Jika ingin menyediakan volume penyimpanan dengan StorageClass non-default, Anda dapat membuat StorageClass baru di cluster yang menggunakan parameter berbeda atau driver penyimpanan yang berbeda. Kemudian, Anda dapat menetapkan StorageClass sebagai default cluster, atau mengonfigurasi workload untuk menggunakan StorageClass. Misalnya, Anda dapat menggunakan StatefulSet untuk menetapkan nama StorageClass tertentu.

Menggunakan snapshot volume

Di Kubernetes versi 1.17+, Anda dapat menggunakan resource VolumeSnapshot untuk membuat snapshot volume penyimpanan. Kemudian, Anda dapat menyediakan volume persisten baru dari snapshot ini.

Elastic Block Storage (EBS)

GKE di AWS mengelola volume AWS EBS dengan aws-ebs-csi-driver.

Versi Driver CSI EBS terikat dengan versi Kubernetes GKE di AWS. Saat Anda mengupgrade versi cluster pengguna, versi driver baru akan diterapkan secara otomatis. Versi ini biasanya merupakan driver terbaru yang tersedia pada saat versi GKE di AWS dirilis.

Driver yang sudah diinstal sebelumnya dengan GKE di AWS menyediakan StorageClass berikut secara default:

  • standard-rwo (default): Digunakan untuk menyediakan volume gp2 EBS.
  • premium-rwo: Digunakan untuk menyediakan volume EBS io1.

Volume EBS mendukung mode akses ReadWriteOnce Kubernetes.

Volume EBS yang sudah ada

Anda dapat menyediakan volume EBS yang ada di workload GKE di AWS. Lihat Mengimpor volume EBS yang sudah ada untuk contoh cara menggunakan volume EBS di GKE di AWS.

Elastic File System (EFS)

GKE on AWS 1.6 dan yang lebih tinggi mendukung pemasangan sistem file dan titik akses AWS EFS yang sudah ada. Untuk mengetahui informasi selengkapnya, lihat Menggunakan EFS.

Opsi penyimpanan tambahan

Sistem penyimpanan pihak ketiga lainnya dapat digunakan dengan GKE di AWS melalui driver Container Storage Interface (CSI) pihak ketiga (direkomendasikan) atau plugin volume Kubernetes in-tree.

Driver CSI

Container Storage Interface (CSI) adalah API standar terbuka yang memungkinkan Kubernetes melampirkan sistem penyimpanan arbitrer ke workload dalam container. Daftar driver CSI yang tidak lengkap dapat ditemukan di Dokumentasi Developer CSI Kubernetes. GKE on AWS mendukung CSI v1.x.

Untuk menggunakan driver CSI di cluster, Anda harus menginstal driver CSI yang disediakan oleh vendor penyimpanan Anda. Kemudian, Anda dapat mengonfigurasi workload untuk menggunakan StorageClass driver atau menetapkannya sebagai StorageClass default.

Driver penyimpanan khusus AWS

Driver volume berikut dapat digunakan dengan GKE di AWS.

FSx for Lustre (FSX)

GKE di AWS tidak mengelola volume FSx secara langsung. Anda dapat menginstal aws-fsx-csi-driver secara manual, tetapi dukungan tidak tersedia dari Google.

Plugin volume bawaan Kubernetes

Kubernetes dilengkapi dengan plugin volume dalam hierarki (bawaan). Driver dalam tree yang didukung meliputi:

  • configMap
  • emptyDir
  • hostPath
  • nfs
  • diproyeksikan
  • secret

Apa langkah selanjutnya?