Dokumen ini ditujukan bagi pemilik aplikasi yang menggunakan VM Runtime di GDC untuk menjalankan virtual machine (VM) di Google Distributed Cloud. Dokumen ini menunjukkan cara mengedit VM yang berjalan di cluster Google Distributed Cloud. Misalnya, Anda dapat mengedit alokasi resource, seperti CPU dan memori, atau mengubah jaringan yang terhubung dengan VM.
Anda dapat mengubah kolom apa pun di bagian spec
pada resource VirtualMachine
.
Anda juga dapat mengedit label untuk VM. Kolom lain, seperti nama VM (metadata.name
), tidak dapat diedit. Secara default, VM harus dalam status
Stopped
sebelum Anda mengedit resource. Namun, mulai dari
Google Distributed Cloud versi 1.13.0, Anda dapat mengonfigurasi resource VirtualMachine
agar memulai ulang secara otomatis setiap kali Anda mengubah
konfigurasi.
Jika hasil edit pada resource VirtualMachine
berisi error saat Anda menyimpannya, perubahan akan ditolak dan Anda akan melihat notifikasi. Perbaiki
error dan coba simpan resource VirtualMachine
lagi. Jika VM tidak
dimulai setelah Anda melakukan perubahan, gunakan
perintah kubectl describe gvm VM_NAME
untuk
melihat informasi pemecahan masalah dan memperbaiki error.
Sebelum memulai
Untuk menyelesaikan dokumen ini, Anda memerlukan akses ke referensi berikut:
- VM yang berjalan di salah satu cluster Anda. Jika perlu, buat VM di Google Distributed Cloud.
- Alat klien
virtctl
diinstal sebagai plugin untukkubectl
. Jika perlu, instal alat klien virtctl.
Edit resource komputasi
Jika permintaan workload komputasi berubah, Anda dapat memperbarui jumlah CPU virtual dan jumlah memori virtual yang ditetapkan ke VM. Untuk mengedit workload komputasi Anda, selesaikan langkah-langkah berikut:
Hentikan VM yang ingin Anda edit:
kubectl virt stop VM_NAME
Ganti
VM_NAME
dengan nama VM yang ingin Anda hentikan.Gunakan
kubectl
untuk mengedit VM:kubectl edit gvm VM_NAME
Ganti
VM_NAME
dengan nama VM yang ingin Anda edit.Di editor, perbarui nilai resource komputasi yang ingin diubah.
Misalnya, contoh manifes
VirtualMachine
berikut menunjukkan bahwa resource VM memiliki2
vCPU yang ditetapkan:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... compute: cpu: vcpus: 2 ...
Jika Anda ingin memperbarui jumlah vCPU yang ditetapkan, ubah nilai di editor, seperti yang ditunjukkan pada contoh berikut:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... compute: cpu: vcpus: 4 ...
Simpan dan tutup manifes VM.
Mulai VM yang Anda edit:
kubectl virt start VM_NAME
Ganti
VM_NAME
dengan nama VM yang Anda edit.Periksa
STATUS
VM Anda:kubectl get gvm VM_NAME
Pastikan VM dalam status
Running
. Jika VM Anda meminta lebih banyak resource komputasi melebihi yang dapat disediakan host, VM Anda tidak dapat dimulai. Jika VM tidak dalam statusRunning
, periksa manifes resourceVirtualMachine
Anda dan ketersediaan resource komputasi pada host.Contoh output berikut menunjukkan VM dalam status
Running
:NAME STATUS AGE IP vm1 Running 1m 192.168.2.72
Lihat informasi mendetail tentang VM yang menggunakan
kubectl describe gvm
:kubectl describe gvm VM_NAME
Ganti
VM_NAME
dengan nama VM yang Anda edit.Contoh output berikut menunjukkan informasi ringkas untuk VM, dengan perubahan jumlah vCPU yang berhasil diterapkan:
Name: vm1 Namespace: default Labels: <none> Annotations: <none> API Version: vm.cluster.gke.io/v1 Kind: VirtualMachine ... Spec: Compute: Cpu: Vcpus: 4 ...
Untuk informasi lebih lanjut, lihat cara membuat VM dengan konfigurasi komputasi memori dan vCPU tertentu.
Mengedit resource disk
Jika persyaratan penyimpanan Anda berubah, Anda dapat menambahkan atau menghapus disk virtual ke VM. Untuk mengedit disk yang terpasang ke VM Anda, selesaikan langkah-langkah berikut:
Hentikan VM yang ingin Anda edit:
kubectl virt stop VM_NAME
Ganti
VM_NAME
dengan nama VM yang ingin Anda hentikan.Gunakan
kubectl
untuk mengedit VM:kubectl edit gvm VM_NAME
Ganti
VM_NAME
dengan nama VM yang ingin Anda edit.Di editor Anda, perbarui bagian
spec.disks
untuk memasang atau melepas disk.Misalnya, contoh manifes
VirtualMachine
berikut menunjukkan bahwa hanya boot disk yang terpasang ke VM:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... disks: - boot: true virtualMachineDiskName: vm1-boot-dv ...
Jika Anda ingin menambahkan disk kosong yang sudah ada, perbarui konfigurasi disk di editor Anda, seperti yang ditunjukkan dalam contoh berikut:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... disks: - boot: true virtualMachineDiskName: vm1-boot-dv - virtualMachineDiskName: DISK_NAME ...
Ganti
DISK_NAME
dengan nama disk yang akan dipasang.Simpan dan tutup manifes VM.
Mulai VM yang Anda edit:
kubectl virt start VM_NAME
Ganti
VM_NAME
dengan nama VM yang Anda edit.Periksa
STATUS
VM Anda:kubectl get gvm VM_NAME
Pastikan VM dalam status
Running
. Jika VM memintaStorageClass
atau penetapan disk yang tidak dapat disediakan oleh host, VM Anda tidak dapat dimulai. Jika VM tidak dalam statusRunning
, periksa manifes resourceVirtualMachine
danVirtualMachineDisk
Anda serta dukungan penyimpanan host.Lihat informasi mendetail tentang VM yang menggunakan
kubectl describe gvm
:kubectl describe gvm VM_NAME
Ganti
VM_NAME
dengan nama VM yang Anda edit.Contoh output berikut menunjukkan informasi yang dipadatkan untuk VM, dengan perubahan pada disk yang terpasang dan berhasil diterapkan:
Name: vm1 Namespace: default Labels: <none> Annotations: <none> API Version: vm.cluster.gke.io/v1 Kind: VirtualMachine ... Spec: Disks: Name: vm1-boot-dv Name: data-disk-01 ...
Untuk mengetahui informasi selengkapnya, lihat cara membuat dan mengelola disk.
Mengedit resource jaringan
Seiring perubahan infrastruktur, Anda mungkin perlu mengubah konfigurasi jaringan VM. Misalnya, Anda bisa menghubungkan VM ke jaringan virtual lain atau menetapkan alamat IP secara manual. Untuk mengedit konfigurasi jaringan untuk VM, selesaikan langkah-langkah berikut:
Hentikan VM yang ingin Anda edit:
kubectl virt stop VM_NAME
Ganti
VM_NAME
dengan nama VM yang ingin Anda hentikan.Gunakan
kubectl
untuk mengedit VM:kubectl edit gvm VM_NAME
Ganti
VM_NAME
dengan nama VM yang ingin Anda edit.Di editor, perbarui setelan konfigurasi jaringan yang ingin Anda ubah.
Misalnya, contoh manifes
VirtualMachine
berikut menunjukkan bahwa VM terhubung ke jaringan bernamabackend-vlan100
dan menggunakan DHCP karena tidak ada alamat IP yang ditentukan:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... interfaces: - name: eth0 networkName: backend-vlan100 default: true ...
Jika Anda ingin mengubah jaringan yang terhubung ke VM atau menetapkan alamat IP manual, perbarui konfigurasi jaringan di editor Anda, seperti ditunjukkan dalam contoh berikut:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... interfaces: - name: eth0 networkName: NETWORK_NAME ipAddresses: - IP_ADDRESS default: true ...
Ganti
NETWORK_NAME
dengan nama jaringan yang akan dihubungkan, atau tambahkan bagianipAddresses
dan tentukanIP_ADDRESS
yang akan digunakan oleh VM Anda.Simpan dan tutup manifes VM.
Mulai VM yang Anda edit:
kubectl virt start VM_NAME
Ganti
VM_NAME
dengan nama VM yang Anda edit.Periksa
STATUS
VM Anda:kubectl get gvm VM_NAME
Pastikan VM dalam status
Running
. Jika VM Anda meminta koneksi jaringan yang tidak bisa disediakan oleh host, VM Anda tidak dapat dimulai. Jika VM tidak dalam statusRunning
, periksa manifes resourceVirtualMachine
Anda dan dukungan jaringan host.Lihat informasi mendetail tentang VM yang menggunakan
kubectl describe gvm
:kubectl describe gvm VM_NAME
Ganti
VM_NAME
dengan nama VM yang Anda edit.Contoh output berikut menunjukkan informasi ringkas untuk VM, dengan perubahan pada konfigurasi jaringan dan alamat IP yang berhasil diterapkan:
Name: vm1 Namespace: default Labels: <none> Annotations: <none> API Version: vm.cluster.gke.io/v1 Kind: VirtualMachine ... Spec: Compute: Interfaces: Name: eth0 Network Name: backend-vlan200 ... Status: ... Interfaces: Dns Config: Nameservers: 8.8.8.8 gateway4: 10.200.0.9 Ip Addresses: 10.200.0.22/24 Mac Address: 22:b4:e3:d2:ef:fb Name: eth0 Resource Name: vm1-eth0-f2468 ...
Untuk informasi selengkapnya, lihat cara membuat dan mengelola jaringan virtual.
Mengonfigurasi VM agar dimulai ulang otomatis
Banyak perubahan konfigurasi VM, seperti perubahan pada setelan compute
, mengharuskan VM dihentikan dan dimulai ulang agar perubahan dapat disinkronkan dengan instance VM yang sesuai (VirtualMachineInstance
). VM yang berjalan di Google Distributed Cloud versi 1.13.0 atau yang lebih baru dapat dikonfigurasi untuk dimulai ulang secara otomatis setiap kali Anda membuat perubahan pada konfigurasinya. Saat mengonfigurasi VM untuk menggunakan fitur ini, Anda tidak perlu menghentikan dan memulai ulang VM saat mengedit resource kustomnya. Runtime VM di GDC memantau VM, dan jika
mendeteksi perubahan konfigurasi, VM akan memulai ulang secara otomatis untuk menyinkronkan
perubahan.
Jika Anda menggunakan Config Sync untuk mengelola file konfigurasi YAML, fitur ini akan sangat berguna. Tanpa fitur ini, Anda harus menghentikan VM secara manual sebelum melakukan perubahan pada resource kustom VirtualMachine
dan memulai VM secara manual setelah Anda menyelesaikan perubahan.
Untuk mengaktifkan mulai ulang otomatis:
Gunakan
kubectl
untuk mengedit VM:kubectl edit gvm VM_NAME
Di editor Anda, tambahkan kolom
autoRestartOnConfigurationChange
dan tetapkan ketrue
.Anda dapat membuat perubahan tambahan pada VM, seperti memperbarui nilai
vcpus
. Jika Anda mengedit setelancompute
, Runtime VM di GDC akan memulai ulang VM secara otomatis saat Anda menyimpan perubahan.apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: ... name: vm-sample-01 namespace: default resourceVersion: "16711824" uid: ed623879-0cfa-52de-ad2c-b63308e6116c spec: autoRestartOnConfigurationChange: true compute: cpu: vcpus: 2 ...
Simpan dan tutup manifes VM.
Jika Anda telah membuat perubahan lain pada VM yang perlu disinkronkan dengan instance VM yang sesuai, Runtime VM di GDC akan memulai ulang VM. Jika Anda hanya melakukan perubahan untuk mengaktifkan mulai ulang otomatis, VM tidak diperlukan untuk memulai ulang.
Periksa
status
VM Anda:kubectl get gvm VM_NAME
Bergantung pada seberapa cepat Anda mendapatkan VM, Anda mungkin akan melihat
state: Starting
saat VM dimulai ulang. Setelah VM berhasil dimulai ulang, Anda akan melihatstate: Running
. Perubahan konfigurasi selanjutnya pada resource kustomVirtualMachine
tidak mengharuskan Anda untuk menghentikan dan memulai VM secara manual. Perubahan berikutnya pada resource kustom akan ditampilkan dalam instance VM secara konsisten.
Perhatikan perilaku fitur situasional berikut:
Jika Anda menghentikan VM secara manual sebelum mengedit resource kustom
VirtualMachine
, perubahan konfigurasi tidak akan memicu mulai ulang. Status VM yang dihentikan sebelum perubahan konfigurasi dipertahankan.Jika Anda telah membuat perubahan label atau penjadwalan untuk VM sebelum mengaktifkan fitur mulai ulang otomatis, menambahkan
autoRestartOnConfigurationChange
sekarang tanpa perubahan lain tidak akan memicu mulai ulang. Idealnya, fitur ini menjaga instance VM tetap konsisten dengan konfigurasi VM. Namun, Runtime VM di GDC tidak dapat mendeteksi inkonsistensi sebelumnya.
Langkah selanjutnya
- Buat VM dengan konfigurasi vCPU dan komputasi memori tertentu di Google Distributed Cloud.
- Buat dan kelola disk di Google Distributed Cloud.
Buat dan kelola jaringan virtual di Google Distributed Cloud.