Migrasi penyimpanan dengan Pengelolaan Berbasis Kebijakan Penyimpanan

Dokumen ini menunjukkan cara memigrasikan {i>disk<i} dari satu Datastore vSphere ke datastore {i>vSphere<i} 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 bidang kontrol dari cluster admin dan klaster pengguna Controlplane V2

    • Boot disk (file VMDK) yang digunakan oleh semua cluster admin dan node cluster pengguna

    • Volume vSpheres yang diwakili oleh PV/PVC di cluster admin dan digunakan oleh komponen bidang kontrol kubeception cluster pengguna

  • Penyimpanan untuk beban kerja yang Anda deploy pada node pekerja cluster pengguna dengan PV/PVC yang disediakan oleh plugin volume vSphere dalam hierarki atau Driver CSI vSphere

Prasyarat untuk cluster admin

  1. Cluster admin harus memiliki bidang kontrol HA. Jika cluster admin Anda memiliki bidang kontrol non-HA, bermigrasi ke HA sebelum melanjutkan.

  2. Pastikan cluster admin memiliki bidang kontrol HA:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes
    

    Ganti ADMIN_CLUSTER_KUBECONFIG dengan jalur cluster admin {i>kubeconfig<i}.

    Pada 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)

  1. Perbaikan otomatis node harus dinonaktifkan pada cluster. Jika perbaikan otomatis node diaktifkan, nonaktifkan perbaikan otomatis node.

  2. Cluster harus menggunakan Pengelolaan Berbasis Kebijakan Penyimpanan (SPBM). Jika cluster Anda tidak menggunakan SPBM, membuat kebijakan penyimpanan sebelum melanjutkan.

  3. 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}'
    

    (Khusus cluster pengguna) 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 cluster admin file kubeconfig

    • USER_CLUSTER_NAME: nama cluster pengguna

    Dalam output, jika kolom datastore kosong dan storagePolicyName kolom tersebut tidak kosong, berarti cluster tersebut menggunakan SPBM.

  4. Cluster tidak boleh menggunakan plugin volume dalam hierarki vSphere.

    Jika cluster Anda diupgrade dari versi lama Google Distributed Cloud, mungkin terdapat PV/PVC yang disediakan oleh Plugin volume dalam hierarki vSphere. Volume semacam ini mungkin digunakan oleh simpul bidang kontrol dari sebuah kubeception. berdasarkan workload yang Anda buat pada worker node.

    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}'
    

    Tampilkan daftar semua StorageClasses dan lihat penyedia yang digunakan:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get storageclass
    

    Dalam output, jika kolom PROVISIONER adalah kubernetes.io/vsphere-volume, maka PVC yang dibuat dengan StorageClass ini menggunakan volume dalam hierarki vSphere plugin. Untuk StatefulSets yang menggunakan PV/PVC ini, migrasikan file tersebut ke driver CSI vSphere.

Melakukan migrasi penyimpanan

Google Distributed Cloud mendukung dua kategori migrasi penyimpanan:

  • vMotion penyimpanan untuk VM, yang memindahkan penyimpanan VM, termasuk vSphere yang terpasang Volume CNS yang digunakan oleh Pod yang berjalan pada node, dan VMDK yang digunakan oleh CNS VM ini volume yang melekat pada node

  • Relokasi volume CNS, yang memindahkan volume CNS vSphere tertentu ke datastore yang kompatibel tanpa menjalankan vMotion penyimpanan untuk VM

Menjalankan vMotion penyimpanan untuk VM

Migrasi melibatkan langkah-langkah yang Anda lakukan di perintah dan lingkungan vSphere yang Anda jalankan di workstation admin:

  1. Di lingkungan vSphere, tambahkan datastore target ke penyimpanan Anda lebih lanjut.

  2. Di lingkungan vSphere, migrasikan VM cluster menggunakan datastore lama untuk ke datastore baru. Untuk mengetahui petunjuknya, lihat Memigrasikan Mesin Virtual ke Resource Komputasi dan Penyimpanan Baru.

  3. 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 atau 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
    

    Verifikasi bahwa semua {i>disk<i} dari semua komputer di cluster telah yang dimigrasikan ke datastore target.

  4. Di workstation admin, jalankan gkectl diagnose untuk memverifikasi bahwa cluster tersebut responsif.

Memanggil CNS Relocation API untuk memindahkan volume CNS

Jika Anda hanya ingin memindahkan volume CNS yang disediakan oleh {i>driver<i} CSI vSphere, Anda dapat mengikuti petunjuk di Memigrasikan Volume Container di vSphere. Hal 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 penyimpanan lama datastore. Jika tidak, volume baru dan VM yang dibuat ulang mungkin akan ditugaskan ke {i>datastore<i} lama.