Mengonfigurasi kebijakan penyimpanan

Dokumen ini menunjukkan cara mengonfigurasi kebijakan penyimpanan VM untuk cluster GKE di VMware.

Ringkasan

Di vSphere, Pengelolaan Berbasis Kebijakan Penyimpanan (SPBM) membantu menyelaraskan penyimpanan dengan permintaan aplikasi virtual machine. Solusi ini menyediakan framework kebijakan penyimpanan yang berfungsi sebagai panel kontrol tunggal dan terpadu di berbagai layanan data dan solusi penyimpanan.

Dalam cluster Anthos di VMware, Anda dapat menentukan 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 di cluster pengguna, atau serangkaian 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 diwarisi oleh kumpulan node di cluster pengguna. Jika Anda menentukan kebijakan penyimpanan untuk setiap kumpulan node, kebijakan tersebut yang akan digunakan, bukan kebijakan penyimpanan tingkat cluster. Demikian pula jika Anda menentukan datastore untuk setiap kumpulan node, datastore tersebut akan digunakan, bukan kebijakan penyimpanan tingkat cluster.

Di cluster pengguna yang telah 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 yang akan digunakan, bukan kebijakan penyimpanan tingkat cluster.

Menerapkan kebijakan penyimpanan ke datastore

Anda dapat menerapkan kebijakan penyimpanan ke satu datastore atau ke beberapa datastore. Jika Anda menerapkan kebijakan penyimpanan ke beberapa datastore, resource penyimpanan untuk cluster admin, cluster pengguna, atau kumpulan node dapat disebarkan 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 setidaknya dua datastore.

Cluster vSphere yang akan menghosting node untuk cluster pengguna Anda harus memiliki akses ke datastore yang ingin Anda gunakan untuk latihan ini. Ada pemeriksaan {i>preflight <i}yang memverifikasi hal ini.

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 Kategori Tag vSphere
  • Pemberian Tag vSphere.Tetapkan atau Batalkan Penetapan Tag vSphere

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

Untuk informasi tambahan, lihat Tag dan Atribut vSphere.

Membuat kebijakan penyimpanan

Di Klien vSphere, buat kebijakan penyimpanan VM untuk penempatan berbasis tag. Dalam kebijakan penyimpanan, tentukan tag yang Anda terapkan ke datastore yang dipilih. Untuk mendapatkan petunjuk, baca artikel Membuat kebijakan penyimpanan VM untuk Penempatan Berbasis Tag.

Untuk mengetahui informasi tambahan, baca 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 di satu kumpulan node dan tiga di kumpulan node kedua. Semua node menggunakan alamat IP statis.

Mulailah dengan mengikuti petunjuk di Membuat cluster pengguna (ControlPlane V2).

Saat Anda mengisi file konfigurasi cluster pengguna:

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

  • Tentukan dua kumpulan node. Untuk kumpulan node pertama, jangan tentukan datastore, dan jangan tentukan 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 poin-poin penting yang perlu dipahami dalam contoh sebelumnya:

  • Alamat IP statis untuk node pekerja 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 ditentukan di bagian network.controlPlaneIPBlock pada file konfigurasi cluster pengguna. Tidak diperlukan alamat IP tambahan di blok ini.

  • Kolom masterNode.replicas ditetapkan ke 3, sehingga akan ada tiga node bidang kontrol. Di bagian 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 setiap kumpulan yang tidak menentukan kebijakan penyimpanannya sendiri atau datastore-nya sendiri.

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

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

Lanjutkan membuat cluster pengguna seperti yang dijelaskan dalam Membuat cluster pengguna (Controlplane V2).

Buat 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 tersebut dapat menggunakan instance vCenter Server yang sama atau instance Server vCenter yang berbeda.

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

Mulailah dengan mengikuti petunjuk di Membuat cluster pengguna (ControlPlane V2).

Saat Anda mengisi file konfigurasi cluster pengguna:

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

  • Pada 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 tentukan datastore, dan jangan tentukan 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 poin-poin 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 ditetapkan 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. Di bagian masterNode, tidak ada yang ditentukan untuk vsphere.datastore atau vsphere.storagePolicyName. Jadi, node bidang kontrol akan menggunakan kebijakan penyimpanan yang ditentukan di vCenter.storagePolicyName.

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

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

Lanjutkan membuat cluster pengguna seperti yang dijelaskan dalam Membuat cluster pengguna (Controlplane V2).

Menggunakan vMotion penyimpanan

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

Ikuti langkah-langkah berikut:

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

  2. Pastikan bahwa VM telah berhasil dimigrasikan ke datastore baru.

    Dapatkan objek Mesin di cluster:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get machines --output yaml
    

    Pada 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 di cluster telah dimigrasikan ke datastore target.

  3. Jalankan gkectl diagnose untuk memverifikasi bahwa 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.