Membuat dan menggunakan class penyimpanan di Runtime VM di GDC

Dokumen ini ditujukan untuk pemilik aplikasi dan administrator platform yang menjalankan Google Distributed Cloud. Dokumen ini menunjukkan cara membuat dan menggunakan class penyimpanan untuk VM yang menggunakan Runtime VM di GDC. StorageClass memungkinkan Anda menentukan berbagai konfigurasi penyimpanan untuk memenuhi berbagai kebutuhan VM Anda.

Sebelum memulai

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

Ringkasan kelas penyimpanan

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

StorageClass default dapat ditentukan dalam resource kustom untuk VM Runtime 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 akan mempelajari cara menetapkan atau memperbarui StorageClass default ini.

Menetapkan atau memperbarui StorageClass default

Awalnya, Google Distributed Cloud dengan Runtime VM di GDC tidak memiliki StorageClass default yang dikonfigurasi. Untuk membuat VirtualMachineDisk tanpa menentukan StorageClass, Anda harus terlebih dahulu membuat StorageClass lalu menetapkannya sebagai default.

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

  1. Edit resource kustom VMRuntime:

    kubectl edit vmruntime
    
  2. Tambahkan atau perbarui bagian spec.storage yang menentukan StorageClass default yang akan 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 StorageClass default 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 sekarang 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 tertentu yang telah ditentukan saat Anda 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 beban kerja produksi, karena fitur seperti migrasi langsung tidak berfungsi. Mode volume default tanpa profil penyimpanan yang dikonfigurasi adalah Filesystem.

Runtime VM di GDC secara otomatis membuat satu profil penyimpanan untuk setiap StorageClass dalam cluster. Profil penyimpanan memiliki nama yang sama dengan StorageClass terkait. Contoh output berikut menunjukkan bahwa cluster memiliki empat class 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 diedit:

    kubectl edit storageprofile STORAGE_PROFILE_NAME
    

    Ganti STORAGE_PROFILE_NAME dengan StorageProfile yang ingin Anda edit.

  2. Tambahkan satu entri ke daftar spec.claimPropertySets dari 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 lebih disukai adalah ReadWriteMany.
      • Nilai yang dapat diterima mencakup ReadWriteOnce, ReadOnlyMany, ReadWriteMany, dan ReadWriteOncePod. Jika tidak ditentukan, ReadWriteOnce akan digunakan berdasarkan Runtime VM pada 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 akan digunakan saat Anda membuat disk virtual. Resource VirtualMachineDisk yang ada tidak diperbarui untuk menggunakan setelan profil penyimpanan yang ditentukan.

Langkah selanjutnya