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:
Versi vCenter Server yang didukung berbasis Linux
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:
Pilih datastore.
Buka Monitor > Cloud Native Storage > Container Volumes.
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
- Baca selengkapnya tentang konsep penyimpanan Google Distributed Cloud
- Menetapkan StorageClass default untuk cluster Anda