Halaman ini menjelaskan cara mengelola virtual machine di server 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.
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.
Mengonfigurasi Penyimpanan Symcloud
Server Google Distributed Cloud yang terhubung menggunakan Rakuten Symcloud Storage, sebagai solusi penyimpanan mereka. Symcloud Storage adalah solusi pihak ketiga yang berfungsi sebagai lapisan abstraksi penyimpanan lokal di setiap node yang terhubung ke Distributed Cloud dan membuat penyimpanan lokalnya tersedia untuk beban kerja yang berjalan di node lain yang terhubung ke Distributed Cloud.
Symcloud Storage di-deploy dari Google Cloud Marketplace dan tunduk pada persyaratan yang dinyatakan di dalamnya. Google memberikan dukungan terbatas untuk penggunaan Symcloud Storage dengan Distributed Cloud yang terhubung dan dapat menghubungi penyedia pihak ketiga untuk mendapatkan bantuan. Update software untuk Symcloud Storage disertakan dalam update software Distributed Cloud yang terhubung.
Konfigurasi cluster Google Distributed Cloud terhubung Anda sebagai berikut untuk mengaktifkan Symcloud Storage untuk virtual machine:
Buat namespace
robiniodengan perintah berikut:kubectl create ns robinio
Dapatkan file lisensi Symcloud Storage dan terapkan ke cluster dengan perintah berikut:
kubectl apply LICENSE_FILE
Pastikan Symcloud Storage sudah aktif dan berjalan dengan perintah berikut:
kubectl apply LICENSE_FILE
Perintah ini akan menampilkan output yang mirip dengan berikut ini:
Name: robin Namespace: Labels: app.kubernetes.io/instance=robin app.kubernetes.io/managed-by=robin.io app.kubernetes.io/name=robin Annotations: <none> API Version: manage.robin.io/v1 Kind: RobinCluster Metadata: … Spec: … Status: … Phase: Ready …Buat class penyimpanan
robin-block-immediatedengan menerapkan konfigurasi berikut ke cluster:apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: robin-block-immediate parameters: faultdomain: host replication: "3" blocksize: "512" provisioner: robin reclaimPolicy: Delete volumeBindingMode: Immediate allowVolumeExpansion: true
Buat class snapshot volume
robin-snapshotclassdengan menerapkan konfigurasi berikut ke cluster:apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: robin-snapshotclass labels: app.kubernetes.io/instance: robin app.kubernetes.io/managed-by: robin.io app.kubernetes.io/name: robin annotations: snapshot.storage.kubernetes.io/is-default-class: "true" driver: robin deletionPolicy: Delete
Mengaktifkan dukungan VM Runtime di GDC pada Distributed Cloud terhubung
Secara default, dukungan VM Runtime di mesin virtual GDC diaktifkan di Distributed Cloud terhubung. Jika Anda perlu mengaktifkannya secara manual, selesaikan langkah-langkah di bagian ini. Petunjuk di bagian ini mengasumsikan bahwa Anda memiliki cluster yang terhubung Distributed Cloud yang berfungsi sepenuhnya. Untuk menonaktifkan dukungan mesin virtual VM Runtime di GDC pada cluster Anda, urungkan perubahan yang dijelaskan di bagian ini.
Untuk mengaktifkan VM Runtime di subsistem virtual machine GDC, selesaikan langkah-langkah berikut:
Ubah resource kustom
VMRuntimedengan konten berikut dan terapkan ke cluster Anda:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: annotations: baremetal.cluster.gke.io/vmrumtime-force-disable: "false" vm.cluster.gke.io/enable-vm-backup: "true" spec: enabled: true storage: defaultStorageClass: robin-block-immediate haPolicy: defaultRecoveryStrategy: Reschedule nodeHeartbeatInterval: 15s nodeMonitorGracePeriod: 55s
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
Perintah ini menampilkan output yang mirip dengan contoh berikut:
NAME AGE ENABLED READY PREFLIGHTCHECK vmruntime 5m true true trueUbah
storageprofileuntuk kelas penyimpananrobin-block-immediatedengan konten berikut dan terapkan ke cluster Anda:apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: robin-block-immediate spec: claimPropertySets: accessModes: ReadWriteMany volumeMode: Block
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.
Membuat bucket Cloud Storage untuk image virtual machine
Selesaikan langkah-langkah di bagian ini untuk membuat bucket Cloud Storage bagi image mesin virtual Anda. Jika Anda sudah memiliki repositori image yang ditetapkan, lewati bagian ini.
Selesaikan langkah-langkah di Membuat bucket untuk membuat bucket.
Konfigurasi akun layanan dan kunci untuk mengakses bucket dengan perintah berikut:
export PROJECT_ID=$(gcloud config get-value project) gcloud iam service-accounts create image-access gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:image-access@${PROJECT_ID}.iam.gserviceaccount.com" \ --role="roles/storage.objectViewer" \ gcloud iam service-accounts keys create ./image-access-gcr.json \ --iam-account="image-access@${PROJECT_ID}.iam.gserviceaccount.com"
Buat secret di cluster untuk mengakses bucket. Jika bucket Anda bersifat publik, lewati langkah ini. Secret ini harus ada di namespace yang sama dengan disk mesin virtual Anda. Anda harus membuat secret di setiap namespace yang terpengaruh.
kubectl create secret generic gcs-image-sa --from-file=creds-gcp.json=./image-access-gcr.json -n NAMESPACE
Ganti
CLUSTER_IDdengan nama namespace target.Simpan gambar Anda di bucket.
Membuat disk virtual machine dari image virtual machine
Selesaikan langkah-langkah di bagian ini untuk membuat disk mesin virtual dari image mesin virtual.
Membuat disk dari image yang disimpan di Cloud Storage
Buat disk virtual machine dari virtual machine yang disimpan di bucket Cloud Storage Anda dengan menerapkan konfigurasi berikut ke cluster Anda:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME namespace: NAMESPACE spec: source: gcs: url: gs://{PROJECT_ID}-vm-images/IMAGE_FILE secretRef: gcs-image-sa size: DISK_SIZE storageClassName: robin-block-immediate
Ganti kode berikut:
DISK_NAME: nama disk virtual machine ini.NAMESPACE: namespace target.IMAGE_FILE: nama file image mesin virtual.DISK_SIZE: ukuran disk yang diinginkan. Nilai ini harus lebih besar dari nilaivirtual-sizefile image virtual machine. Anda dapat menemukan nilai ini dengan perintahqemu-img info DISK_SIZE.
Jika Anda tidak menentukan nilai storageClassName, nilai default yang ditentukan dalam
resource VMRuntime akan digunakan.
Membuat disk dari image disk yang ada
Buat disk mesin virtual dari file image atau disk mesin virtual yang ada di cluster Anda sebagai berikut.
Buat disk target dengan menerapkan konfigurasi berikut ke cluster Anda:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: IMAGE_DISK_NAME namespace: NAMESPACE spec: source: virtualMachineDisk: name: EXISTING_DISK_NAME size: DISK_SIZE storageClassName: robin-block-immediate
Ganti kode berikut:
IMAGE_DISK_NAME: nama disk virtual machine ini.NAMESPACE: namespace target.EXISTING_DISK_NAME: nama disk mesin virtual yang ada.DISK_SIZE: ukuran disk yang diinginkan. Ukuran ini harus sama dengan atau lebih besar dari ukuran file disk atau image yang ada.
Anda dapat memperoleh ukuran file disk atau image yang ada menggunakan alat
qemu-imgsebagai berikut:qemu-img info EXISTING_DISK_NAME
Jika Anda tidak menentukan nilai
storageClassName, nilai default yang ditentukan dalam resourceVMRuntimeakan digunakan.Buat disk baru dari file image yang ada dengan menerapkan konfigurasi berikut ke cluster Anda:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME namespace: NAMESPACE spec: source: virtualMachineDisk: name: IMAGE_DISK_NAME size: DISK_SIZE storageClassName: robin-block-immediate
Ganti kode berikut:
IMAGE_DISK_NAME: nama disk mesin virtual yang Anda buat di langkah sebelumnya.NAMESPACE: namespace target.DISK_SIZE: ukuran disk yang diinginkan. Harus sama dengan ukuran disk virtual machine yang Anda buat di langkah sebelumnya.
Ubah ukuran disk target ke ukuran yang diinginkan menggunakan perintah berikut:
kubectl edit gdisk DISK_NAME -n NAMESPACE
Ganti kode berikut:
DISK_NAME: nama disk mesin virtual yang Anda buat di langkah sebelumnya.NAMESPACE: namespace target.
Ubah nilai
spec.sizedalam konfigurasi disk dan terapkan ke cluster Anda.
Membuat disk kosong
Buat disk virtual machine kosong dengan menerapkan konfigurasi berikut ke cluster Anda:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME namespace: NAMESPACE spec: size: DISK_SIZE storageClassName: robin-block-immediate
Ganti kode berikut:
DISK_NAME: nama disk virtual machine ini.NAMESPACE: namespace target.DISK_SIZE: ukuran disk yang diinginkan dalam gibibyte. Nilai ini harus lebih besar dari nilaivirtual-sizefile image virtual machine. Anda dapat menemukan nilai ini dengan perintahqemu-img info DISK_SIZE.
Jika Anda tidak menentukan nilai storageClassName, nilai default yang ditentukan dalam
resource VMRuntime akan digunakan.
Mengonfigurasi jaringan virtual
Ikuti langkah-langkah di Networking untuk mengonfigurasi jaringan virtual bagi mesin virtual Anda.
Membuat virtual machine
Selesaikan langkah-langkah di bagian ini untuk membuat virtual machine di deployment server yang terhubung ke Distributed Cloud. Petunjuk di bagian ini adalah contoh yang dimaksudkan untuk mengilustrasikan konfigurasi untuk berbagai skenario. Untuk mengetahui informasi mendetail tentang cara mengonfigurasi mesin virtual, lihat Membuat VM dengan resource CPU dan memori tertentu menggunakan VM Runtime di GDC.
Membuat virtual machine menggunakan konsol Google Cloud
Untuk membuat virtual machine menggunakan konsol Google Cloud , lakukan hal berikut:
Di konsol Google Cloud , buka halaman Clusters.
Pilih project Google Cloud target.
(Opsional) Jika Anda belum melakukannya, login ke cluster target:
Di panel navigasi kiri, klik Cluster.
Di daftar Anthos Managed Clusters, klik target cluster.
Di panel informasi di sisi kanan, klik LOGIN.
Pada dialog pop-up yang muncul, pilih metode autentikasi pilihan Anda, masukkan kredensial Anda, lalu klik LOGIN.
Buka halaman Virtual Machines.
Klik BUAT.
Di bagian Dasar-Dasar, lakukan hal berikut:
Di kolom Name, masukkan nama yang bermakna untuk mesin virtual.
Di kolom Select cluster, pilih cluster target untuk mesin virtual.
Di kolom Namespace, pilih namespace target.
Di kolom OS Type, pilih sistem operasi target.
(Opsional) Jika Anda ingin menambahkan satu atau beberapa label ke konfigurasi virtual machine ini, klik TAMBAHKAN LABEL.
Di bagian Machine Configuration, lakukan salah satu hal berikut:
Jika Anda ingin menentukan jumlah vCPU dan jumlah memori untuk virtual machine ini, pilih Konfigurasi Kustom dan masukkan nilai target, lalu klik BERIKUTNYA.
Jika Anda ingin menggunakan sejumlah vCPU dan jumlah memori yang telah ditentukan untuk mesin virtual ini, pilih Konfigurasi Standar dan pilih konfigurasi mesin dari daftar drop-down Jenis Mesin, lalu klik BERIKUTNYA.
Di bagian Storage, lakukan salah satu hal berikut:
Jika Anda ingin membuat disk virtual baru untuk mesin virtual ini, pilih Tambahkan disk baru, lalu masukkan nama yang bermakna di kolom Nama, ukuran dalam gigabyte di kolom GiB, dan URL di kolom Image.
Jika Anda ingin menggunakan disk virtual yang ada untuk mesin virtual ini, pilih Pilih disk yang ada, lalu pilih image disk target dari menu drop-down Pilih disk.
Tentukan apakah Anda ingin disk bersifat hanya baca dan apakah disk akan otomatis dihapus saat mesin virtual ini dihapus menggunakan kotak centang Hanya baca dan Hapus otomatis.
Tentukan driver disk virtual di menu drop-down Driver.
Untuk menambahkan disk lain ke mesin virtual ini, klik TAMBAHKAN DISK di bagian Disk tambahan.
Klik NEXT.
Di bagian Network, lakukan hal berikut:
Di subbagian Default network interface, tentukan nama antarmuka jaringan utama untuk mesin virtual ini di kolom Interface name.
Pilih jenis jaringan yang sesuai dari daftar drop-down Network type.
Tentukan apakah akan mengizinkan akses eksternal ke antarmuka jaringan ini menggunakan kotak centang Izinkan akses eksternal. Jika mengaktifkan opsi ini, Anda harus memasukkan daftar port yang dipisahkan koma untuk diekspos secara eksternal di kolom Exposed ports.
Jika Anda ingin menambahkan satu atau beberapa antarmuka jaringan sekunder ke mesin virtual ini, klik TAMBAHKAN ANTARMUKA JARINGAN.
Klik NEXT.
Di bagian Advanced options, gunakan kotak Auto-restart on update untuk menentukan apakah akan memulai ulang mesin virtual ini setelah software yang terhubung ke Distributed Cloud di cluster target diupdate.
Di bagian Firmware, lakukan hal berikut:
Pilih jenis firmware target di kolom Bootloader type. Jika memilih firmware UEFI, Anda memiliki opsi untuk mengaktifkan booting aman menggunakan kotak centang Booting aman.
Tentukan nomor seri untuk virtual machine ini di kolom Serial.
Tentukan ID Unik Universal (UUID) untuk virtual machine ini di kolom UUID.
Di bagian Cloud-init, lakukan hal berikut:
Tentukan nilai rahasia data jaringan di kolom Rahasia data jaringan.
Tentukan nilai rahasia data pengguna di kolom Rahasia data pengguna.
Klik CREATE VM untuk membuat virtual machine.
Membuat virtual machine dari file YAML
Untuk membuat virtual machine dari file konfigurasi YAML, lakukan langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Clusters.
Pilih project Google Cloud target.
(Opsional) Jika Anda belum melakukannya, login ke cluster target:
Di panel navigasi kiri, klik Cluster.
Di daftar Anthos Managed Clusters, klik target cluster.
Di panel informasi di sisi kanan, klik LOGIN.
Pada dialog pop-up yang muncul, pilih metode autentikasi pilihan Anda, masukkan kredensial Anda, lalu klik LOGIN.
Buka halaman Virtual Machines.
Klik BUAT DENGAN YAML.
Di kolom Select cluster, pilih cluster target untuk mesin virtual.
Tempelkan konfigurasi mesin virtual dalam format YAML ke kolom YAML.
Klik BUAT.
Membuat virtual machine dari image disk yang dapat di-boot
Untuk membuat mesin virtual dari disk image yang dapat di-boot, terapkan konfigurasi berikut ke cluster Anda:
kind: VirtualMachine metadata: name: my-virtual-machine namespace: my-vm-namespace spec: osType: Linux/Windows guestEnvironment: {} // comment out this line to enable guest environment for access management autoRestartOnConfigurationChange: true compute: cpu: vcpus: 6 memory: capacity: 8Gi interfaces: - name: eth0 networkName: network-410 ipAddresses: - 10.223.237.10/25 disks: - virtualMachineDiskName: my-boot-disk boot: true - virtualMachineDiskName: my-data-disk
Ganti kode berikut:
DISK_NAME: nama disk virtual machine ini.NAMESPACE: namespace target.
Membuat mesin virtual dari image disk optik ISO
Untuk membuat mesin virtual dari image disk optik ISO, selesaikan langkah-langkah di bagian Membuat VM Windows dari image ISO di Google Distributed Cloud.
Membuat mesin virtual dengan dukungan GPU
Selesaikan langkah-langkah yang dijelaskan di halaman ini untuk membuat virtual machine yang dikonfigurasi agar memenuhi persyaratan bisnis Anda, lalu selesaikan langkah-langkah di Mengonfigurasi virtual machine untuk menggunakan resource GPU.
Mengakses virtual machine
Selesaikan langkah-langkah di bagian ini untuk mengakses virtual machine yang berjalan di deployment server yang terhubung ke Distributed Cloud Anda.
Mendapatkan kredensial akses
Selesaikan langkah-langkah di bagian ini untuk mendapatkan kredensial yang diperlukan guna mengakses virtual machine menggunakan fitur lingkungan tamu Linux.
Aktifkan lingkungan tamu Linux untuk mesin virtual target dengan menerapkan konfigurasi berikut ke cluster Anda:
kind: VirtualMachine metadata: name: my-virtual-machine namespace: my-vm-namespace spec: osType: Linux guestEnvironment: {} autoRestartOnConfigurationChange: true
Buat file
id_rsa.pubyang berisi pasangan kunci SSH dengan perintah berikut:ssh-keygen -t rsaBuat resource
VirtualMachineAccessRequestdengan menerapkan konfigurasi berikut ke cluster Anda:apiVersion: vm.cluster.gke.io/v1alpha1 kind: VirtualMachineAccessRequest metadata: name: RESOURCE_NAME namespace: NAMESPACE spec: vm: VM_NAME user: USER_NAME ssh: key: RSA_KEY ttl: 2h
Ganti kode berikut:
RESOURCE_NAME: nama deskriptif untuk resource permintaan akses mesin virtual ini.NAMESPACE: namespace target.VM_NAME: nama virtual machine target.USER_NAME: nama pengguna yang diberi akses.RSA_KEY: konten fileid_rsa.pubyang Anda buat pada langkah sebelumnya.
Periksa status permintaan akses dengan perintah berikut:
kubectl get vmar
Saat perintah menampilkan status
Configured, lanjutkan ke langkah berikutnya.Akses virtual machine dengan SSH atau Desktop Jarak Jauh:
- Jika mesin virtual terhubung ke jaringan lokal, Anda dapat mengaksesnya secara langsung.
- Jika mesin virtual terhubung ke jaringan Pod, Anda harus membuat layanan load balancer untuk mengakses port yang diperlukan.
Memulai, memulai ulang, atau menghentikan virtual machine
Gunakan perintah berikut untuk memulai, memulai ulang, atau menghentikan virtual machine:
- Mulai virtual machine:
kubectl virt start vmVM_NAME-nNAMESPACE - Mulai ulang virtual machine:
kubectl virt restart vmVM_NAME-nNAMESPACE - Menghentikan virtual machine:
kubectl virt stop vmVM_NAME-nNAMESPACE
Ganti kode berikut:
VM_NAME: nama virtual machine target.NAMESPACE: namespace target.
Memulai atau menghentikan virtual machine menggunakan konsol Google Cloud
Di konsol Google Cloud , buka halaman Clusters.
Pilih project Google Cloud target.
(Opsional) Jika Anda belum melakukannya, login ke cluster target:
Di panel navigasi kiri, klik Cluster.
Di daftar Anthos Managed Clusters, klik target cluster.
Di panel informasi di sisi kanan, klik LOGIN.
Pada dialog yang muncul, pilih metode autentikasi pilihan Anda, masukkan kredensial Anda, lalu klik LOGIN.
Buka halaman Virtual Machines.
Dalam daftar mesin virtual, centang kotak untuk mesin virtual target.
Di bagian atas halaman, klik MULAI atau HENTIKAN sesuai kebutuhan.
Melihat status virtual machine menggunakan konsol Google Cloud
Di konsol Google Cloud , buka halaman Clusters.
Pilih project Google Cloud target.
(Opsional) Jika Anda belum melakukannya, login ke cluster target:
Di panel navigasi kiri, klik Cluster.
Di daftar Anthos Managed Clusters, klik target cluster.
Di panel informasi di sisi kanan, klik LOGIN.
Pada dialog pop-up yang muncul, pilih metode autentikasi pilihan Anda, masukkan kredensial Anda, lalu klik LOGIN.
Buka halaman Virtual Machines.
Klik virtual machine target.
Di halaman yang muncul, klik tab Details, Events, dan YAML untuk melihat informasi yang sesuai tentang mesin virtual ini.
Mengubah mesin virtual
Untuk mengubah virtual machine, Anda harus menghapusnya dan membuatnya ulang dengan konfigurasi yang telah diupdate.
Menghapus virtual machine menggunakan konsol Google Cloud
Di konsol Google Cloud , buka halaman Clusters.
Pilih project Google Cloud target.
(Opsional) Jika Anda belum melakukannya, login ke cluster target:
Di panel navigasi kiri, klik Cluster.
Di daftar Anthos Managed Clusters, klik target cluster.
Di panel informasi di sisi kanan, klik LOGIN.
Pada dialog yang muncul, pilih metode autentikasi pilihan Anda, masukkan kredensial Anda, lalu klik LOGIN.
buka halaman Virtual Machines.
Dalam daftar virtual machine, centang kotak untuk virtual machine target.
Di bagian atas halaman, klik HAPUS.
Pada dialog konfirmasi yang muncul, masukkan nama mesin virtual, lalu klik DELETE.
Langkah berikutnya
- Mengelola virtual machine di rak yang terhubung ke Distributed Cloud
- Men-deploy workload di Distributed Cloud terhubung
- Mengelola workload GPU
- Mengelola zona
- Mengelola komputer
- Mengelola cluster
- Mengelola node pool