Mengonfigurasi kebijakan penghapusan untuk VM di Google Distributed Cloud

Dokumen ini ditujukan untuk administrator platform yang menjalankan virtual machine (VM) di Google Distributed Cloud. Dokumen ini menunjukkan cara mengonfigurasi kebijakan penghapusan yang mengontrol cara VM yang menggunakan Runtime VM di GDC dapat otomatis bermigrasi ke host lain selama peristiwa pemeliharaan. Setelan konfigurasi ini memungkinkan VM Anda terus berjalan di host lain saat Anda mengupgrade cluster atau melakukan pemeliharaan di host.

Sebelum memulai

Untuk menyelesaikan dokumen ini, Anda memerlukan akses ke cluster Google Distributed Cloud versi 1.12.0 (anthosBareMetalVersion: 1.12.0) atau yang lebih tinggi. Anda dapat menggunakan jenis cluster apa pun yang mampu menjalankan workload. Jika diperlukan, coba Google Distributed Cloud di Compute Engine atau lihat ringkasan pembuatan cluster.

Setelan kebijakan pengusiran

Google Distributed Cloud memungkinkan Anda mengonfigurasi perilaku node saat melakukan upgrade cluster atau menempatkan node ke mode pemeliharaan. Runtime VM di GDC menggunakan kebijakan pengusiran yang mengontrol cara cluster menangani VM yang berjalan selama peristiwa ini.

Jika diaktifkan, Runtime VM di GDC akan menggunakan migrasi langsung untuk memindahkan beban kerja VM ke host lain secara default. Perilaku ini meminimalkan potensi gangguan pada workload VM. Dengan migrasi langsung, VM yang dapat dimigrasikan akan berpindah dari satu host ke host lainnya tanpa gangguan pada OS tamu.

Setelan kebijakan penghapusan berikut dapat dikonfigurasi:

Properti Default Nilai valid
evictionStrategy LiveMigrate LiveMigrate, Restart
maxMigrationAttemptsPerVM 3 Bilangan bulat dalam rentang [1,5]
migrationTargetInitializationTimeout 30s String durasi apa pun yang valid, seperti 1m, 2h, atau 1h30m

evictionStrategy

Jika nilai ini ditetapkan ke LiveMigrate, Runtime VM di GDC akan mencoba memigrasikan VM yang dapat dimigrasikan dari node untuk mengusirnya. VM ditempatkan di node lain dalam cluster dan terus berjalan.

Jika nilai ini ditetapkan ke Restart, Runtime VM di GDC tidak akan mencoba memigrasikan VM. Sebagai gantinya, VM dihentikan saat node dimasukkan ke dalam mode pemeliharaan, dan VM dimulai lagi saat node dikeluarkan dari mode pemeliharaan. VM tidak tersedia selama peristiwa pemeliharaan host.

Saat Anda memilih strategi LiveMigrate, Runtime VM di GDC akan kembali ke strategi Restart untuk VM yang tidak dapat dimigrasikan.

maxMigrationAttemptsPerVM

Setelan ini mengontrol jumlah maksimum upaya migrasi yang dapat terjadi untuk VM tertentu sebelum strategi Restart diterapkan.

Setelan ini diabaikan jika evictionStrategy ditetapkan ke Restart.

migrationTargetInitializationTimeout

Setelan ini mengontrol jumlah waktu maksimum yang diperlukan migrasi untuk dimulai sebelum dianggap gagal. Migrasi yang memerlukan waktu terlalu lama untuk dimulai akan mengurangi anggaran migrasi yang gagal untuk beban kerja VM.

Setelan ini diabaikan jika evictionStrategy ditetapkan ke Restart.

Mengaktifkan dan mengonfigurasi kebijakan penghapusan

Untuk menggunakan kebijakan penghapusan di Runtime VM di GDC, setelan evictionPolicy harus ditentukan dalam objek VMRuntime cluster Anda. Setelan ini diaktifkan secara default. Jika mengupgrade dari versi sebelumnya, Anda harus mengaktifkan setelan ini secara manual.

Objek kosong, seperti evictionPolicy: {}, mengaktifkan kebijakan penghapusan dengan setelan default. Untuk mengubah perilaku default, tambahkan opsi konfigurasi tambahan ke objek evictionPolicy.

Untuk mengaktifkan dan mengonfigurasi kebijakan penghapusan, selesaikan langkah-langkah berikut:

  1. Edit resource kustom VMRuntime:

    kubectl edit vmruntime vmruntime
    
  2. Tambahkan atau perbarui bagian evictionPolicy dengan objek kosong untuk menggunakan setelan kebijakan penghapusan default, atau tambahkan setelan yang Anda inginkan:

    apiVersion: vm.cluster.gke.io/v1
    kind: VMRuntime
    metadata:
      name: vmruntime
    spec:
      disableCDIUploadProxyVIP: false
      enabled: true
      evictionPolicy: {}
      useEmulation: false
    

    Jika evictionPolicy tidak diisi, seperti evictionPolicy: null atau tidak disertakan dalam manifes, tidak ada tindakan khusus yang dilakukan. VM dihapus secara paksa.

    Contoh manifes berikut menunjukkan cara mengaktifkan migrasi langsung VM, atau memulai ulang VM di host yang sama setelah pemeliharaan selesai:

    Migrasi langsung

    Contoh kebijakan penghapusan berikut memungkinkan migrasi langsung VM. Cluster dapat mencoba ulang migrasi langsung hingga 3 kali, dengan waktu tunggu 30 detik pada proses setiap kali dimulai:

    apiVersion: vm.cluster.gke.io/v1
    kind: VMRuntime
    metadata:
      name: vmruntime
    spec:
      disableCDIUploadProxyVIP: false
      enabled: true
      evictionPolicy:
        evictionStrategy: LiveMigrate
        maxMigrationAttemptsPerVM: 3
        migrationTargetInitializationTimeout: 30s
      useEmulation: false
    

    Mulai ulang

    Contoh kebijakan penghapusan berikut tidak melakukan upaya migrasi untuk VM apa pun selama penghapusan. VM dihentikan di host saat ini, dan dimulai lagi saat host menyelesaikan peristiwa pemeliharaannya:

    apiVersion: vm.cluster.gke.io/v1
    kind: VMRuntime
    metadata:
      name: vmruntime
    spec:
      disableCDIUploadProxyVIP: false
      enabled: true
      evictionPolicy:
        evictionStrategy: Restart
      useEmulation: false
    
  3. Simpan dan tutup resource kustom VMRuntime di editor Anda.

    Runtime VM di GDC kini menerapkan kebijakan pengusiran ke VM di cluster Anda.

Langkah selanjutnya