Menggunakan driver Antarmuka Penyimpanan Container vSphere

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

Ringkasan

Driver CSI vSphere di-deploy secara otomatis di Google Distributed Cloud. Untuk informasi tentang cara menggunakan driver CSI lainnya, lihat Menginstal driver CSI.

Persyaratan vSphere

Untuk menggunakan driver vSphere CSI, Anda harus memiliki:

Ekspansi volume

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

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

Snapshot volume

Snapshot volume mengharuskan vCenter Server dan ESXi menjadi 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 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 bernama 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-nya 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

Volume penyediaan

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

Menetapkan kelas penyimpanan default

Untuk menetapkan standard-rwo sebagai class penyimpanan default, lihat Class penyimpanan default.

Menggunakan snapshot untuk memulihkan volume

Lihat Memulihkan volume dari snapshot.

Membuat StorageClass tambahan

Anda dapat membuat StorageClass vSphere CSI 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 outputnya akan 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 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