Panduan memulai ini menunjukkan cara menggunakan VM Runtime di GDC untuk membuat virtual machine (VM) di GKE pada Bare Metal. VM Runtime di GDC menggunakan KubeVirt untuk mengorkestrasi VM pada cluster, dan memungkinkan Anda bekerja dengan aplikasi dan beban kerja berbasis VM dalam lingkungan pengembangan yang seragam.
Sebelum memulai
Untuk menyelesaikan panduan memulai ini, Anda memerlukan akses ke GKE di Bare Metal versi
1.12 (anthosBareMetalVersion: 1.12
) 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.
Mengaktifkan Runtime VM di GDC
VM Runtime di GDC otomatis diinstal di GKE pada Bare Metal versi 1.10 atau yang lebih tinggi, tetapi dinonaktifkan secara default. Sebelum dapat menjalankan resource VM di GKE pada Bare Metal, Anda harus mengaktifkan VM Runtime di GDC.
Bmctl
GKE pada Bare Metal 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. GKE di Bare Metal menghasilkan file kubeconfig di workstation admin saat Anda membuat cluster. Secara default, jalurnya adalah
bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig
.Jika Runtime VM di GDC sudah diaktifkan, perintah akan menampilkan error.
Resource kustom
GKE pada Bare Metal versi 1.10 atau yang lebih tinggi dapat menggunakan definisi resource kustom untuk mengaktifkan Runtime VM di GDC. Resource kustom ini diinstal secara default.
Edit resource kustom
VMRuntime
:kubectl edit vmruntime
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 benar (true) untuk mengaktifkan Runtime VM di GDCuseEmulation
: Jika node Anda tidak mendukung virtualisasi hardware, atau Anda tidak yakin, tetapkan nilai ke true. Jika tersedia, virtualisasi hardware memberikan performa yang lebih baik daripada emulasi software. KolomuseEmulation
akan ditetapkan secara default kefalse
, jika tidak ditentukan.vmImageFormat
: Mendukung dua nilai format disk image:raw
danqcow2
. Jika Anda tidak menyetelvmImageFormat
, VM Runtime di GDC akan menggunakan format disk imageraw
untuk membuat VM. Formatraw
dapat memberikan performa yang lebih baik dibandingkanqcow2
, salinan dalam format tulis, tetapi mungkin menggunakan lebih banyak disk. Untuk mengetahui informasi selengkapnya tentang format image untuk VM, lihat Format file image disk dalam dokumentasi QEMU.
Simpan resource kustom tersebut di editor Anda.
Pastikan resource kustom
VMRuntime
diaktifkan:kubectl describe vmruntime vmruntime
Detail resource kustom
VMRuntime
menyertakan bagianStatus
. Runtime VM di GDC diaktifkan dan berfungsi saatVMRuntime.Status.Ready
ditampilkan sebagaitrue
.
Instal alat klien virtctl
Untuk membuat dan mengelola VM, instal alat klien virtctl.
Instal alat klien
virtctl
sebagai pluginkubectl
: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
, lalu menginstalnya ke/usr/bin/kubectl-virt
di komputer lokal Anda.Pastikan plugin
virtctl
sudah diinstal:kubectl plugin list
Jika
kubectl-virt
tercantum dalam respons, berarti plugin berhasil diinstal.Jika
kubectl-virt
tidak tercantum, periksa fileinstall-virtctl.log
seperti yang disebutkan dalam output perintahbmctl install
sebelumnya, sepertibmctl-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 publik dan kredensial default.
Buat VM di cluster Anda. Plugin
virtctl
digunakan dengan perintahkubectl
:kubectl virt create vm VM_NAME \ --image ubuntu20.04 \ --configure-initial-password USERNAME:PASSWORD
Perintah ini menghasilkan VM Ubuntu 20.04 dan setelan default berupa CPU 2, memori 4Gi, dan boot disk 20Gi dalam mode ReadWriteOnce menggunakan kelas penyimpanan local-shared. Ganti nilai berikut:
VM_NAME
: nama untuk VM Anda. Nama VM hanya boleh berisi karakter alfanumerik huruf kecil atau '-', diawali dan diakhiri dengan karakter alfanumerik, serta berisi maksimal 63 karakter. Untuk mengetahui informasi selengkapnya, lihat Nama Label RFC 1123 dalam dokumentasi Kubernetes.USERNAME
: nama pengguna untuk akun yang akan dibuat di VM.PASSWORD
: sandi untuk akun pengguna.
Jika Anda menerima error terkait parameter CLI, pastikan cluster menggunakan versi
1.11.1
atau yang lebih tinggi dan Anda memiliki alat klienvirtctl
versi terbaru. Untuk mengetahui informasi selengkapnya tentang error CLI, lihat log konsol. Untuk mengetahui aturan nama pengguna dan sandi, lihat dokumentasi untuk sistem operasi (OS) tamu. Jika ada yang tidak berfungsi seperti yang diharapkan, periksa masalah umum VM Runtime di GDC.Pembuatan VM ini memerlukan waktu beberapa menit. Periksa status VM dengan perintah
kubectl
:kubectl get gvm
Contoh output berikut menampilkan VM dalam status
Running
:NAME STATUS AGE IP vm-sample1 Running 64s 192.168.2.124
Menghubungkan ke VM Anda
Saat VM Anda berjalan, hubungkan ke konsol VM.
Untuk mengakses VM dari konsol, gunakan
kubectl
:kubectl virt console VM_NAME
Saat diminta, masukkan kredensial pengguna yang Anda tentukan untuk membuat VM.
Setelah Anda berhasil terhubung ke konsol VM, keluar dari sesi dan konsol VM:
Ctrl + ]
Pembersihan
Untuk mengelola resource yang dibuat dalam panduan memulai ini, ikuti langkah-langkah berikut.
Untuk menghapus VM dan DataVolume terkait, gunakan
kubectl
:kubectl virt delete vm VM_NAME --all
Langkah selanjutnya
- Mengelola status daya VM di GKE pada Bare Metal.
- Mengedit VM di GKE di Bare Metal.
- Lihat log konsol VM di GKE pada Bare Metal.