Mengonfigurasi kebijakan penghapusan untuk VM di GDCV untuk Bare Metal

Dokumen ini ditujukan untuk administrator platform yang menjalankan virtual machine (VM) di GKE pada Bare Metal. Dokumen ini menunjukkan cara mengonfigurasi kebijakan penghapusan yang mengontrol cara VM yang menggunakan Runtime VM di GDC dapat bermigrasi secara otomatis ke host lain selama peristiwa pemeliharaan. Dengan setelan konfigurasi ini, VM dapat terus berjalan di host lain saat Anda mengupgrade cluster atau melakukan pemeliharaan pada host.

Sebelum memulai

Untuk menyelesaikan dokumen ini, Anda memerlukan akses ke GKE di Bare Metal versi 1.12.0 (anthosBareMetalVersion: 1.12.0) atau cluster yang lebih tinggi. Anda dapat menggunakan jenis cluster apa pun yang mampu menjalankan workload. Jika perlu, coba GDCV untuk Bare Metal di Compute Engine atau lihat ringkasan pembuatan cluster.

Setelan kebijakan penghapusan

GKE di Bare Metal memungkinkan Anda mengonfigurasi perilaku node saat melakukan upgrade cluster atau menempatkan node ke dalam mode pemeliharaan. VM Runtime di GDC menggunakan kebijakan penghapusan 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 disetel ke LiveMigrate, Runtime VM di GDC akan mencoba memigrasikan VM yang dapat dimigrasikan dari node untuk mengeluarkannya. VM ditempatkan pada node lain di cluster dan terus berjalan.

Jika nilai ini disetel ke Restart, Runtime VM di GDC tidak akan berupaya memigrasikan VM. Sebagai gantinya, VM dihentikan saat node berada dalam mode pemeliharaan, dan VM dimulai lagi saat node keluar dari mode pemeliharaan. VM tidak tersedia selama peristiwa pemeliharaan host.

Saat Anda memilih strategi LiveMigrate, Runtime VM di GDC akan beralih 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 disetel ke Restart.

migrationTargetInitializationTimeout

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

Setelan ini diabaikan jika evictionStrategy disetel ke Restart.

Mengaktifkan dan mengonfigurasi kebijakan penghapusan

Untuk menggunakan kebijakan penghapusan di Runtime VM di GDC, setelan evictionPolicy harus ditentukan di objek VMRuntime cluster Anda. Setelan ini diaktifkan secara default di cluster Anthos pada versi bare metal 1.12 dan yang lebih tinggi. Jika melakukan upgrade dari versi sebelumnya, Anda harus mengaktifkan setelan ini secara manual.

Objek kosong, seperti evictionPolicy: {}, akan 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 akan dilakukan. VM dikeluarkan 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 kembali 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 mencoba melakukan migrasi untuk VM apa pun selama penghapusan. VM dihentikan di hostnya saat ini, dan dimulai lagi saat host menyelesaikan peristiwa pemeliharaan:

    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.

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

Langkah selanjutnya