Mengupdate label dan taint node untuk kumpulan node yang ada


Halaman ini berisi petunjuk cara mengupdate label node dan taint node dari node pool yang ada di cluster Google Kubernetes Engine (GKE) Standard secara dinamis.

Anda juga dapat menerapkan dan mengupdate tag jaringan di cluster GKE Autopilot atau Standard secara dinamis. Untuk melihat petunjuk yang ada, lihat Menggunakan tag jaringan untuk menerapkan aturan firewall ke node.

Ringkasan

Taint dan label node berada di metadata objek node Kubernetes. Label digunakan untuk menjadwalkan Pod pada node tertentu, tempat taint dapat digunakan untuk menjauhkan Pod dari node tersebut.

Dengan Kubernetes Engine API, Anda dapat menerapkan update pada label node, dan taint node dari node pool GKE yang ada tanpa perlu membuat ulang node pool atau menghentikan workload yang sedang berjalan. Konfigurasi node pool yang baru akan dipertahankan di GKE, sehingga upgrade node pool di masa mendatang dan penyediaan node baru dalam node pool akan menggunakan konfigurasi baru tersebut.

Batasan

Ada beberapa batasan saat menggunakan Kubernetes Engine API untuk memperbarui konfigurasi node pool secara dinamis:

  • Versi node pool harus 1.19.7-gke.1500 atau yang lebih baru.
  • Versi bidang kontrol cluster harus 1.23.4-gke.300 atau yang lebih baru agar dapat menerapkan update pada label node atau taint node untuk node pool yang ada dengan autoscaler cluster aktif. Untuk cluster pada versi sebelumnya, Anda dapat menggunakan solusi berikut: Nonaktifkan penskalaan otomatis pada node pool, lalu update label dan/atau taint node. Setelah update diterapkan, aktifkan kembali penskalaan otomatis.

Mengupdate label node

Untuk mengupdate label node pada node pool, gunakan perintah berikut:

gcloud container node-pools update NODEPOOL_NAME \
    --node-labels=[NODE_LABEL,...] \
    [--cluster=CLUSTER_NAME] [--region=REGION | --zone=ZONE]
    [GCLOUD_WIDE_FLAG …]

Ganti kode berikut:

  • NODEPOOL_NAME: nama node pool yang akan diupdate.
  • [NODE_LABEL,...]: label node baru yang diinginkan (misalnya, label1=value1,label2=value2).
  • CLUSTER_NAME: nama cluster.
  • REGION: region Compute Engine untuk cluster.
  • ZONE: zona Compute Engine untuk cluster.

Mengupdate taint node

Untuk mengupdate taint node pada node pool, gunakan perintah berikut:

gcloud container node-pools update NODEPOOL_NAME \
    --node-taints=[NODE_TAINT,...] \
    [--cluster=CLUSTER_NAME] [--region=REGION | --zone=ZONE]
    [GCLOUD_WIDE_FLAG …]

Ganti kode berikut:

  • NODEPOOL_NAME: nama node pool yang akan diupdate.
  • [NODE_TAINT,...]: taint node baru yang diinginkan (misalnya, key1=val1:NoSchedule,key2=val2:PreferNoSchedule).
  • CLUSTER_NAME: nama cluster.
  • REGION: region Compute Engine untuk cluster.
  • ZONE: zona Compute Engine untuk cluster.

Langkah selanjutnya