Membuat dan menggunakan kelas penyimpanan di Runtime VM di GDC

Dokumen ini ditujukan untuk pemilik aplikasi dan administrator platform yang menjalankan GKE di Bare Metal. Dokumen ini menunjukkan cara membuat dan menggunakan kelas penyimpanan untuk VM yang menggunakan Runtime VM di GDC. StorageClass memungkinkan Anda menentukan konfigurasi penyimpanan yang berbeda untuk memenuhi berbagai kebutuhan VM Anda.

Sebelum memulai

Untuk menyelesaikan dokumen ini, Anda memerlukan akses ke GKE di Bare Metal versi 1.12.0 (anthosBareMetalVersion: 1.12.0) atau cluster yang lebih tinggi. Anda dapat menggunakan jenis cluster apa pun yang mampu menjalankan workload. Jika perlu, coba GKE di Bare Metal di Compute Engine atau lihat ringkasan pembuatan cluster.

Ringkasan kelas penyimpanan

Anda menggunakan StorageClass untuk menentukan jenis penyimpanan yang disediakan untuk VM. Kelas penyimpanan yang berbeda mungkin dipetakan ke jenis hardware penyimpanan, sistem file, atau performa yang berbeda. Anda dapat membuat dan menggunakan kelas penyimpanan untuk mendukung beban kerja komputasi Anda di Runtime VM di GDC. Untuk mengetahui informasi selengkapnya, lihat Class Penyimpanan.

StorageClass default dapat ditentukan dalam resource kustom untuk Runtime VM di GDC. Jika Anda tidak menentukan class tertentu saat membuat VirtualMachineDisks,, StorageClass default ini akan digunakan. Tidak ada StorageClass awal yang dikonfigurasi dan ditetapkan sebagai default. Di bagian berikut, Anda mempelajari cara menetapkan atau mengupdate StorageClass default ini.

Menetapkan atau mengupdate StorageClass default

Awalnya, GKE di Bare Metal dengan VM Runtime di GDC tidak memiliki StorageClass default yang dikonfigurasi. Untuk membuat VirtualMachineDisk tanpa menentukan StorageClass, Anda harus membuat StorageClass terlebih dahulu, lalu menyetelnya sebagai default.

Jika Anda ingin menetapkan atau mengupdate StorageClass default yang digunakan Runtime VM di GDC saat membuat VirtualMachineDisk, perbarui resource kustom VMRuntime.

  1. Edit resource kustom VMRuntime:

    kubectl edit vmruntime
    
  2. Tambahkan atau perbarui bagian spec.storage yang menentukan StorageClass default untuk digunakan:

    apiVersion: vm.cluster.gke.io/v1
    kind: VMRuntime
    metadata:
      name: vmruntime
    spec:
      enabled: true
      storage:
        defaultStorageClass: STORAGE_CLASS_NAME
    ...
    

    Edit STORAGE_CLASS_NAME dengan nama default StorageClass yang ingin Anda gunakan. Jika Anda perlu membuat StorageClass terlebih dahulu, lihat Membuat StorageClass.

  3. Simpan dan tutup resource kustom VMRuntime di editor Anda.

    StorageClass yang Anda tentukan kini digunakan saat Anda membuat disk mesin virtual dan tidak menentukan StorageClass. Bagian berikut menunjukkan cara membuat disk dan menggunakan StorageClass tertentu.

    Resource VirtualMachineDisk yang ada tidak diperbarui untuk menggunakan StorageClass yang baru ditentukan.

Menggunakan StorageClass tertentu

Jika Anda tidak ingin menggunakan StorageClass default saat membuat VirtualMachineDisk, gunakan kolom storageClassName untuk menentukan StorageClass yang berbeda.

Untuk menggunakan StorageClass spesifik yang sudah ditentukan saat membuat VirtualMachineDisk, selesaikan langkah-langkah berikut:

  1. Buat manifes VirtualMachineDisk, seperti my-disk.yaml, di editor pilihan Anda:

    nano my-disk.yaml
    
  2. Salin dan tempel manifes YAML berikut:

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachineDisk
    metadata:
      name: DISK_NAME
    spec:
      size: 10Gi
      storageClassName: STORAGE_CLASS_NAME
    

    Ganti nilai berikut:

    • DISK_NAME: nama untuk disk Anda.
    • STORAGE_CLASS_NAME: StorageClass yang akan digunakan untuk disk Anda. StorageClass ini harus sudah ada. Jika Anda perlu membuat StorageClass terlebih dahulu, lihat Membuat StorageClass.
  3. Simpan dan tutup manifes disk di editor Anda.

  4. Buat disk menggunakan kubectl:

    kubectl apply -f my-disk.yaml
    

Mengonfigurasi profil penyimpanan

Profil penyimpanan menyediakan opsi konfigurasi tambahan yang terkait dengan setiap StorageClass. Opsi konfigurasi ini mencakup mode akses dan mode volume yang akan digunakan untuk VirtualMachineDisks yang menggunakan StorageClass.

Tanpa profil penyimpanan yang dikonfigurasi, disk akan ditetapkan secara default ke mode akses ReadWriteOnce. Mode akses ini tidak memadai untuk workload produksi, karena fitur seperti migrasi langsung tidak berfungsi. Mode volume default tanpa profil penyimpanan yang dikonfigurasi adalah Filesystem.

Runtime VM di GDC otomatis menghasilkan satu profil penyimpanan untuk setiap StorageClass dalam cluster. Profil penyimpanannya sama dengan nama StorageClass yang terkait. Contoh output berikut menunjukkan bahwa cluster memiliki empat kelas penyimpanan dan profil terkait:

  $ kubectl get storageprofiles

  NAME            AGE
  anthos-system   11d
  node-disk       11d
  standard        11d
  nfs             11d

Untuk mengedit profil penyimpanan dan mengubah mode akses atau mode volume, selesaikan langkah-langkah berikut:

  1. Edit resource kustom StorageProfile untuk mengedit:

    kubectl edit storageprofile STORAGE_PROFILE_NAME
    

    Ganti STORAGE_PROFILE_NAME dengan StorageProfile yang ingin Anda edit.

  2. Tambahkan satu entri ke daftar spec.claimPropertySets StorageProfile:

    apiVersion: cdi.kubevirt.io/v1beta1
    kind: StorageProfile
    metadata:
      name: nfs
    spec:
      claimPropertySets:
      - accessModes:
        - ACCESS_MODE
        volumeMode: VOLUME_MODE
    

    accessMode dan volumeMode menggunakan komponen Kubernetes yang mendasarinya. Nilai yang Anda tetapkan bergantung pada driver penyimpanan yang Anda gunakan. Ganti nilai berikut sesuai dengan penyimpanan yang Anda gunakan:

    • ACCESS_MODE: mode akses yang ingin Anda gunakan. Jika didukung oleh StorageClass terkait, mode akses yang disukai adalah ReadWriteMany.
      • Nilai yang dapat diterima mencakup ReadWriteOnce, ReadOnlyMany, ReadWriteMany, dan ReadWriteOncePod. Jika tidak ditentukan, ReadWriteOnce akan digunakan berdasarkan Runtime VM di default GDC. Untuk mengetahui informasi selengkapnya, lihat Mode akses.
    • VOLUME_MODE: mode volume yang ingin Anda gunakan.
      • Nilai yang dapat diterima mencakup Filesystem dan Block. Jika tidak ditentukan, Filesystem akan digunakan berdasarkan default Kubernetes. Untuk mengetahui informasi selengkapnya, lihat Mode volume.
  3. Simpan dan tutup resource kustom StorageProfile di editor Anda.

    Setelan profil penyimpanan yang Anda tentukan digunakan saat Anda membuat disk virtual apa pun. Resource VirtualMachineDisk yang ada tidak akan diperbarui untuk menggunakan setelan profil penyimpanan yang ditentukan.

Langkah selanjutnya