Panduan memulai: Membuat VM di cluster Google Distributed Cloud

Panduan memulai ini menunjukkan cara menggunakan Runtime VM di GDC untuk membuat virtual machine (VM) di Google Distributed Cloud. Menggunakan Runtime VM di GDC KubeVirt untuk mengorkestrasi VM di cluster, dan memungkinkan Anda bekerja dengan aplikasi berbasis VM workload di lingkungan pengembangan yang seragam.

Sebelum memulai

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

Mengaktifkan Runtime VM di GDC

Runtime VM di GDC diinstal otomatis di Google Distributed Cloud versi 1.10 atau yang lebih tinggi, tetapi dinonaktifkan secara default. Sebelum Anda dapat menjalankan VM resource di Google Distributed Cloud, Anda harus mengaktifkan Runtime VM di GDC.

Bmctl

Google Distributed Cloud versi 1.11 atau yang lebih baru dapat menggunakan alat command line bmctl:

  • Untuk mengaktifkan runtime, gunakan alat bmctl:

    bmctl enable vmruntime --kubeconfig KUBECONFIG_PATH
    

    Berikan jalur ke file kubeconfig untuk cluster Anda. Google Distributed Cloud membuat file kubeconfig di admin saat membuat cluster. Secara {i>default<i}, jalurnya adalah bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig.

    Jika Runtime VM di GDC sudah diaktifkan, perintah akan menampilkan sebuah {i>error<i}.

Resource kustom

Google Distributed Cloud versi 1.10 atau yang lebih baru dapat menggunakan definisi resource kustom untuk mengaktifkan Runtime VM di GDC. Resource kustom ini diinstal oleh secara default.

  1. Edit resource kustom VMRuntime:

    kubectl edit vmruntime
    
  2. Tetapkan enabled:true dalam spesifikasi:

    apiVersion: vm.cluster.gke.io/v1
    kind: VMRuntime
    metadata:
      name: vmruntime
    spec:
      enabled: true
      # useEmulation defaults to "false" if not set.
      useEmulation: true
      # vmImageFormat defaults to "qcow2" if not set.
      vmImageFormat: qcow2
    

    Di bagian spec sebelumnya, nilai berikut dapat ditetapkan:

    • enabled: disetel ke true (benar) untuk mengaktifkan Runtime VM di GDC
    • useEmulation: Jika node Anda tidak mendukung virtualisasi hardware, atau Anda tidak yakin, tetapkan nilainya ke true. Jika tersedia, hardware virtualisasi memberikan kinerja yang lebih baik daripada emulasi perangkat lunak. Tujuan Jika tidak ditentukan, kolom useEmulation akan ditetapkan secara default ke false.
    • vmImageFormat: Mendukung dua nilai format disk image: raw dan qcow2. Jika Anda tidak menetapkan vmImageFormat, VM Runtime di GDC menggunakan format disk image raw untuk membuat atau VM. Format raw dapat memberikan performa yang lebih baik selama qcow2, menyalin dalam format tulis, tetapi mungkin menggunakan lebih banyak {i>disk<i}. Untuk mengetahui informasi selengkapnya tentang format image untuk VM Anda. Format file gambar disk dalam dokumentasi QEMU.
  3. Simpan resource kustom di editor Anda.

  4. Pastikan resource kustom VMRuntime telah diaktifkan:

    kubectl describe vmruntime vmruntime
    

    Detail resource kustom VMRuntime mencakup bagian Status. Runtime VM di GDC diaktifkan dan berfungsi saat VMRuntime.Status.Ready ditampilkan sebagai true.

Menginstal alat klien virtctl

Untuk membuat dan mengelola VM, instal alat klien virtctl.

  1. Instal alat klien virtctl sebagai plugin kubectl:

    export GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_SERVICE_ACCOUNT_KEY/bm-gcr.json"
    sudo -E bmctl install virtctl
    

    Kredensial ini memungkinkan Anda mengautentikasi dan mendownload alat klien virtctl, kemudian instal ke /usr/bin/kubectl-virt di komputer lokal Anda.

  2. Pastikan plugin virtctl sudah diinstal:

    kubectl plugin list
    

    Jika kubectl-virt tercantum dalam respons, artinya plugin berhasil terinstal.

    Jika kubectl-virt tidak tercantum, periksa file install-virtctl.log seperti yang disebutkan dalam output perintah bmctl install sebelumnya, seperti bmctl-workspace/log/install-virtctl-[date]/install-virtctl.log.

Membuat VM

Dalam panduan memulai ini, Anda akan menggunakan CLI kubectl untuk membuat VM yang menggunakan Image VM dan kredensial default.

  1. Buat VM di cluster Anda. Plugin virtctl digunakan dengan Perintah kubectl:

    kubectl virt create vm VM_NAME \
        --image ubuntu20.04 \
        --configure-initial-password USERNAME:PASSWORD
    

    Perintah ini akan membuat VM Ubuntu 20.04 dan setelan default 2 CPU, 4Gi memori, dan boot disk 20Gi dalam mode ReadWriteOnce menggunakan local-shared. Ganti nilai berikut:

    • VM_NAME: nama untuk VM Anda. Nama VM hanya boleh berisi karakter alfanumerik huruf kecil atau '-', awalan dan akhir dengan karakter alfanumerik, dan berisi paling banyak 63 karakter. Sebagai informasi selengkapnya, lihat Nama Label RFC 1123 dalam dokumentasi Kubernetes.
    • USERNAME: nama pengguna untuk akun yang akan dibuat di Pesan Suara.
    • PASSWORD: sandi untuk akun pengguna.

    Jika menerima error tentang parameter CLI, pastikan cluster Anda berada di versi 1.11.1 atau yang lebih baru dan Anda memiliki versi terbaru Alat klien virtctl. Untuk informasi lebih lanjut tentang error CLI, lihat log konsol. Untuk aturan nama pengguna dan sandi, lihat dokumentasi untuk sistem operasi (OS) tamu. Jika sesuatu tidak bekerja seperti yang diharapkan, periksa Masalah umum Runtime VM di GDC.

  2. Pembuatan VM memerlukan waktu beberapa menit. Periksa status VM dengan perintah kubectl:

    kubectl get gvm
    

    Contoh output berikut menunjukkan VM dalam status Running:

    NAME         STATUS    AGE   IP
    vm-sample1   Running   64s   192.168.2.124
    

Hubungkan ke VM Anda

Ketika VM Anda berjalan, hubungkan ke konsol VM.

  1. Untuk mengakses VM dari konsol, gunakan kubectl:

    kubectl virt console VM_NAME
    
  2. Saat diminta, masukkan kredensial pengguna yang Anda tentukan untuk membuat VM.

  3. Setelah Anda berhasil terhubung ke konsol VM, keluar dari VM sesi dan konsol:

    Ctrl + ]
    

Pembersihan

Untuk membersihkan resource yang dibuat dalam panduan memulai ini, ikuti langkah-langkah berikut.

  1. Untuk menghapus VM dan DataVolume terkait, gunakan kubectl:

    kubectl virt delete vm VM_NAME --all
    

Langkah selanjutnya