Mengonfigurasi waktu tunggu pelanggaran PDB

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

Saat node dihentikan, semua Pod di node harus dihentikan. Secara default, jika penghentian Pod melanggar PDB, penghentian node akan diblokir.

Dalam beberapa situasi, Anda mungkin ingin mengonfigurasi waktu maksimum pengurasan node dapat diblokir oleh pelanggaran PDB. Misalnya, 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 dicegah pengurasannya oleh pelanggaran PDB.

Menetapkan nilai waktu tunggu

Setiap node direpresentasikan oleh objek Machine.

Mencantumkan objek Machine di cluster:

kubectl --kubeconfig CLUSTER_KUBECONFIG get machines

Ganti CLUSTR_KUBECONIFG dengan jalur file kubeconfig cluster.

Contoh output:

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

Buka objek Machine untuk mengedit:

kubectl --kubeconfig CLUSTER_KUBECONFIG edit machine MACHINE_NAME

Ganti MACHINE_NAME dengan nama objek Machine.

Di editor, tambahkan anotasi ini:

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

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

Jika Anda menyetel nilai waktu tunggu ke "0s", maka pelanggaran PDB tidak akan pernah habis waktunya. 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 dibuat terlebih dahulu. Kemudian, node lama dikosongkan, dan setelah semua Pod di dalamnya dikeluarkan, objek Machine lama dan objek Node dihapus. Anotasi waktu tunggu pelanggaran PDB tidak dipertahankan pada objek Machine yang baru dibuat.