Mengonfigurasi waktu tunggu pelanggaran PDB

Dokumen ini menunjukkan cara mengonfigurasi nilai waktu tunggu jika terjadi node cluster melanggar anggaran gangguan Pod (PDB).

Jika node dikeringkan, semua Pod pada node harus dihentikan. Secara {i>default<i}, jika penghentian Pod melanggar PDB, pengosongan node diblokir.

Dalam beberapa situasi, Anda mungkin ingin mengonfigurasi waktu maksimum pengosongan {i>node<i} dapat diblokir oleh pelanggaran PDB. Sebagai contoh, Anda mungkin ingin mengonfigurasi nilai waktu tunggu sebelum memulai update atau upgrade cluster. Atau, Anda mungkin perlu mengonfigurasi nilai waktu tunggu untuk node yang saat ini diblokir agar tidak terkuras karena pelanggaran PDB.

Menetapkan nilai waktu tunggu

Setiap node direpresentasikan oleh objek Machine.

Buat daftar objek Machine dalam cluster:

kubectl --kubeconfig CLUSTER_KUBECONFIG get machines

Ganti CLUSTR_KUBECONIFG dengan jalur kubeconfig cluster .

Contoh output:

my-node-pool-7f864959cd-cw472
my-node-pool-7f864959cd-kh86m
my-node-pool-7f864959cd-wtpvx

Buka objek Mesin untuk mengedit:

kubectl --kubeconfig CLUSTER_KUBECONFIG edit machine MACHINE_NAME

Ganti MACHINE_NAME dengan nama objek Mesin.

Di editor, tambahkan anotasi ini:

onprem.cluster.gke.io/pdb-violation-timeout: TIMEOUT

Ganti TIMEOUT dengan string yang menentukan durasi waktu tunggu habis. Satuan waktu yang valid adalah "s", "m", "h". Contoh nilai waktu adalah "1h", "1j30m", "10m", dan "100dtk".

Jika Anda menetapkan nilai waktu tunggu ke "0s", pelanggaran PDB tidak akan pernah habis waktu tunggunya. Ini sama dengan perilaku default.

Contoh:

apiVersion: cluster.k8s.io/v1alpha1
kind: Machine
metadata:
  annotations:
    kubelet-version: 1.23.5-gke.1502
    onprem.cluster.gke.io/gke-on-prem-version: 1.12.0-gke.430
    vm-ip-address: 203.0.113.2
    onprem.cluster.gke.io/pdb-violation-timeout: "5m"

Tutup sesi pengeditan.

Update berkelanjutan

Selama update berkelanjutan, mesin lonjakan baru akan dibuat terlebih dahulu. Kemudian, node lama akan terkuras, dan setelah semua Pod di dalamnya dikeluarkan, Mesin lama dan objek Node akan dihapus. Anotasi waktu tunggu pelanggaran PDB tidak bertahan pada objek Machine yang baru dibuat.