Mengonfigurasi kebijakan penghapusan untuk VM di Google Distributed Cloud

Dokumen ini ditujukan untuk administrator platform yang menjalankan mesin virtual (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 {i>host<i} lain selama peristiwa pemeliharaan. Setelan konfigurasi ini memungkinkan VM Anda terus berjalan di host lain saat Anda mengupgrade cluster atau pemeliharaan pada {i>host<i}.

Sebelum memulai

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

Setelan kebijakan penghapusan

Google Distributed Cloud memungkinkan Anda mengonfigurasi perilaku node saat menjalankan cluster atau menempatkan {i>node<i} ke mode pemeliharaan. Menggunakan Runtime VM di GDC kebijakan penghapusan yang mengontrol cara cluster menangani VM yang berjalan selama peristiwa ini.

Jika diaktifkan, Runtime VM di GDC menggunakan migrasi langsung untuk memindahkan VM workload ke {i>host<i} lain secara {i>default<i}. Perilaku ini meminimalkan potensi dan gangguan pada workload VM. Dengan migrasi langsung, VM yang dapat dimigrasi berpindah dari satu {i>host<i} ke {i>host<i} lain tanpa mengganggu 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 pada GDC akan mencoba memigrasikan VM apa pun yang dapat dimigrasikan dari {i>node<i} untuk mengeluarkannya. VM ditempatkan di {i>node<i} lain di cluster dan terus berjalan.

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

Jika Anda memilih strategi LiveMigrate, Runtime VM di GDC akan masuk 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 berlaku.

Setelan ini akan diabaikan jika evictionStrategy ditetapkan ke Restart.

migrationTargetInitializationTimeout

Setelan ini mengontrol jumlah waktu maksimum yang diperlukan untuk memulai migrasi sebelum dianggap gagal. Migrasi yang memakan waktu terlalu lama untuk dimulai diperhitungkan dalam anggaran migrasi yang gagal untuk workload VM.

Setelan ini akan diabaikan jika evictionStrategy ditetapkan 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. Jika mengupgrade dari versi sebelumnya, Anda harus mengaktifkan setelan ini secara manual.

Objek kosong, seperti evictionPolicy: {}, memungkinkan kebijakan penghapusan dengan setelan default. Untuk mengubah perilaku default, tambahkan konfigurasi tambahan terakhir 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 digunakan setelan kebijakan penghapusan default, atau tambahkan setelan yang diinginkan:

    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 diambil. VM sangat terpengaruh dikeluarkan.

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

    Migrasi langsung

    Contoh kebijakan penghapusan berikut memungkinkan migrasi langsung VM. Tujuan cluster dapat mencoba lagi migrasi langsung hingga 3 kali, dengan waktu 30 detik waktu tunggu 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 berupaya melakukan migrasi untuk setiap VM selama penghapusan. VM dihentikan di {i>host<i} mereka saat ini, dan mulai 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 penghapusan ke VM di .

Langkah selanjutnya