Menggunakan driver Antarmuka Penyimpanan Container vSphere

Dokumen ini menjelaskan cara menggunakan driver Antarmuka Penyimpanan Container (CSI) vSphere dengan GKE di VMware.

Ringkasan

Driver CSI vSphere di-deploy secara otomatis di GKE di VMware. Untuk informasi tentang cara menggunakan driver CSI lainnya, lihat Menginstal driver CSI.

Persyaratan vSphere

Untuk menggunakan driver vSphere CSI, Anda harus memiliki:

Perluasan volume

  • Ekspansi volume offline mengharuskan vCenter Server dan ESXi menjadi versi 7.0 Update 1 atau yang lebih baru

  • Perluasan volume online memerlukan vCenter Server dan ESXi menjadi versi 7.0 Update 2 atau yang lebih baru.

Snapshot volume

Snapshot volume memerlukan Update vCenter Server dan ESXi ke versi 7.0 3 atau yang lebih baru.

Cns.Searchable

Akun pengguna vCenter Anda harus memiliki hak istimewa Cns.Searchable pada objek vCenter root.

Jika tidak yakin apakah akun Anda memenuhi prasyarat CSI, jalankan gkectl diagnose cluster sebelum men-deploy workload CSI.

Memastikan driver telah terinstal

Saat driver CSI vSphere diinstal di cluster pengguna, StorageClass yang disebut standard-rwo akan dibuat.

Tampilkan daftar objek StorageClass:

kubectl --kubeconfig CLUSTER_KUBECONFIG get storageclass

Ganti CLUSTER_KUBECONFIG dengan jalur file kubeconfig cluster Anda.

Pastikan standard-rwo muncul dalam output. Contoh:

standard                 kubernetes.io/vsphere-volume  Delete   Immediate     false      33m
standard-rwo (default)   csi.vsphere.vmware.com    Delete   Immediate     true       32m

Pastikan driver vSphere CSI sudah diinstal:

kubectl --kubeconfig CLUSTER_KUBECONFIG get csinode \
    -o="custom-columns=NAME:metadata.name,DRIVERS:spec.drivers[].name"

Output harus menunjukkan bahwa driver tersedia di semua node cluster Anda. Contoh:

NAME     DRIVERS
node-0   csi.vsphere.vmware.com
node-1   csi.vsphere.vmware.com
node-2   csi.vsphere.vmware.com

Volume penyediaan

Untuk menyediakan volume dengan driver vSphere CSI, tetapkan kolom storageClassName dari PersistentVolumeClaim ke standard-rwo.

Menetapkan kelas penyimpanan default

Untuk menetapkan standard-rwo sebagai kelas penyimpanan default, lihat Kelas penyimpanan default.

Menggunakan snapshot untuk memulihkan volume

Lihat Memulihkan volume dari snapshot.

Membuat StorageClass tambahan

Anda dapat membuat vSphere CSI StorageClasses vSphere tambahan di cluster menggunakan parameter datastoreurl atau storagepolicyname.

Contoh berikut menggunakan parameter storagepolicyname:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: gold
parameters:
  csi.storage.k8s.io/fstype: ext4
  storagepolicyname: "Gold Policy"
provisioner: csi.vsphere.vmware.com

Untuk menemukan nilai yang benar untuk parameter datastoreurl, jalankan perintah berikut:

govc datastore.info DATASTORE_NAME

Ganti DATASTORE_NAME dengan nama datastore vSphere Anda.

Gunakan nilai untuk URL dari output untuk datastoreurl. Contoh output terlihat seperti berikut:

Name:        DATASTORE_NAME
  Path:      /DATACENTER_NAME/datastore/DATASTORE_NAME
  Type:      VMFS
  URL:       ds:///vmfs/volumes/5d864fa0-7f2184d4-8eb4-3cfdfe0ce9a0/
  Capacity:  20479.8 GB
  Free:      10066.9 GB

Pembersihan volume

Volume yang disediakan oleh driver CSI vSphere tidak akan dihapus saat Anda menghapus cluster pengguna. Anda harus menghapus semua PVC dan StatefulSets sebelum menghapus cluster. Untuk menghapus volume, jalankan perintah berikut:

kubectl delete statefulsets,persistentvolumeclaims --namespace=MY_NAMESPACE --all

Ganti MY_NAMESPACE dengan namespace Kubernetes Anda.

Jika menghapus cluster pengguna tanpa menghapus volumenya, Anda dapat menemukan volume di antarmuka pengguna vSphere:

  1. Pilih datastore.

  2. Buka Monitor > Cloud Native Storage > Container Volumes.

  3. Di bagian Details setiap volume, Anda dapat melihat nama cluster Kubernetes.

Menonaktifkan driver vSphere CSI

Untuk menghapus dukungan CSI vSphere, tambahkan kode berikut ke konfigurasi cluster pengguna Anda:

# (Optional) Storage specification for the cluster storage:
# To disable the vSphere CSI driver, set this to true. The value is set to false by default and
# the vSphere CSI driver is enabled by default on vSphere version >= 6.7U3.
  vSphereCSIDisabled: true

Langkah selanjutnya