Migrasi penyimpanan dengan Pengelolaan Berbasis Kebijakan Penyimpanan

Dokumen ini menunjukkan cara memigrasikan disk dari satu datastore vSphere ke datastore vSphere lainnya 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 cluster admin dan cluster pengguna Controlplane V2

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

    • Volume vSphere yang direpresentasikan oleh PV/PVC di cluster admin dan digunakan oleh komponen bidang kontrol dari cluster pengguna kubeception

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

Prasyarat untuk cluster admin

  1. Cluster admin harus memiliki bidang kontrol dengan ketersediaan tinggi (HA). Jika cluster admin Anda memiliki bidang kontrol non-HA, migrasikan ke HA sebelum Anda melanjutkan.

  2. Pastikan cluster admin memiliki bidang kontrol dengan ketersediaan tinggi (HA):

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes
    

    Ganti ADMIN_CLUSTER_KUBECONFIG dengan jalur file cluster admin.

    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. Cluster perbaikan otomatis node harus dinonaktifkan. Jika perbaikan otomatis node diaktifkan, nonaktifkan perbaikan otomatis node.

  2. Cluster tersebut harus menggunakan Pengelolaan Berbasis Kebijakan Penyimpanan (SPBM). Jika cluster tidak menggunakan SPBM, buat 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) Verifikasi bahwa 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

    Pada output, jika kolom datastore kosong dan kolom storagePolicyName tidak kosong, cluster akan menggunakan SPBM.

  4. Cluster tidak boleh menggunakan plugin volume in-tree vSphere.

    Jika cluster Anda diupgrade dari versi lama Google Distributed Cloud, cluster tersebut mungkin memiliki PV/PVC yang disediakan oleh plugin volume in-tree vSphere. Volume semacam ini mungkin digunakan oleh node bidang kontrol dari cluster pengguna kubeception atau oleh beban kerja yang Anda buat pada node pekerja.

    Daftar semua PVC dan Kelas Penyimpanannya:

    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 digunakan:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get storageclass
    

    Dalam output, jika kolom PROVISIONER adalah kubernetes.io/vsphere-volume, maka PVC yang dibuat dengan StorageClass ini akan menggunakan plugin volume in-tree vSphere. Untuk StatefulSet yang menggunakan PV/PVC ini, migrasikan PV/PVC tersebut ke driver vSphere CSI.

Melakukan migrasi penyimpanan

Google Distributed Cloud mendukung dua kategori migrasi penyimpanan:

  • Storage vMotion for VM, yang memindahkan penyimpanan VM, termasuk volume vSphere CNS terpasang yang digunakan oleh Pod yang berjalan di node, dan VMDK yang digunakan oleh volume CNS VM yang terpasang pada node

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

Menjalankan vMotion penyimpanan untuk VM

Migrasi mencakup langkah-langkah yang perlu Anda lakukan di lingkungan vSphere dan perintah yang dijalankan di workstation admin:

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

  2. Di lingkungan vSphere Anda, migrasikan VM cluster menggunakan datastore lama ke datastore baru. Untuk mengetahui petunjuknya, lihat Memigrasikan Virtual Machine ke Resource dan Penyimpanan Compute 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 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 dari semua mesin dalam cluster telah dimigrasikan ke datastore target.

  4. Di workstation admin, jalankan gkectl diagnose untuk memastikan cluster responsif.

Memanggil CNS Relocation API untuk memindahkan volume CNS

Jika Anda hanya ingin memindahkan volume CNS yang disediakan oleh driver vSphere CSI, Anda dapat mengikuti petunjuk di bagian Memigrasikan Volume Container di vSphere. Hal ini mungkin lebih mudah 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 akan ditetapkan ke datastore lama.