Menggunakan driver Antarmuka Penyimpanan Container vSphere

Dokumen ini menjelaskan cara menggunakan driver Antarmuka Penyimpanan Container (CSI) vSphere dengan Google Distributed Cloud.

Ringkasan

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

Persyaratan vSphere

Untuk menggunakan driver vSphere CSI, Anda harus memiliki:

Perluasan volume

  • Perluasan volume offline memerlukan vCenter Server dan ESXi ke 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 mengharuskan vCenter Server dan ESXi menggunakan Update versi 7.0 3 atau yang lebih baru.

Cns.Searchable

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

Jika tidak yakin apakah akun Anda memenuhi prasyarat CSI, jalankan gkectl diagnose cluster sebelum men-deploy beban kerja CSI apa pun.

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 di 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 telah 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 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 vSphere CSI, 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