Halaman ini menjelaskan cara mengelola virtual machine di rak yang terhubung ke Google Distributed Cloud yang menjalankan VM Runtime di Google Distributed Cloud. Anda harus memahami VM Runtime di GDC sebelum menyelesaikan langkah-langkah di halaman ini. Untuk mengetahui daftar sistem operasi tamu yang didukung, lihat Sistem operasi tamu yang terverifikasi untuk VM Runtime di GDC.
Beban kerja virtual machine didukung di hardware rack lama ("Config 1" dan "Config 2"), tetapi tidak didukung di konfigurasi hardware rack pengganti.
Untuk mempelajari cara virtual machine berfungsi sebagai komponen penting platform Distributed Cloud terhubung, lihat Memperluas GKE Enterprise untuk mengelola VM edge lokal.
Cluster Distributed Cloud yang terhubung mendukung webhook mesin virtual. Hal ini memungkinkan Distributed Cloud terhubung untuk memvalidasi permintaan pengguna yang dibuat ke server Kubernetes API lokal. Permintaan yang ditolak menghasilkan informasi mendetail tentang alasan penolakan.
Mengupgrade mesin virtual yang ada ke Distributed Cloud terhubung versi 1.7.0
Anda harus menambahkan hal berikut ke bagian spec resource VMRuntime di cluster Anda, lalu menerapkan resource yang diubah ke cluster sebelum mengupgrade cluster ke software yang terhubung dengan Distributed Cloud versi 1.7.0:
spec: haPolicy: defaultRecoveryStrategy: Reschedule nodeHeartbeatInterval: 15s nodeMonitorGracePeriod: 55s
Mengaktifkan dukungan VM Runtime di GDC pada Distributed Cloud terhubung
Secara default, dukungan Runtime VM di virtual machine GDC dinonaktifkan di Distributed Cloud yang terhubung. Untuk mengaktifkannya, selesaikan langkah-langkah di bagian ini. Petunjuk di bagian ini mengasumsikan bahwa Anda memiliki cluster yang terhubung Distributed Cloud yang berfungsi sepenuhnya.
Ubah resource kustom
VMRuntimedengan konten berikut dan terapkan ke cluster Anda:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: # Enable Anthos VM Runtime support enabled: true # vmImageFormat defaults to "raw" if not set vmImageFormat: "raw" # Set node grace period to 55 seconds; required for upgrading to 1.7.0 haPolicy: defaultRecoveryStrategy: Reschedule nodeHeartbeatInterval: 15s nodeMonitorGracePeriod: 55s
Jangan ubah nilai parameter
vmImageFormat. Distributed Cloud Connected tidak mendukung format disk virtual lainnya.Proses ini biasanya membutuhkan waktu beberapa menit hingga selesai.
Jangan ubah nilai parameter
vmImageFormat. Distributed Cloud Connected tidak mendukung format disk virtual lainnya.Proses ini biasanya membutuhkan waktu beberapa menit hingga selesai.
Gunakan perintah berikut untuk memverifikasi bahwa resource kustom
VMRuntimetelah diterapkan ke cluster Anda:kubectl get vmruntime -o yaml
Perintah ini menampilkan output yang mirip dengan contoh berikut:
- apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime ... spec: enabled: true vmImageFormat: raw status: ... ready: true ...Gunakan perintah berikut untuk memverifikasi bahwa dukungan mesin virtual VM Runtime di GDC telah diaktifkan di cluster Anda:
kubectl get pods -n vm-system
Perintah ini menampilkan output yang menunjukkan Pod subsistem VM Runtime di GDC yang berjalan di cluster Anda, mirip dengan contoh berikut:
NAME READY STATUS RESTARTS AGE cdi-apiserver-6c76c6cf7b-n68wn 1/1 Running 0 132m cdi-deployment-f78fd599-vj7tv 1/1 Running 0 132m cdi-operator-65c4df9647-fcb9d 1/1 Running 0 134m cdi-uploadproxy-7765ffb694-6j7bf 1/1 Running 0 132m macvtap-fjfjr 1/1 Running 0 134m virt-api-77dd99dbbb-bs2fb 1/1 Running 0 132m virt-api-77dd99dbbb-pqc27 1/1 Running 0 132m virt-controller-5b44dbbbd7-hc222 1/1 Running 0 132m virt-controller-5b44dbbbd7-p8xkk 1/1 Running 0 132m virt-handler-n76fs 1/1 Running 0 132m virt-operator-86565697d9-fpxqh 2/2 Running 0 134m virt-operator-86565697d9-jnbt7 2/2 Running 0 134m vm-controller-controller-manager-7844d5fb7b-72d8m 2/2 Running 0 134m vmruntime-controller-manager-845649c847-m78r9 2/2 Running 0 175m
Instal alat pengelolaan virtctl
Anda memerlukan alat klien virtctl untuk mengelola virtual machine di cluster Distributed Cloud yang terhubung. Untuk menginstal alat, selesaikan langkah-langkah berikut:
Instal alat klien
virtctlsebagai pluginkubectl:export VERSION=v0.59.0-anthos1.28-gke.8 gcloud storage cp gs://anthos-baremetal-release/virtctl/${VERSION}/linux-amd64/virtctl/usr/local/bin/virtctl cd /usr/local/bin sudo ln -s virtctl kubectl-virt sudo chmod a+x virtctl cd -
Pastikan plugin
virttelah diinstal:kubectl plugin list
Jika plugin berhasil diinstal, output perintah akan mencantumkan
kubectl-virtsebagai salah satu plugin.
Menyediakan virtual machine di Distributed Cloud terhubung
Bagian ini memberikan contoh konfigurasi yang menggambarkan cara menyediakan mesin virtual Linux dan mesin virtual Windows di cluster yang terhubung Distributed Cloud dengan lapisan abstraksi Symcloud Storage.
Perhatikan bahwa Anda tidak dapat membuat virtual machine di cluster yang terhubung ke Distributed Cloud secara langsung
dengan menggunakan perintah kubectl virt karena Distributed Cloud yang terhubung tidak menyediakan
penyimpanan sistem file untuk virtual machine.
Sebelum menyelesaikan langkah-langkah di bagian ini, Anda harus menyelesaikan langkah-langkah di bagian Mengonfigurasi Distributed Cloud yang terhubung untuk Symcloud Storage terlebih dahulu. Jika Anda menonaktifkan Symcloud Storage di cluster nanti, virtual machine yang dikonfigurasi untuk menggunakan Symcloud Storage akan gagal.
Menyediakan mesin virtual Linux di Distributed Cloud terhubung
Contoh berikut mengilustrasikan cara menyediakan virtual machine Linux dengan Symcloud Storage yang menjalankan Ubuntu Server 22.04. Sumber penginstalan adalah image disk ISO Ubuntu Server 22.04.
Buat resource
VirtualMachineDiskdengan konten berikut untuk image disk penginstalan Ubuntu Server, lalu terapkan ke cluster Anda:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: ubuntu-iso-disk spec: size: 20Gi storageClassName: robin diskType: cdrom source: http: url: https://releases.ubuntu.com/jammy/ubuntu-22.04.3-live-server-amd64.iso
Buat resource
VirtualMachineDiskdengan konten berikut untuk hard disk virtual mesin virtual, lalu terapkan ke cluster Anda:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-main-disk" spec: size: 200Gi storageClassName: robin
Buat resource
VirtualMachineTypedengan konten berikut yang menentukan konfigurasi virtual machine, lalu terapkan ke cluster Anda:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Buat resource
VirtualMachinedengan konten berikut yang meng-instansiasi dan memulai mesin virtual di cluster, lalu terapkan ke cluster Anda:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: ubu-vm name: ubu-vm # Propagate the virtual machine name to the VMI spec: osType: Linux compute: virtualMachineTypeName: small-2-20 interfaces: - name: eth0 networkName: my-network default: true disks: - virtualMachineDiskName: ubuntu-main-disk boot: true - virtualMachineDiskName: ubuntu-iso-disk
Anda juga harus mengonfigurasi fitur berikut di cluster:
Instal Ubuntu Server di virtual machine:
- Tunggu hingga Pod
importermendownload image disk penginstalan Ubuntu Server. Periksa status mesin virtual:
kubectl get gvm VM_NAME
Ganti
VM_NAMEdengan nama virtual machine—ubu-vmdalam contoh ini.Login ke virtual machine menggunakan SSH atau Remote Desktop.
Selesaikan langkah-langkah penginstalan Ubuntu Linux.
- Tunggu hingga Pod
Pembersihan:
Hentikan mesin virtual:
kubectl virt stop VM_NAME
Ganti
VM_NAMEdengan nama virtual machine—ubu-vmdalam contoh ini.Edit file YAML mesin virtual untuk menghapus referensi ke image disk penginstalan:
kubectl edit gvm VM_NAME
Ganti
VM_NAMEdengan nama virtual machine—ubu-vmdalam contoh ini.Mulai virtual machine:
kubectl virt start VM_NAME
Ganti
VM_NAMEdengan nama virtual machine—ubu-vmdalam contoh ini.Hapus resource
VirtualMachineDiskuntuk image disk penginstalan:kubectl delete virtualmachinedisk ubuntu-iso-disk
Menyediakan mesin virtual Windows di Distributed Cloud terhubung
Contoh berikut mengilustrasikan cara menyediakan mesin virtual Windows dengan
Symcloud Storage. Langkah-langkahnya serupa dengan penyediaan virtual machine Linux, dengan penambahan image disk driver virtio, yang diperlukan untuk menginstal Windows.
Dapatkan salinan Windows berlisensi dan image media penginstalannya.
Buat resource
VirtualMachineDiskdengan konten berikut untuk image disk penginstalan Windows, lalu terapkan ke cluster Anda:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-iso-disk namespace: default spec: size: 5Gi storageClassName: robin diskType: cdrom source: http: url: WINDOWS_ISO_URL
Ganti
NAT_GATEWAYdengan URL lengkap ke image disk ISO penginstalan Windows target.Buat resource
VirtualMachineDiskdengan konten berikut untuk drivervirtio, lalu terapkan ke cluster Anda:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-virtio-driver namespace: default spec: size: 1Gi storageClassName: robin diskType: cdrom source: http: url: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
Buat resource
VirtualMachineDiskdengan konten berikut untuk hard disk virtual mesin virtual, lalu terapkan ke cluster Anda:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-main-disk namespace: default spec: size: 15Gi storageClassName: robin
Buat resource
VirtualMachineTypedengan konten berikut yang menentukan konfigurasi virtual machine, lalu terapkan ke cluster Anda:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Buat resource
VirtualMachinedengan konten berikut yang meng-instansiasi dan memulai virtual machine di cluster, lalu terapkan ke cluster Anda:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: win-vm name: win-vm # Propagate the virtual machine name to the VMI spec: osType: Windows compute: virtualMachineTypeName: my-vmt interfaces: - name: eth0 networkName: my-network default: true disks: - virtualMachineDiskName: windows-main-disk boot: true - virtualMachineDiskName: windows-iso-disk - virtualMachineDiskName: win-virtio-driver
Anda juga harus mengonfigurasi fitur berikut di cluster:
Instal Windows di virtual machine:
- Tunggu hingga Pod
importermendownload image disk penginstalan Windows. Periksa status mesin virtual:
kubectl get gvm VM_NAME
Ganti
VM_NAMEdengan nama virtual machine—win-vmdalam contoh ini.Selesaikan penginstalan Windows dengan mengikuti langkah-langkah di Menghubungkan ke VM Windows dan menyelesaikan penginstalan OS.
- Tunggu hingga Pod
Pembersihan:
Hentikan mesin virtual:
kubectl virt stop VM_NAME
Ganti
VM_NAMEdengan nama virtual machine—win-vmdalam contoh ini.Selesaikan langkah-langkah di Lepaskan disk driver dan image ISO.
Mengelola virtual machine yang berjalan di Distributed Cloud terhubung
Untuk mengetahui petunjuk tentang cara mengelola mesin virtual yang berjalan di Distributed Cloud terhubung, lihat dokumentasi VM Runtime di GDC berikut:
- Terhubung ke VM
- Mencantumkan dan melihat VM
- Mengelola status daya
- Mengedit VM
- Menghapus VM
- Melihat log konsol VM
Untuk mengelola virtual machine yang berjalan di Distributed Cloud terhubung, Anda harus
Mengonfigurasi konektivitas kubectl terlebih dahulu.
Menonaktifkan VM Runtime di GDC di Distributed Cloud terhubung
Ikuti langkah-langkah di bagian ini untuk menonaktifkan VM Runtime di GDC on Distributed Cloud connected. Sebelum dapat menonaktifkan VM Runtime di GDC on Distributed Cloud connected, Anda harus menghentikan dan menghapus semua mesin virtual di cluster Distributed Cloud connected seperti yang dijelaskan dalam Menghapus VM.
Untuk menonaktifkan VM Runtime di GDC yang terhubung ke Distributed Cloud, ubah resource kustom VMRuntime dengan menyetel parameter spesifikasi enabled ke false seperti berikut, lalu terapkan ke cluster Anda:
apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: # Disable Anthos VM Runtime enabled: false # vmImageFormat defaults to "raw" if not set vmImageFormat: "raw"
Langkah berikutnya
- Mengelola virtual machine di server yang terhubung ke Distributed Cloud
- Men-deploy workload di Distributed Cloud terhubung
- Mengelola workload GPU
- Mengelola zona
- Mengelola komputer
- Mengelola cluster
- Mengelola node pool