Mengonfigurasi kebijakan penyimpanan

Dokumen ini menunjukkan cara mengonfigurasi kebijakan penyimpanan VM untuk cluster Google Distributed Cloud.

Ringkasan

Di vSphere, Storage Policy Based Management (SPBM) membantu menyelaraskan penyimpanan dengan kebutuhan aplikasi virtual machine. Google Cloud menyediakan framework kebijakan penyimpanan yang berfungsi sebagai satu panel kontrol terpadu untuk berbagai layanan data dan solusi penyimpanan.

Di Google Distributed Cloud, Anda dapat menetapkan kebijakan penyimpanan sebagai alternatif untuk menentukan datastore. Anda menentukan kebijakan penyimpanan berdasarkan persyaratan aplikasi, lalu vSphere akan memilih dan mengelola datastore secara otomatis. Hal ini dapat mengurangi overhead dan pemeliharaan yang terkait dengan penyimpanan.

Pewarisan

Anda dapat menentukan kebijakan penyimpanan untuk cluster pengguna, kumpulan node dalam cluster pengguna, atau kumpulan node bidang kontrol dalam cluster pengguna. Anda juga dapat menentukan kebijakan penyimpanan untuk cluster admin selama cluster admin memiliki bidang kontrol ketersediaan tinggi dan tidak memiliki kumpulan node Windows.

Jika Anda menentukan kebijakan penyimpanan untuk cluster pengguna, kebijakan tersebut akan diwariskan oleh kumpulan node di cluster pengguna. Jika Anda menentukan kebijakan penyimpanan untuk setiap kumpulan node, kebijakan tersebut yang akan digunakan, bukan kebijakan penyimpanan level cluster. Demikian pula, jika Anda menentukan datastore untuk kumpulan node individual, datastore tersebut akan digunakan, bukan kebijakan penyimpanan level cluster.

Dalam cluster pengguna yang mengaktifkan Controlplane V2, kebijakan penyimpanan tingkat cluster diwarisi oleh node bidang kontrol. Jika Anda menentukan kebijakan penyimpanan atau datastore untuk node bidang kontrol, kebijakan penyimpanan atau datastore tersebut akan digunakan, bukan kebijakan penyimpanan tingkat cluster.

Menerapkan kebijakan penyimpanan ke {i>datastore<i}

Anda dapat menerapkan kebijakan penyimpanan ke satu datastore atau beberapa datastore. Jika Anda menerapkan kebijakan penyimpanan ke beberapa datastore, resource penyimpanan untuk cluster admin, cluster pengguna, atau kumpulan node dapat tersebar di antara datastore.

Contoh: Membuat kebijakan penyimpanan dan cluster pengguna

Bagian ini memberikan contoh pembuatan kebijakan penyimpanan dan cluster pengguna. Contoh ini menggambarkan gagasan bahwa kebijakan penyimpanan dapat diterapkan ke dua datastore.

Menerapkan tag ke datastore

Untuk melakukan langkah-langkah dalam contoh ini, lingkungan vSphere Anda harus memiliki minimal dua datastore.

Cluster vSphere yang akan menghosting node untuk cluster pengguna Anda harus memiliki akses ke datastore yang akan Anda gunakan untuk latihan ini. Ada pemeriksaan preflight yang memverifikasinya.

Akun vCenter yang Anda gunakan untuk menerapkan tag harus memiliki hak istimewa hak istimewa pemberian tag vSphere berikut di Server vCenter root:

  • Pemberian Tag vSphere.Buat Tag vSphere
  • vSphere Tagging.Create vSphere Kategori Tag
  • vSphere Tagging.Tetapkan atau Batalkan Penetapan Tag vSphere

Di Klien vSphere, tetapkan tag yang sama untuk setiap datastore yang telah Anda pilih untuk digunakan untuk latihan ini. Untuk mengetahui petunjuknya, lihat Menetapkan Tag ke Datastore.

Untuk informasi tambahan, lihat Tag dan Atribut vSphere.

Membuat kebijakan penyimpanan

Di vSphere Client, buat kebijakan penyimpanan VM untuk penempatan berbasis tag. Dalam kebijakan penyimpanan, tentukan tag yang diterapkan ke datastore yang Anda pilih. Untuk mendapatkan petunjuk, lihat Membuat kebijakan penyimpanan VM untuk Penempatan Berbasis Tag.

Untuk informasi tambahan, lihat kebijakan penyimpanan VM.

Jika Anda menggunakan datastore vSAN, lihat kebijakan penyimpanan vSAN.

Membuat cluster pengguna

Dalam latihan ini, Anda akan membuat cluster pengguna yang memiliki bidang kontrol ketersediaan tinggi, sehingga ada tiga node bidang kontrol. Selain node bidang kontrol, ada enam node pekerja, tiga dalam satu kumpulan node, dan tiga dalam kumpulan node kedua. Semua node menggunakan alamat IP statis.

Mulailah dengan mengikuti petunjuk di artikel Membuat cluster pengguna.

Saat Anda mengisi file konfigurasi cluster pengguna:

  • Tetapkan nilai vCenter.storagePolicyName ke nama kebijakan penyimpanan yang ada. Jangan tetapkan nilai untuk vCenter.datastore.

  • Tentukan dua kumpulan node. Untuk kumpulan node pertama, jangan tetapkan datastore, dan jangan tetapkan kebijakan penyimpanan. Untuk kumpulan node kedua, tetapkan nilai vsphere.datastore ke nama datastore yang ada.

Contoh file konfigurasi cluster

Berikut adalah contoh file blok IP dan bagian dari file konfigurasi cluster pengguna.

user-ipblock.yaml

blocks:
  - netmask: 255.255.255.0
    gateway: 172.16.21.1
    ips:
    - ip: 172.16.21.2
    - ip: 172.16.21.3
    - ip: 172.16.21.4
    - ip: 172.16.21.5
    - ip: 172.16.21.6
    - ip: 172.16.21.7
    - ip: 172.16.21.8

user-cluster-yaml

apiVersion: v1
kind: UserCluster
...
vCenter:
  storagePolicyName: "my-storage-policy"
network:
  hostConfig:
    dnsServers:
    - "203.0.113.2"
    - "198.51.100.2"
    ntpServers:
    - "216.239.35.4"
  ipMode:
    type: "static"
    ipBlockFilePath: "user-ipblock.yaml"
  controlPlaneIPBlock:
    netmask: "255.255.255.0"
    gateway: "172.16.21.1"
    ips:
    - ip: "172.16.21.9"
      hostname: "cp-vm-1"
    - ip: "172.16.21.10"
      hostname: "cp-vm-2"
    - ip: "172.16.21.11"
      hostname: "cp-vm-3"
loadBalancer:
  vips:
    controlPlaneVIP: "172.16.21.40"
    ingressVIP: "172.16.21.30"
  kind: MetalLB
  metalLB:
    addressPools:
    - name: "address-pool-1"
      addresses:
    - "172.16.21.30-172.16.21.39"
...
enableControlplaneV2: true
masterNode:
  cpus: 4
  memoryMB: 8192
  replicas: 3
nodePools:
- name: "worker-pool-1"
  enableLoadBalancer: true
- name: "worker-pool-2"
  vSphere:
    datastore: "my-np2-datastore"
...

Berikut adalah hal-hal penting yang perlu dipahami dalam contoh sebelumnya:

  • Alamat IP statis untuk worker node ditentukan dalam file blok IP. File blok IP memiliki tujuh alamat meskipun hanya ada enam node pekerja. Alamat IP tambahan diperlukan selama upgrade, update, dan perbaikan otomatis cluster.

  • Alamat IP statis untuk tiga node bidang kontrol ditetapkan di bagian network.controlPlaneIPBlock pada file konfigurasi cluster pengguna. Tidak diperlukan alamat IP tambahan dalam blok ini.

  • Kolom masterNode.replicas ditetapkan ke 3 sehingga akan ada tiga node bidang kontrol. Pada masterNode, tidak ada yang ditentukan untuk vsphere.datastore atau vsphere.storagePolicyName. Jadi, node bidang kontrol akan menggunakan kebijakan penyimpanan yang ditentukan di vCenter.storagePolicyName.

  • File konfigurasi cluster pengguna menyertakan nilai untuk vCenter.storagePolicy, tetapi tidak menyertakan nilai untuk vCenter.datastore. Kebijakan penyimpanan yang ditentukan akan digunakan oleh node di kumpulan yang tidak menentukan kebijakan penyimpanannya sendiri atau datastore-nya sendiri.

  • Pada node-pool-1, tidak ada yang ditentukan untuk vsphere.datastore atau vsphere.storagePolicyName. Jadi, node di node-pool-1 akan menggunakan kebijakan penyimpanan yang ditentukan di vCenter.storagePolicyName.

  • Pada node-pool-2, nilai vsphere.datastore adalah my-np2-datastore, sehingga node di node-pool-2 menggunakan satu datastore tersebut, dan tidak menggunakan kebijakan penyimpanan.

Lanjutkan membuat cluster pengguna seperti yang dijelaskan dalam artikel Membuat cluster pengguna.

Membuat cluster pengguna di pusat data yang terpisah dari cluster admin

Cluster pengguna dapat berada di pusat data yang terpisah dari cluster admin. Kedua pusat data dapat menggunakan instance Server vCenter yang sama atau instance Server vCenter yang berbeda.

Bagian ini memberikan contoh cara membuat cluster pengguna yang menggunakan instance Server vCenter terpisah dari cluster admin. Karena cluster pengguna dan admin menggunakan server vCenter terpisah, cluster tersebut juga berada di pusat data terpisah.

Mulailah dengan mengikuti petunjuk di artikel Membuat cluster pengguna.

Saat Anda mengisi file konfigurasi cluster pengguna:

  • Tetapkan nilai vCenter.storagePolicyName ke nama kebijakan penyimpanan yang ada. Jangan tetapkan nilai untuk vCenter.datastore.

  • Di bagian vCenter, tentukan nilai untuk address, datacenter, cluster, dan resourcePool.

  • Tentukan nilai untuk network.vCenter.networkName.

  • Tentukan dua kumpulan node. Untuk kumpulan node pertama, jangan tetapkan datastore, dan jangan tetapkan kebijakan penyimpanan. Untuk kumpulan node kedua, tetapkan nilai vsphere.datastore ke nama datastore yang ada.

Contoh file konfigurasi cluster

Berikut adalah contoh file blok IP dan bagian dari file konfigurasi cluster pengguna.

user-ipblock.yaml

blocks:
  - netmask: 255.255.255.0
    gateway: 172.16.21.1
    ips:
    - ip: 172.16.21.2
    - ip: 172.16.21.3
    - ip: 172.16.21.4
    - ip: 172.16.21.5
    - ip: 172.16.21.6
    - ip: 172.16.21.7
    - ip: 172.16.21.8

user-cluster-yaml

apiVersion: v1
kind: UserCluster
...
vCenter:
  address: "my-vcenter-server-2.my-domain.example"
  datacenter: "my-uc-data-center"
  cluster: "my-uc-vsphere-cluster"
  resourcePool: "my-uc-resource-pool"
  storagePolicyName: "my-storage-policy"
network:
  vCenter:
    networkName: "my-uc-network"
  hostConfig:
    dnsServers:
    - "203.0.113.2"
    - "198.51.100.2"
    ntpServers:
    - "216.239.35.4"
  ipMode:
    type: "static"
    ipBlockFilePath: "user-ipblock.yaml"
  controlPlaneIPBlock:
    netmask: "255.255.255.0"
    gateway: "172.16.21.1"
    ips:
    - ip: "172.16.21.9"
      hostname: "cp-vm-1"
    - ip: "172.16.21.10"
      hostname: "cp-vm-2"
    - ip: "172.16.21.11"
      hostname: "cp-vm-3"
loadBalancer:
  vips:
    controlPlaneVIP: "172.16.21.40"
    ingressVIP: "172.16.21.30"
  kind: MetalLB
  metalLB:
    addressPools:
    - name: "address-pool-1"
      addresses:
    - "172.16.21.30-172.16.21.39"
...
enableControlplaneV2: true
masterNode:
  cpus: 4
  memoryMB: 8192
  replicas: 3
nodePools:
- name: "worker-pool-1"
  enableLoadBalancer: true
- name: "worker-pool-2"
  vSphere:
    datastore: "my-np2-datastore"
...

Berikut adalah hal-hal penting yang perlu dipahami dalam contoh sebelumnya:

  • File konfigurasi cluster pengguna menyertakan nilai untuk vCenter.storagePolicy, tetapi tidak menyertakan nilai untuk vCenter.datastore. Kebijakan penyimpanan yang ditentukan akan digunakan oleh node di kumpulan node mana pun yang tidak menentukan kebijakan penyimpanannya sendiri atau datastore-nya sendiri.

  • Di bagian vCenter, ada nilai yang ditentukan untuk address, datacenter, cluster, dan resourcePool. Jadi, cluster pengguna akan menggunakan Server vCenter, pusat data, cluster vSphere, dan kumpulan resource yang berbeda dari cluster admin.

  • Ada nilai yang ditentukan untuk network.vCenter.networkName.

  • Kolom masterNode.replicas ditetapkan ke 3 sehingga akan ada tiga node bidang kontrol. Pada masterNode, tidak ada yang ditentukan untuk vsphere.datastore atau vsphere.storagePolicyName. Jadi, node bidang kontrol akan menggunakan kebijakan penyimpanan yang ditentukan di vCenter.storagePolicyName.

  • Pada node-pool-1, tidak ada yang ditentukan untuk vsphere.datastore atau vsphere.storagePolicyName. Jadi, node di node-pool-1 akan menggunakan kebijakan penyimpanan yang ditentukan di vCenter.storagePolicyName.

  • Pada node-pool-2, nilai vsphere.datastore adalah my-np2-datastore, sehingga node di node-pool-2 menggunakan satu datastore tersebut, dan tidak menggunakan kebijakan penyimpanan.

Lanjutkan membuat cluster pengguna seperti yang dijelaskan dalam artikel Membuat cluster pengguna.

Menggunakan vMotion penyimpanan

Bagian ini menunjukkan cara menggunakan vMotion penyimpanan dalam cluster yang menggunakan SPBM. Jika Anda ingin menggunakan vMotion penyimpanan di cluster yang tidak menggunakan SPBM, lihat Menggunakan alat migrasi datastore.

Ikuti langkah-langkah berikut:

  1. Migrasikan semua VM cluster ke datastore target. Untuk mengetahui petunjuknya, lihat Memigrasikan Mesin Virtual ke Resource Komputasi dan Penyimpanan Baru.

  2. 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: ci-bluecwang-head-xvz2ccv28bf9wdbx-2/ci-bluecwang-head-xvz2ccv28bf9wdbx-2.vmdk
      uuid: 6000C29d-8edb-e742-babc-9c124013ba54
    – datastore: pf-ds06
      filepath: anthos/gke-admin-nc4rk/ci-bluecwang-head/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.

  3. Jalankan gkectl diagnose untuk memastikan cluster responsif.

  4. Perbarui kebijakan penyimpanan untuk mengecualikan datastore lama. Jika tidak, volume baru dan VM yang dibuat ulang mungkin akan ditetapkan ke datastore lama.