Halaman ini menjelaskan Google Distributed Cloud (khusus software) untuk konsep penyimpanan VMware.
Ringkasan
Google Distributed Cloud terintegrasi dengan blok eksternal atau penyimpanan file sistem melalui:
- Driver vSphere Container Storage Interface (CSI)
- Pengemudi CSI pihak ketiga
- Plugin volume dalam hierarki Kubernetes
Datastore vSphere
Saat membuat cluster admin, Anda menentukan vSphere yang ada datastore untuk data etcd cluster.
Saat membuat cluster pengguna, Anda dapat menggunakan datastore yang sama dengan admin cluster, atau Anda dapat menentukan datastore lain. Anda juga dapat menentukan datastore untuk setiap kumpulan node.
{i>Datastore vSphere<i} yang digunakan oleh admin dan cluster pengguna dapat didukung oleh NFS, vSAN, atau VMFS di perangkat blok, seperti array penyimpanan eksternal. Di multi-host, setiap perangkat blok harus terpasang ke semua {i>host<i} di lingkungan, dan datastore harus dikonfigurasi pada setiap {i>host<i} melalui Memasang Datastore pada Host Tambahan sebelumnya.
StorageClasses
Saat Anda membuat PersistentVolumeClaim, Anda dapat menentukan StorageClass yang memberikan informasi tentang cara penyimpanan akan disediakan. Jika Anda tidak menentukan StorageClass, maka default StorageClass akan digunakan.
StorageClass cluster Admin
Di cluster admin, ada StorageClass bernama standard
, dan
ditetapkan sebagai StorageClass default. Daftar StorageClass standard
plugin {i>in-tree volume<i} vSphere
sebagai penyedia.
Untuk melihat StorageClass standard
:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get storageclass \ standard --output yaml
Pada output, Anda dapat melihat bahwa standard
adalah StorageClass default dan
penyedianya adalah plugin {i>
vSphere in-tree volume<i},
kubernetes.io/vsphere-volume
. Anda juga dapat melihat nama vSphere
datastore.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: annotations: storageclass.kubernetes.io/is-default-class: "true" ... labels: bundle.gke.io/component-name: admin-storage-class name: standard ... parameters: datastore: vsanDatastore provisioner: kubernetes.io/vsphere-volume ...
StorageClass cluster pengguna
Di cluster pengguna, ada StorageClass bernama standard
dan satu lagi
StorageClass bernama standard-rwo
.
StorageClass standard-rwo
ditetapkan sebagai StorageClass default, dan
perintah itu mencantumkan {i>driver<i} CSI
vSphere sebagai penyediaan.
Untuk melihat StorageClass standard-rwo
:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get storageclass \ standard-rwo --output yaml
Pada output, Anda dapat melihat bahwa standard-rwo
adalah StorageClass default dan
penyedianya adalah driver CSI vSphere, csi.vsphere.vmware.com
. Anda dapat
lihat juga URL datastore vSphere:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: annotations: storageclass.kubernetes.io/is-default-class: "true" ... labels: bundle.gke.io/component-name: user-vsphere-csi-driver-addon ... name: standard-rwo ... parameters: datastoreURL: ds:///vmfs/volumes/vsan:52fb6ca22be2454e-e67f620175964a9f/ provisioner: csi.vsphere.vmware.com ...
Plugin volume dalam hierarki Kubernetes
Kubernetes menyertakan sejumlah plugin volume dalam hierarki. Namun, sebagian besar plugin volume dalam hierarki ini tidak digunakan lagi (termasuk plugin volume dalam pohon vSphere), untuk informasi lebih lanjut, lihat Migrasi CSI proyek.
Migrasi CSI untuk driver penyimpanan vSphere
Sebelumnya, plugin volume vSphere in-tree adalah penyedia untuk StorageClass default di cluster pengguna. Tapi kini plugin volume vSphere dalam hierarki tidak digunakan lagi, dan driver CSI vSphere adalah penyedia untuk StorageClass default di cluster pengguna. Saran dari kami Anda menggunakan {i>driver<i} CSI vSphere alih-alih plugin volume {i>in-tree<i}.
Mulai versi 1.15 dari Google Distributed Cloud, Kubernetes CSI fitur migrasi diaktifkan secara default untuk plugin volume vSphere dalam hierarki. Artinya, jika beban kerja menggunakan volume vSphere dalam hierarki, semua panggilan operasi penyimpanan secara otomatis dialihkan ke {i>driver<i} CSI vSphere.
Misalnya, anggap PersistentVolumeKlaim menentukan standard
StorageClass, yang mencantumkan
plugin volume in-tree vSphere,
kubernetes.io/vsphere-volume
, sebagai penyedia. Kemudian beban kerja apa pun yang menggunakan
panggilan operasi penyimpanannya akan dialihkan ke PersistentVolumeKlaim
driver CSI vSphere, csi.vsphere.vmware.com
.
Pemeriksaan preflight
Saat Anda membuat cluster baru atau mengupgrade cluster, ada preflight pemeriksaan yang memastikan lingkungan Anda sesuai untuk migrasi CSI.
Misalnya, pemeriksaan preflight:
- Pastikan versi vCenter dan ESXI Anda sudah sesuai.
- Memastikan driver CSI vSphere diaktifkan jika ada vSphere dalam hierarki PersistentVolume.
- Memverifikasi bahwa vSphere StorageClasses tidak memiliki parameter tertentu yang diabaikan setelah Migrasi CSI.
- Memverifikasi anotasi pada PersistentVolume dalam hierarki yang dibuat secara statis dan PersistentVolumeKlaim diperlukan untuk Migrasi CSI.
- Memastikan cluster berhasil menjalankan beban kerja menggunakan volume CSI yang disediakan oleh {i>driver<i} CSI vSphere.
Untuk informasi selengkapnya, lihat Menjalankan pemeriksaan preflight.
Masalah umum
Ada beberapa masalah umum terkait Driver vSphere CSI. Sebagai dan solusinya, lihat bagian Masalah Umum di Catatan rilis VMWare vSphere CSI Driver 3.0.
Selesaikan migrasi ke CSI
Dengan fitur migrasi CSI Kubernetes yang diaktifkan secara default di versi 1.15,
PersistentVolume
yang didukung oleh plugin volume vSphere dalam hierarki akan melanjutkan
berfungsi di lingkungan khusus CSI, fungsi ini hanya mengalihkan plugin dalam hierarki
dan panggilan operasi ke plugin CSI. Karena spesifikasi PersistentVolume
tidak dapat diubah,
spesifikasinya akan sama dengan plugin volume dalam hierarki.
Oleh karena itu, gunakan set fitur lengkap CSI seperti Ekspansi Volume dan Volume Fitur snapshot tidak tersedia untuk volume tersebut. Untuk memanfaatkan kesempatan ini baru, beban kerja stateful harus dimigrasikan sepenuhnya ke CSI dengan membuat ulang Spesifikasi resource Kubernetes dengan kolom CSI. Kami telah mengembangkan alat otomatis untuk membantu memigrasikan workload stateful ke CSI tanpa periode nonaktif aplikasi yang akan memungkinkan Anda untuk menggunakan rangkaian fitur CSI lengkap.
Menggunakan driver pihak ketiga
Jika Anda ingin menyediakan volume penyimpanan selain datastore vSphere, Anda dapat membuat StorageClass baru di cluster yang menggunakan driver penyimpanan berbeda. Selanjutnya, Anda dapat menetapkan StorageClass sebagai default cluster, atau mengonfigurasi workload Anda untuk menggunakan StorageClass (contoh StatefulSet).
Partner penyimpanan
Kami telah berpartner dengan banyak vendor penyimpanan untuk menentukan kelayakan sistem penyimpanan mereka dengan Google Distributed Cloud. Lihat daftar lengkap penyimpanan yang memenuhi syarat partner.
Ekspansi volume
Anda dapat memperluas ukuran volume persisten setelah disediakan dengan mengedit kapasitas di PersistentVolumeKlaim. Anda dapat melakukan ekspansi online sambil volume sedang digunakan oleh Pod, atau perluasan offline dengan volume yang tidak sedang digunakan.
Untuk Driver CSI vSphere, perluasan offline tersedia di vSphere versi >= 7.0, dan perluasan online tersedia dalam vSphere versi >= 7.0 Update 2.
StorageClass standard-rwo
menetapkan allowVolumeExpansion
ke benar (true) secara default
untuk cluster yang baru dibuat yang berjalan pada >= vSphere 7.0. Anda dapat menggunakan keduanya secara online
dan ekspansi offline untuk volume yang menggunakan StorageClass ini. Untuk upgrade
karena StorageClasses tidak diubah pada upgrade cluster, saat
cluster diupgrade dari 1.7 ke 1.8, setelan allowVolumeExpansion
di
standard-rwo
tetap tidak disetel, yang berarti perluasan volume tidak diizinkan.
Untuk informasi selengkapnya tentang perluasan volume, lihat Menggunakan ekspansi volume.
Snapshot Volume CSI
Anda dapat membuat snapshot penyimpanan persisten menggunakan
VolumeSnapshot
dan
VolumeSnapshotClass
Google Cloud Platform. Untuk menggunakan fitur ini pada volume CSI, driver CSI harus mendukung
snapshot volume, dan penampung file bantuan external-snapshotter
harus
termasuk dalam deployment driver CSI.
Untuk mengetahui informasi selengkapnya tentang snapshot volume, lihat Menggunakan snapshot volume.
Pengontrol snapshot CSI di-deploy secara otomatis saat Anda membuat .
Pembersihan volume
Saat Anda menghapus cluster pengguna, volume yang disediakan oleh driver CSI vSphere tidak dihapus. Anda harus menghapus semua volume, PersistentVolumecus, dan StatefulSets akan dihapus sebelum Anda menghapus cluster.
Pemecahan masalah
Lihat Memecahkan Masalah Penyimpanan.