Membuat VM dengan resource CPU dan memori tertentu menggunakan 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 jenis VM atau menentukan resource CPU dan memori secara manual saat Anda membuat VM yang menggunakan VM Runtime di GDC.

Sebelum memulai

Untuk menyelesaikan dokumen ini, Anda memerlukan akses ke referensi berikut:

Membuat VM

Saat membuat VM, Anda dapat menentukan persyaratan CPU dan memori secara manual. Dengan kemampuan ini, Anda dapat membuat VM dengan resource komputasi yang tepat agar sesuai dengan kebutuhan aplikasi Anda.

Untuk membuat VM dan menentukan persyaratan CPU dan memori secara manual, gunakan langkah-langkah berikut.

CLI

  • Gunakan kubectl untuk membuat VM:

    kubectl virt create vm VM_NAME \
      --image ubuntu20.04 \
      --cpu CPU_NUMBER \
      --memory MEMORY_SIZE
    

    Ganti nilai berikut:

    • VM_NAME: nama untuk VM Anda. Untuk mengetahui informasi selengkapnya tentang batasan nama, lihat Nama dan ID objek.
    • CPU_NUMBER: Jumlah CPU virtual (vCPU) yang akan ditetapkan ke VM.
      • Anda dapat menetapkan antara 1 hingga 96 vCPU ke VM.
    • MEMORY_SIZE: Jumlah memori yang akan ditetapkan ke VM.
      • Anda dapat menetapkan memori antara 1 juta hingga 1 T untuk VM. Untuk mengetahui informasi selengkapnya, lihat Unit resource memori.

Manifes

  1. Buat manifes VirtualMachine, seperti my-custom-vm.yaml, di editor pilihan Anda:

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

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        cpu:
          vcpus: VCPU_NUMBER
        memory:
          capacity: MEMORY_SIZE
      interfaces:
        - name: eth0
          networkName: pod-network
          default: true
      disks:
        - virtualMachineDiskName: VM_NAME-boot-dv
          boot: true
    

    Dalam file YAML ini, tentukan setelan berikut:

    • VM_NAME: nama untuk VM Anda. Untuk mengetahui informasi selengkapnya tentang batasan nama, lihat Nama dan ID objek.
    • VCPU_NUMBER: Jumlah vCPU yang akan ditetapkan ke VM.
      • Anda dapat menetapkan antara 1 hingga 96 vCPU ke VM.
    • MEMORY_SIZE: Jumlah memori yang ditetapkan ke VM.
      • Anda dapat menetapkan memori antara 1 juta hingga 1 T untuk VM. Untuk mengetahui informasi selengkapnya, lihat Unit resource memori.

    VM menghubungkan eth0 ke jaringan pod-network default.

    Boot disk dengan nama VM_NAME-boot-dv harus sudah ada. Untuk informasi selengkapnya, lihat Membuat dan mengelola disk virtual.

  3. Simpan dan tutup manifes VM di editor Anda.

  4. Buat VM menggunakan kubectl:

    kubectl apply -f my-custom-vm.yaml
    

Membuat dan menggunakan jenis VM

Saat Anda mengaktifkan VM Runtime di GDC, definisi resource kustom VirtualMachineType baru akan tersedia. Definisi ini digunakan untuk menentukan resource CPU dan memori VM. Anda dapat membuat jenis VM untuk berbagai workload yang Anda perlukan, dan menerapkan sekumpulan resource komputasi yang konsisten ke VM berdasarkan jenis ini.

Jika Runtime VM di GDC diaktifkan di GKE pada Bare Metal, vm-controller-manager akan menginstal jenis VM yang telah ditentukan sebelumnya. Definisi berikut menunjukkan jenis VM example-machinetype default:

  apiVersion: vm.cluster.gke.io/v1
  kind: VirtualMachineType
  metadata:
    name: "example-machinetype"
    labels:
      vm.cluster.gke.io/predefined-machinetype: "true"
  spec:
    cpu:
      vcpus: 2
    memory:
      capacity: 4G

Anda tidak dapat memperbarui jenis VM yang telah ditentukan ini. Jenis VM yang telah ditetapkan ini akan diinstal ulang jika tidak ada di cluster setiap kali vm-controller-manager dimulai atau dimulai ulang, misalnya saat Anda menghapus jenis VM.

Membuat jenis VM

Anda dapat membuat jenis VM sendiri agar sesuai dengan kebutuhan komputasi workload Anda.

  1. Buat manifes VirtualMachineType seperti my-vm-type.yaml, di editor pilihan Anda:

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

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachineType
    metadata:
      name: my-vm-type
    spec:
      cpu:
        vcpus: VCPU_NUMBER
      memory:
        capacity: MEMORY_SIZE
    

    Dalam jenis VM ini, Anda menentukan setelan berikut:

    • VM_NAME: nama untuk VM Anda. Untuk mengetahui informasi selengkapnya tentang batasan nama, lihat Nama dan ID objek.
    • VCPU_NUMBER: Jumlah vCPU yang akan ditetapkan ke VM.
      • Anda dapat menetapkan antara 1 hingga 96 vCPU ke VM.
    • MEMORY_SIZE: Jumlah memori yang ditetapkan ke VM.
      • Anda dapat menetapkan memori antara 1 juta hingga 1 T untuk VM. Untuk mengetahui informasi selengkapnya, lihat Unit resource memori.
  3. Simpan dan tutup manifes jenis VM di editor Anda.

  4. Buat jenis VM menggunakan kubectl:

    kubectl apply -f my-vm-type.yaml
    

Membuat VM menggunakan jenis VM

Tentukan jenis VM di manifes VirtualMachine Anda untuk menerapkan setelan compute yang telah ditetapkan ke VM.

  1. Buat manifes VirtualMachine, seperti my-custom-vm.yaml, di editor pilihan Anda.

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

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineTypeName: my-vm-type
      interfaces:
        - name: eth0
          networkName: pod-network
          default: true
      disks:
        - virtualMachineDiskName: VM_NAME-boot-dv
          boot: true
    

    Dalam file YAML ini, tentukan nama jenis VM kustom yang Anda buat di bagian sebelumnya, seperti my-vm-type, sebagai nilai untuk virtualMachineTypeName.

    VM menghubungkan eth0 ke jaringan pod-network default.

    Boot disk dengan nama VM_NAME-boot-dv harus sudah ada. Untuk informasi selengkapnya, lihat Membuat dan mengelola disk virtual.

  3. Simpan dan tutup manifes VM di editor Anda.

  4. Buat VM menggunakan kubectl:

    kubectl apply -f my-custom-vm.yaml
    

Langkah selanjutnya