Dokumen ini menunjukkan cara memigrasikan disk dari satu datastore vSphere ke datastore vSphere lain dengan Pengelolaan Berbasis Kebijakan Penyimpanan (SPBM).
1.29: Tersedia secara umum
1.28: Pratinjau
1.16: Tidak tersedia
Anda dapat memigrasikan jenis penyimpanan berikut:
Penyimpanan untuk komponen sistem yang dikelola oleh Google Distributed Cloud, termasuk:
Disk data (file VMDK) yang digunakan oleh node control plane cluster admin dan cluster pengguna Controlplane V2
Boot disk (file VMDK) yang digunakan oleh semua node cluster admin dan cluster pengguna
Volume vSphere yang diwakili oleh PV/PVC di cluster admin dan digunakan oleh komponen control plane dari cluster pengguna kubeception
Penyimpanan untuk workload yang Anda deploy di node worker cluster pengguna dengan PV/PVC yang disediakan oleh plugin volume vSphere dalam struktur atau driver CSI vSphere
Prasyarat untuk cluster admin
Cluster admin harus memiliki bidang kontrol HA. Jika cluster admin Anda memiliki panel kontrol non-HA, bermigrasi ke HA sebelum Anda melanjutkan.
Pastikan cluster admin memiliki bidang kontrol HA:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes
Ganti ADMIN_CLUSTER_KUBECONFIG dengan jalur file kubeconfig cluster admin.
Di output, pastikan Anda melihat tiga node bidang kontrol. Contoh:
admin-cp-1 Ready control-plane,master ... admin-cp-2 Ready control-plane,master ... admin-cp-3 Ready control-plane,master ...
Prasyarat untuk semua cluster (admin dan pengguna)
Cluster harus menonaktifkan perbaikan otomatis node. Jika perbaikan otomatis node diaktifkan, nonaktifkan perbaikan otomatis node.
Cluster harus menggunakan Storage Policy Based Management (SPBM). Jika cluster Anda tidak menggunakan SPBM, buat kebijakan penyimpanan sebelum Anda melanjutkan.
Pastikan cluster menggunakan SPBM:
kubectl --kubeconfig CLUSTER_KUBECONFIG get onpremadmincluster --namespace kube-system \ -ojson | jq '{datastore: .items[0].spec.vCenter.datastore, storagePolicyName: .items[0].spec.vCenter.storagePolicyName}'
(Cluster pengguna saja) Pastikan kumpulan node menggunakan SPBM:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get onpremnodepools --namespace USER_CLUSTER_NAME-gke-onprem-mgmt \ -ojson | jq '.items[] | {name: .metadata.name, datastore: .spec.vsphere.datastore, storagePolicyName: .spec.vsphere.storagePolicyName}'
Ganti kode berikut:
CLUSTER_KUBECONFIG: jalur file kubeconfig cluster (admin atau pengguna).
ADMIN_CLUSTER_KUBECONFIG: jalur file kubeconfig cluster admin
USER_CLUSTER_NAME: nama cluster pengguna
Dalam output, jika kolom
datastore
kosong dan kolomstoragePolicyName
tidak kosong, maka cluster menggunakan SPBM.Cluster tidak boleh menggunakan plugin volume dalam hierarki vSphere.
Jika cluster Anda diupgrade dari versi Google Distributed Cloud sebelumnya, cluster tersebut mungkin memiliki PV/PVC yang disediakan oleh plugin volume in-tree vSphere. Volume semacam ini mungkin sedang digunakan oleh node bidang kontrol cluster pengguna kubeception atau oleh workload yang Anda buat di node pekerja.
Daftar semua PVC dan StorageClass-nya:
kubectl --kubeconfig CLUSTER_KUBECONFIG get pvc --all-namespaces \ -ojson | jq '.items[] | {namespace: .metadata.namespace, name: .metadata.name, storageClassName: .spec.storageClassName}'
Mencantumkan semua StorageClass dan melihat penyedia yang mereka gunakan:
kubectl --kubeconfig CLUSTER_KUBECONFIG get storageclass
Dalam output, jika kolom
PROVISIONER
adalahkubernetes.io/vsphere-volume
, maka PVC yang dibuat dengan StorageClass ini menggunakan plugin volume dalam hierarki vSphere. Untuk StatefulSet yang menggunakan PV/PVC ini, migrasikan ke driver CSI vSphere.
Melakukan migrasi penyimpanan
Google Distributed Cloud mendukung dua kategori migrasi penyimpanan:
Storage vMotion untuk VM, yang memindahkan penyimpanan VM, termasuk volume CNS vSphere terlampir yang digunakan oleh Pod yang berjalan di node, dan VMDK yang digunakan oleh volume CNS VM ini yang terlampir ke node
Pemindahan volume CNS, yang memindahkan volume CNS vSphere yang ditentukan ke datastore yang kompatibel tanpa melakukan vMotion penyimpanan untuk VM
Melakukan vMotion penyimpanan untuk VM
Migrasi melibatkan langkah-langkah yang Anda lakukan di lingkungan vSphere dan perintah yang Anda jalankan di workstation admin:
Di lingkungan vSphere, tambahkan datastore target ke kebijakan penyimpanan.
Di lingkungan vSphere, migrasikan VM cluster menggunakan datastore lama ke datastore baru. Untuk mendapatkan petunjuk, lihat Memigrasikan Virtual Machine ke Resource dan Penyimpanan Compute Baru.
Di workstation admin, pastikan VM telah berhasil dimigrasikan ke datastore baru.
Dapatkan objek Machine di cluster:
kubectl --kubeconfig CLUSTER_KUBECONFIG get machines --output yaml
Dalam output, di bagian
status.disks
, Anda dapat melihat disk yang terpasang ke VM. Contoh:status: addresses: – address: 172.16.20.2 type: ExternalIP disks: – bootdisk: true datastore: pf-ds06 filepath: me-xvz2ccv28bf9wdbx-2/me-xvz2ccv28bf9wdbx-2.vmdk uuid: 6000C29d-8edb-e742-babc-9c124013ba54 – datastore: pf-ds06 filepath: anthos/gke-admin-nc4rk/me/ci-bluecwang-head-2-data.vmdk uuid: 6000C29e-cb12-8ffd-1aed-27f0438bb9d9
Pastikan semua disk semua mesin dalam cluster telah dimigrasikan ke datastore target.
Di workstation admin Anda, jalankan
gkectl diagnose
untuk memverifikasi bahwa cluster dalam kondisi baik.
Memanggil CNS Relocation API untuk memindahkan volume CNS
Jika hanya ingin memindahkan volume CNS yang disediakan oleh driver CSI vSphere, Anda dapat mengikuti petunjuk di Memigrasikan Volume Container di vSphere. Tindakan ini mungkin lebih sederhana jika Anda hanya memiliki volume CNS di datastore lama.
Perbarui kebijakan penyimpanan Anda jika diperlukan
Di lingkungan vSphere, perbarui kebijakan penyimpanan untuk mengecualikan datastore lama. Jika tidak, volume baru dan VM yang dibuat ulang mungkin ditetapkan ke datastore lama.