Penyimpanan

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

Menggunakan penyimpanan persisten di GKE pada workload AWS

Di GKE di AWS, Anda menggunakan resource PersistentVolume (PV), PersistentVolumeClaim (PVC), dan StorageClass Kubernetes untuk menyediakan file persisten dan block storage 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 Kubernetes StorageClass default yang secara dinamis menyediakan penyimpanan stateful untuk workload pada volume AWS Elastic Block Storage (EBS). Anda juga dapat menggunakan StorageClass berbeda untuk menyediakan jenis volume lain. Opsi ini dijelaskan di bagian berikut.

VolumeSnapshotClass

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

Mengonfigurasi penyimpanan cluster

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

Menggunakan snapshot volume

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

Penyimpanan Blok Elastis (EBS)

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

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

Driver yang telah diinstal sebelumnya dengan GKE di AWS menyediakan StorageClasses berikut secara default:

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

Volume EBS mendukung mode akses ReadWriteOnce Kubernetes.

Volume EBS yang sudah ada

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

Sistem File Elastic (EFS)

GKE pada AWS 1.6 dan yang lebih tinggi mendukung pemasangan sistem file AWS EFS dan titik akses yang sudah ada sebelumnya. 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 dalam pohon.

Driver CSI

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

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

Driver penyimpanan khusus AWS

Driver volume berikut dapat digunakan dengan GKE di AWS.

FSx untuk 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 in-tree Kubernetes

Kubernetes dilengkapi dengan plugin volume in-tree (bawaan). Driver in-tree yang didukung mencakup:

  • configMap
  • emptyDir
  • hostPath
  • nfs
  • diproyeksikan
  • secrets

Apa langkah selanjutnya?