Membuat VM dengan resource CPU dan memori tertentu

Saat membuat VM yang menggunakan VM Runtime di Google Distributed Cloud, Anda dapat mengonfigurasi resource komputasi dengan dua cara:

  • Menentukan CPU dan memori secara manual: Tentukan resource komputasi secara langsung dalam manifes VirtualMachine. Pendekatan ini berguna untuk VM sekali pakai atau workload kustom yang memerlukan alokasi resource unik.
  • Membuat dan menggunakan jenis VM: Tentukan resource kustom VirtualMachineType yang dapat digunakan kembali untuk menstandardisasi alokasi CPU dan memori. Pendekatan ini berguna untuk mengelola fleet VM, memastikan konsistensi komputasi di seluruh cluster, dan menyederhanakan penyediaan VM untuk developer.

Sebelum memulai

Untuk menentukan resource CPU dan memori secara manual serta membuat dan menggunakan jenis VM, Anda memerlukan akses ke resource berikut:

  • Cluster yang terhubung ke Distributed Cloud, versi 1.9.0 atau yang lebih tinggi.
  • Alat command line Kubernetes, kubectl, diinstal dan dikonfigurasi untuk mengakses cluster Anda. Untuk mengetahui informasi selengkapnya, lihat menginstal kubectl.
  • Opsional: Alat klien virtctl yang diinstal sebagai plugin untuk kubectl. Jika perlu, lihat Menginstal alat pengelolaan virtctl.

Membuat VM dan menentukan CPU serta memori

Saat membuat VM, Anda dapat menentukan persyaratan CPU dan memori secara manual. Gunakan fitur ini untuk membuat VM yang memiliki resource komputasi yang sesuai untuk memenuhi kebutuhan aplikasi Anda.

Untuk membuat VM dan menentukan CPU serta memori, gunakan manifes VirtualMachine.

  1. Di editor pilihan Anda, buat manifes VirtualMachine, seperti my-custom-vm.yaml:

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

    Dalam file YAML ini, tentukan setelan berikut:

    • VM_NAME: nama untuk VM Anda.
    • NAMESPACE: namespace target untuk VM Anda.
    • L2_NETWORK_NAME: Nama jaringan L2 yang akan dihubungkan ke VM.
    • VCPU_NUMBER: Jumlah vCPU yang akan ditetapkan ke VM. Anda dapat menetapkan antara 1 dan 96 vCPU ke VM.
    • MEMORY_SIZE: Jumlah memori yang akan ditetapkan ke VM. Anda dapat menetapkan memori berukuran antara 1 Mi dan 1 Ti ke VM. Untuk mengetahui informasi selengkapnya, lihat Unit resource memori dalam dokumentasi Kubernetes.
    • VM_BOOT_NAME: nama boot disk VM Anda. Boot disk harus sudah ada. Untuk mengetahui informasi selengkapnya, lihat Membuat disk virtual machine dari image virtual machine.

    VM menghubungkan antarmuka eth0 ke jaringan L2 yang ditentukan.

  2. Untuk membuat VM, terapkan manifes ke cluster yang terhubung ke Distributed Cloud menggunakan perintah kubectl apply:

    kubectl apply -f my-custom-vm.yaml
    
  3. Untuk memverifikasi bahwa VM telah dibuat, gunakan perintah kubectl get:

    kubectl get vm VM_NAME -n NAMESPACE
    

    Output yang diharapkan menampilkan status VM. Anda juga dapat menggunakan perintah kubectl describe untuk melihat konfigurasi mendetail, termasuk CPU dan memori yang ditetapkan.

Membuat dan menggunakan jenis VM

Saat Anda mengaktifkan VM Runtime di GDC, definisi resource kustom VirtualMachineType akan tersedia di cluster Anda. Anda dapat menggunakan jenis resource ini untuk membuat template yang dapat digunakan kembali yang menentukan alokasi CPU dan memori tertentu. Dengan membuat jenis VM kustom untuk berbagai workload, Anda dapat menyediakan beberapa VM dengan konfigurasi resource komputasi yang konsisten.

Jika VM Runtime di GDC diaktifkan di Distributed Cloud yang terhubung, jenis VM bawaan mungkin tersedia. Anda tidak dapat memperbarui jenis VM bawaan ini. 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

Membuat jenis VM

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

  1. Di editor pilihan Anda, buat manifes VirtualMachineType, seperti my-vm-type.yaml:

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

    Pada jenis VM ini, tentukan setelan berikut:

    • VM_TYPE_NAME: nama untuk jenis VM Anda.
    • VCPU_NUMBER: jumlah vCPU yang akan ditetapkan ke VM. Anda dapat menetapkan antara 1 dan 96 vCPU ke VM.
    • MEMORY_SIZE: jumlah memori yang akan ditetapkan ke VM. Anda dapat menetapkan memori berukuran antara 1 Mi dan 1 Ti ke VM. Untuk mengetahui informasi selengkapnya, lihat Unit resource memori dalam dokumentasi Kubernetes.
  2. Untuk membuat jenis VM, terapkan manifes ke cluster yang terhubung ke Distributed Cloud menggunakan perintah kubectl apply:

    kubectl apply -f my-vm-type.yaml
    
  3. Untuk memverifikasi bahwa jenis VM telah dibuat, jalankan perintah kubectl get:

    kubectl get virtualmachinetype VM_TYPE_NAME
    

Membuat VM menggunakan jenis VM

Untuk menerapkan setelan CPU dan memori yang ditentukan dalam jenis VM ke VM Anda, tentukan nama jenis VM di bagian compute manifes VirtualMachine.

  1. Di editor pilihan Anda, buat manifes VirtualMachine, seperti my-custom-vm.yaml. Dalam file YAML ini, tentukan nama jenis VM kustom yang Anda buat di bagian sebelumnya, seperti my-vm-type, sebagai nilai untuk virtualMachineTypeName.

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
      namespace: NAMESPACE
    spec:
      compute:
        virtualMachineTypeName: VM_TYPE_NAME
      interfaces:
        - name: eth0
          networkName: L2_NETWORK_NAME
          default: true
      disks:
        - virtualMachineDiskName: VM_BOOT_NAME-boot-dv
          boot: true

    Tentukan setelan berikut:

    • VM_NAME: nama untuk VM Anda.
    • NAMESPACE: namespace target untuk VM Anda.
    • L2_NETWORK_NAME: Nama jaringan L2 yang akan dihubungkan ke VM.
    • VM_TYPE_NAME: nama jenis VM kustom yang Anda buat di bagian sebelumnya, seperti my-vm-type.
    • VM_BOOT_NAME: nama boot disk VM Anda. Boot disk harus sudah ada. Untuk mengetahui informasi selengkapnya, lihat Membuat disk virtual machine dari image virtual machine.

    VM menghubungkan antarmuka eth0 ke jaringan L2 yang ditentukan.

  2. Untuk membuat VM, terapkan manifes ke cluster yang terhubung ke Distributed Cloud menggunakan perintah kubectl apply:

    kubectl apply -f my-custom-vm.yaml
    
  3. Untuk memverifikasi bahwa VM menggunakan jenis VM, jalankan perintah kubectl get dengan opsi -o jsonpath:

    kubectl get vm VM_NAME -n NAMESPACE -o jsonpath='{.spec.compute.virtualMachineTypeName}'
    

    Output yang diharapkan akan menampilkan nama jenis VM Anda.

Langkah berikutnya