Mengelola siklus proses instance VM

Dokumen ini menjelaskan cara memeriksa status sistem instance virtual machine (VM) di sepanjang siklus prosesnya di Google Distributed Cloud (GDC) dengan air gap.

Instance VM dapat bertransisi melalui banyak status selama siklus prosesnya. Saat Anda membuat VM, Distributed Cloud akan menyediakan resource untuk memulai VM. Selanjutnya, VM beralih ke status start. Dalam proses ini VM bersiap untuk booting pertama. Selama dan setelah proses memulai, VM dianggap berjalan. Selama masa aktifnya, VM yang berjalan dapat dihentikan dan dimulai ulang berulang kali, atau ditangguhkan dan dilanjutkan.

Dokumen ini ditujukan untuk developer dalam grup administrator platform atau operator aplikasi yang meninjau status sistem instance VM di lingkungan Distributed Cloud. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC dengan air gap.

Definisi status VM

Negara bagian/Provinsi Definisi
Pending VM diterima oleh sistem dan sedang menunggu alokasi.
Provisioning Resource yang terkait dengan VM, seperti VirtualMachineDisk, sedang disediakan dan disiapkan.
Starting VM sedang disiapkan untuk dijalankan.
Running VM sedang berjalan.
Stopping VM sedang dalam proses berhenti.
Stopped VM dihentikan dan tidak diharapkan untuk dimulai.
Paused VM dijeda dan dalam status dibekukan, yang dipertahankan. VM tidak dapat diakses.
Terminating VM dan resource terkaitnya sedang menjalani proses penghapusan.
ErrorConfiguration VM mengalami error konfigurasi. Status konfigurasi yang tidak valid dapat disebabkan oleh hal berikut:
MachineTypeNotFound - Jenis VM yang dirujuk VM tidak ditemukan atau sedang dihapus.
MachineDiskMisconfig - Disk VM tidak dikonfigurasi dengan benar.
InterfaceCreationFailed - Pembuatan antarmuka jaringan gagal.
CrashLoopBackOff VM berada dalam loop error dan sedang menunggu untuk dicoba lagi.
PendingIPAllocation VM sedang menunggu sistem untuk menetapkan alamat IP.
Unknown Status VM tidak dapat diperoleh, biasanya karena error dalam berkomunikasi dengan host tempat VM berjalan.
ErrorUnschedulable Terjadi error saat menjadwalkan VM, misalnya, karena permintaan resource atau batasan penjadwalan yang tidak dapat dipenuhi atau didukung.
DiskError VM mengalami error dengan satu atau beberapa disk yang terpasang.
WaitingForDisk VM sedang menunggu satu atau beberapa VirtualMachineDisk yang terpasang siap.
CrashLoopBackoff VM terus-menerus mengalami error karena suatu alasan.

Sebelum memulai

Untuk menggunakan perintah antarmuka command line (CLI) gdcloud, pastikan Anda telah mendownload, menginstal, dan mengonfigurasi gdcloud CLI. Semua perintah untuk Distributed Cloud menggunakan CLI gdcloud atau kubectl, dan memerlukan lingkungan sistem operasi (OS).

Mendapatkan jalur file kubeconfig

Untuk menjalankan perintah terhadap server Management API, pastikan Anda memiliki resource berikut:

  1. Login dan buat file kubeconfig untuk server Management API jika Anda belum memilikinya.

  2. Gunakan jalur ke file kubeconfig server Management API untuk mengganti MANAGEMENT_API_SERVER dalam petunjuk ini.

Meminta peran IAM

Hubungi Admin Project IAM Anda untuk meminta peran berikut di project Anda:

  • Virtual Machine Project Admin (project-vm-admin): membuat, mengubah, mencantumkan, dan menghapus VM di namespace project.

  • Project Viewer(project-viewer): melihat semua resource dalam namespace project.

Semua peran VM harus terikat ke namespace project tempat VM berada. Ikuti langkah-langkah untuk memverifikasi akses Anda.

Memeriksa status VM

Setiap VM melaporkan statusnya sebagai bagian dari properti VM. Periksa status VM untuk salah satu alasan berikut:

  • Jika ada masalah dengan VM.
  • Untuk mengonfirmasi bahwa VM berjalan setelah dimulai.
  • Untuk memverifikasi bahwa VM berada dalam status Paused atau Stopped.

Mencantumkan VM untuk memeriksa status

Prosedur berikut menunjukkan cara membuat daftar VM, melihat statusnya, dan mendapatkan informasi status tambahan.

  1. Mencantumkan semua VM dan melihat status masing-masing:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachines.virtualmachine.gdc.goog
    

    Ganti variabel dalam contoh kode dengan nilai Anda sendiri sesuai dengan tabel berikut.

    VariabelDefinisi
    MANAGEMENT_API_SERVER File kubeconfig server Management API.
    PROJECT Project GDC tempat VM berada.

    Contoh output:

    NAME          STATUS                    AGE
    vm-1          Running                    1d
    vm-2          Stopped                    8d
    vm-3          ErrorConfiguration         1d
    
  2. Dapatkan detail tambahan tentang status VM tertentu:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachines.virtualmachine.gdc.goog VM_NAME \
      -o jsonpath='{"State:"}{.status.state}{"\n"}{"Reason:"}{.status.reason}{"\n"}{"Message:"}{.status.message}{"\n"}'
    

    Ganti kode berikut:

    • MANAGEMENT_API_SERVER dengan file kubeconfig untuk server Management API yang Anda peroleh dari perintah gdcloud auth login.
    • VM_NAME dengan nama VM baru.
    • PROJECT dengan project GDC tempat VM berada.

    Contoh output yang menampilkan nilai Reason dan Message:

    State: ErrorConfiguration
    Reason: MachineDiskNotFound
    Message: VirtualMachineDisk disk-1 in namespace project-1 does not exist.
    

    Anda mungkin juga mendapatkan kolom kosong untuk Reason dan Message. Hal ini menunjukkan bahwa tidak ada yang perlu dilaporkan oleh sistem terkait hal tersebut.

    Contoh output dengan Reason dan Message kosong:

    State: Running
    Reason:
    Message:
    

Menghentikan, atau memulai ulang VM

Selama siklus proses VM, Anda mungkin perlu menghentikan dan memulai ulang VM, atau menghapus VM untuk merespons perubahan status atau mengelola VM secara umum. Lihat halaman ini untuk menghentikan, mereset, atau menghapus VM: