Menggunakan driver vSphere Container Storage Interface

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

Ringkasan

Driver CSI vSphere di-deploy secara otomatis saat Anda menginstal Google Distributed Cloud (khusus software) untuk VMware. Untuk informasi tentang cara menggunakan driver CSI lainnya, lihat Menginstal driver CSI.

Persyaratan vSphere

Untuk menggunakan driver vSphere CSI, Anda harus memiliki:

Ekspansi volume

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

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

Snapshot volume

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

Cns.Searchable

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

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

Memastikan driver telah terinstal

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

Cantumkan 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 telah diinstal:

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

Output akan 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

Menyediakan volume

Untuk menyediakan volume dengan driver CSI vSphere, tetapkan kolom storageClassName dari PersistentVolumeClaim Anda 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 StorageClass CSI 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 vSphere CSI 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 Anda 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 pada setiap volume, Anda dapat melihat nama cluster Kubernetes.

Menonaktifkan driver CSI vSphere

Untuk menghapus dukungan vSphere CSI, tambahkan hal 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