Ketahanan VM

Dokumen ini memberikan ringkasan tentang ketahanan virtual machine (VM) dan pemeriksaan opsional yang dapat diaktifkan oleh operator aplikasi untuk mendapatkan insight yang lebih mendalam dari dalam VM yang terisolasi dari internet di Google Distributed Cloud (GDC).

Dokumen ini ditujukan bagi developer dalam grup operator aplikasi yang mengoperasikan VM. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC yang terisolasi dari internet.

VM di GDC menyediakan HA untuk meningkatkan kelangsungan layanan jika terjadi kegagalan infrastruktur atau tamu yang mendasarinya. Anda juga dapat mengonfigurasi sistem untuk memancarkan sinyal kesehatan opsional yang memberikan insight lebih mendalam tentang status VM.

Pemeriksaan ketersediaan VM

Sistem menyediakan pemeriksaan ketersediaan VM berikut:

Periksa Nama Deskripsi Dukungan Tindakan Mitigasi Ketersediaan Sinyal
Pemeriksaan Kesehatan Tamu Memverifikasi kondisi OS tamu. Prasyarat untuk pemeriksaan dalam tamu lainnya. Ya Pemeriksaan Dalam Tamu
Pemeriksaan Penyimpanan Memverifikasi kesehatan penyimpanan pokok VM. Ya Pemeriksaan Dalam Tamu
Pemeriksaan Egress Memverifikasi konektivitas ke endpoint internal yang terkenal. Tidak Di Dalam Ruang Tamu dan di Luar
Pemeriksaan Ingress Memverifikasi aksesibilitas VM menggunakan ingress yang dikonfigurasi (VirtualMachineExternalAccess). Tidak Pemeriksaan Dalam Tamu

Tindakan mitigasi dapat memulai ulang VM dan menjadwalkan ulang ke node lain jika terjadi kegagalan yang sering.

Meminta izin dan akses

Untuk melakukan tugas yang tercantum di halaman ini, Anda harus memiliki peran Project VirtualMachine Admin. Ikuti langkah-langkah untuk memverifikasi bahwa Anda memiliki peran Project VirtualMachine Admin (project-vm-admin) di namespace project tempat VM berada.

Mengaktifkan pemeriksaan dalam tamu

Secara default, pemeriksaan dalam tamu dinonaktifkan jika guestHealthCheck tidak ada.

Untuk mengaktifkan atau menonaktifkan pemeriksaan dalam tamu untuk VM, Anda harus memperbarui GuestEnvironment dalam spesifikasi VM. Setelan ini mengumpulkan metrik dari dalam VM, asalkan agen tamu diinstal. Jika guestHealthCheck tidak ada, pemeriksaan dalam tamu akan dinonaktifkan secara default.

  1. Buka file konfigurasi VM Anda.
  2. Buka bagian spec:.
  3. Tambahkan atau ubah kolom guestEnvironment: dan guestHealthCheck: untuk mengaktifkan pemeriksaan.
  4. Tetapkan kolom enable ke benar (true).

Berikut adalah contoh konfigurasi dalam file YAML:

spec:
  compute:
    virtualMachineType: n2-standard-2-gdc
  guestEnvironment:
    guestHealthCheck:
      enable: true

Memverifikasi pemeriksaan

Setelah mengonfigurasi VM, Anda dapat memverifikasi status pemeriksaan ketersediaan dengan memeriksa Condition virtual machine di Status-nya.

kubectl --kubeconfig MANAGEMENT_API_SERVER \
  -n NAMESPACE_NAME \
  get gvm -o yaml

Output menampilkan status berbagai pemeriksaan. Misalnya, jika guestHealthCheck diaktifkan, kondisi status gvm akan diisi dengan sinyal VMGuestHealth.

Menonaktifkan ketersediaan tinggi VM

Secara default, ketersediaan tinggi VM diaktifkan jika anotasi tidak ada. Anda dapat menonaktifkan HA secara eksplisit untuk VM tertentu dengan menambahkan anotasi. Tambahkan anotasi untuk menonaktifkan HA VM:

  1. Buka file konfigurasi VM Anda.
  2. Tambahkan anotasi highavailability.virtualmachine.gdc.goog/enable: false ke metadata VM untuk menonaktifkan ketersediaan tinggi.

Berikut contoh anotasi dalam file YAML:

metadata:
  annotations:
    highavailability.virtualmachine.gdc.goog/enable: false

Mitigasi kegagalan node

Tindakan mitigasi otomatis mengatasi kegagalan VM dan mempertahankan HA. Jika infrastruktur yang mendasarinya tidak dapat lagi mendukung VM yang sedang berjalan, sistem akan mencoba membatasi node yang tidak responsif dan menjadwalkan ulang VM ke node yang responsif. Skenario berikut dapat memicu mitigasi tingkat node ini:

  • Partisi node dari server API: Node bare metal yang menghosting VM dipartisi dari server Management API karena kondisi seperti berikut:

    • Hilangnya konektivitas jaringan antara server nama API dan node.
    • Agen kubelet di node tidak berfungsi.
    • Node mengalami kegagalan daya.
  • Partisi VM cluster pengguna: VM pekerja cluster pengguna dipartisi dari server Management API clusternya.