Mengonfigurasi Pod maksimum per node


Halaman ini menjelaskan cara mengonfigurasi jumlah maksimum Pod yang dapat berjalan pada node untuk cluster Standard. Nilai ini menentukan ukuran rentang alamat IP yang ditetapkan ke node di Google Kubernetes Engine (GKE). Pod yang berjalan di node mendapatkan alamat IP yang dialokasikan dari rentang CIDR yang ditetapkan node.

Saat menjadwalkan, GKE menggunakan jumlah maksimum Pod per node untuk menentukan apakah ada kapasitas yang cukup untuk menjadwalkan Pod. Hanya Pod yang telah ditetapkan ke sebuah node, dan belum dihentikan (fase Failed atau Succeeded), yang dihitung dalam kapasitas ini.

Langkah-langkah di halaman ini tidak berlaku untuk cluster Autopilot karena jumlah maksimum node telah dikonfigurasi sebelumnya dan tidak dapat diubah.

Sebelum memulai

Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu lakukan inisialisasi gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Batasan

  • Anda hanya dapat mengonfigurasi Pod maksimum per node di cluster VPC native.
  • Pembuatan node dibatasi oleh jumlah alamat yang tersedia dalam rentang alamat Pod. Periksa tabel perencanaan rentang alamat IP untuk mengetahui ukuran rentang alamat Pod default, minimum, dan maksimum. Anda juga dapat menambahkan alamat IP Pod tambahan menggunakan CIDR multi-Pod yang terpisah-pisah.
  • Setiap cluster perlu membuat Pod kube-system, seperti kube-proxy, di namespace kube-system. Ingatlah untuk memperhitungkan Pod workload dan Pod Sistem saat Anda mengurangi jumlah maksimum Pod per node. Untuk menampilkan daftar Pod Sistem di cluster, jalankan perintah berikut:

    kubectl get pods --namespace kube-system
    

Mengonfigurasi Pod maksimum per node

Anda dapat mengonfigurasi jumlah maksimum Pod per node saat membuat cluster atau membuat node pool. Anda tidak dapat mengubah setelan ini setelah cluster atau node pool dibuat.

Namun, jika kehabisan alamat IP Pod, Anda dapat membuat rentang alamat IP Pod tambahan menggunakan CIDR multi-Pod yang terpisah-pisah.

Anda dapat menetapkan ukuran rentang alamat Pod saat membuat cluster menggunakan gcloud CLI atau Konsol Google Cloud.

gcloud

Untuk menetapkan Pod maksimum default per node menggunakan gcloud CLI, jalankan perintah berikut:

gcloud container clusters create CLUSTER_NAME \
    --enable-ip-alias \
    --cluster-ipv4-cidr=10.0.0.0/21 \
    --services-ipv4-cidr=10.4.0.0/19 \
    --create-subnetwork=name='SUBNET_NAME',range=10.5.32.0/27 \
    --default-max-pods-per-node=MAXIMUM_PODS \
    --location=COMPUTE_LOCATION

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster baru.
  • SUBNET_NAME: nama subnetwork baru untuk cluster Anda.
  • MAXIMUM_PODS: jumlah maksimum default Pod per node untuk cluster Anda, dapat dikonfigurasi hingga 256. Jika dihilangkan, Kubernetes akan menetapkan nilai default 110.
  • COMPUTE_LOCATION: Lokasi Compute Engine untuk cluster baru.

Konsol

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik Create.

  3. Konfigurasi cluster baru Anda.

  4. Dari panel navigasi, pada Cluster, klik Networking.

  5. Pastikan mencentang kotak Aktifkan pemilihan rute traffic VPC-native (menggunakan IP alias).

  6. Dari panel navigasi, di bagian Node pool, klik Node.

  7. Tetapkan kolom Pod maksimum per node ke 110. GKE menggunakan nilai ini untuk menyesuaikan ukuran rentang alamat IP yang ditetapkan ke node.

  8. Klik Buat.

Saat Anda mengonfigurasi jumlah maksimum Pod per node untuk cluster, Kubernetes akan menggunakan nilai ini untuk mengalokasikan rentang CIDR untuk node tersebut. Anda dapat menghitung jumlah maksimum node di cluster berdasarkan rentang alamat IP sekunder cluster untuk Pod dan rentang CIDR yang dialokasikan untuk node tersebut.

Misalnya, jika Anda menetapkan jumlah maksimum default Pod ke 110 dan rentang alamat IP sekunder untuk Pod ke /21, Kubernetes akan menetapkan rentang CIDR /24 ke node pada cluster. Jumlah ini memungkinkan maksimum 2(24-21) = 23 = 8 node di cluster.

Demikian pula, jika Anda menetapkan Pod maksimum default ke 8 dan rentang alamat IP sekunder cluster untuk Pod ke /21, Kubernetes akan menetapkan rentang CIDR /28 ke node. Jumlah ini memungkinkan maksimum 2(28-21) = 27 = 128 node di cluster.

Mengonfigurasi jumlah maksimum Pod dalam node pool baru untuk cluster yang ada

Anda juga dapat menentukan jumlah maksimum Pod per node saat membuat node pool di cluster yang ada. Dengan membuat node pool baru, Anda dapat mengoptimalkan alokasi alamat IP, bahkan di cluster yang ada yang tidak mengonfigurasi jumlah maksimum default Pod per node di level cluster.

Menetapkan jumlah maksimum Pod pada level node pool akan menggantikan nilai maksimum default level cluster. Jika Anda tidak mengonfigurasi jumlah maksimum Pod per node saat membuat node pool, jumlah maksimum level cluster akan berlaku.

gcloud

gcloud container node-pools create POOL_NAME \
    --cluster=CLUSTER_NAME \
    --max-pods-per-node=MAXIMUM_PODS

Ganti kode berikut:

  • POOL_NAME: nama node pool baru.
  • CLUSTER_NAME: nama cluster tempat Anda ingin membuat node pool.
  • MAXIMUM_PODS: jumlah maksimum Pod dalam node pool.

Konsol

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Di daftar cluster, klik nama cluster yang ingin diubah.

  3. Klik Add Node Pool.

  4. Dari panel navigasi, klik Node.

  5. Di bagian Networking, masukkan nilai untuk kolom Jumlah Pod Maksimum per node. GKE menggunakan nilai ini untuk menyesuaikan ukuran rentang alamat IP yang ditetapkan ke node.

Tentang Pod maksimum default per node

Secara default, GKE mengizinkan hingga 110 Pod per node pada cluster Standard, tetapi cluster Standard dapat dikonfigurasi untuk mengizinkan hingga 256 Pod per node. Cluster Autopilot, berdasarkan kepadatan Pod workload yang diharapkan, memilih Pod maksimum per node dari rentang antara 8 dan 256. Kubernetes menetapkan rentang alamat IP untuk setiap node, blok CIDR, sehingga setiap Pod dapat memiliki alamat IP yang unik. Ukuran blok CIDR sesuai dengan jumlah maksimum Pod per node.

Rentang CIDR Pod di cluster Standard

Dengan jumlah default maksimum 110 Pod per node untuk cluster Standard, Kubernetes menetapkan blok CIDR /24 (256 alamat) ke setiap node. Dengan memiliki alamat IP yang tersedia lebih banyak dua kali lipat daripada jumlah maksimum Pod yang bisa dibuat di sebuah node, Kubernetes dapat mengurangi penggunaan kembali alamat IP saat Pod ditambahkan ke dan dihapus dari node.

Meskipun memiliki 256 Pod per node adalah batas mutlak, Anda dapat mengurangi jumlah Pod pada sebuah node. Ukuran blok CIDR yang ditetapkan ke sebuah node bergantung pada Pod maksimum per nilai node. Blok selalu berisi alamat setidaknya dua kali lebih banyak dari jumlah maksimum Pod per node.

Tabel berikut mencantumkan ukuran blok CIDR dan jumlah masing-masing alamat IP yang tersedia yang ditetapkan Kubernetes ke node berdasarkan Pod maksimum per node:

Pod Maksimum per Node Rentang CIDR per Node Jumlah alamat IP
8 /28 16
9 – 16 /27 32
17 – 32 /26 64
33 – 64 /25 128
65 – 128 /24 256
129 - 256 /23 512

Rentang CIDR Pod di cluster Autopilot

Di cluster GKE Autopilot, jumlah maksimum Pod per node dan alokasi blok CIDR terkait bersifat dinamis. Artinya, hal ini dapat bervariasi berdasarkan versi GKE dan kepadatan beban kerja.

  • GKE Autopilot Versi 1.28 dan yang lebih lama: Pod maksimum per node ditetapkan ke 32. Hal ini akan menghasilkan blok CIDR /26 (64 alamat IP) yang ditetapkan ke setiap node.

  • GKE Autopilot Versi 1.28 dan yang lebih baru: Pod maksimum per node bersifat dinamis dan dapat berkisar dari 8 hingga 256. Ukuran blok CIDR disesuaikan untuk memastikan setiap Pod memiliki alamat IP yang unik.

Sifat dinamis dari Pod maksimum per node di cluster Autopilot memungkinkan penggunaan resource yang efisien. Cluster akan otomatis menyesuaikan dengan persyaratan beban kerja, mengalokasikan jumlah pod dan alamat IP yang sesuai per node.

Untuk mengakomodasi ukuran cluster awal dan konfigurasi Pod maksimum per node, pilih rentang alamat IP sekunder yang sesuai untuk Pod. Sebaiknya rencanakan pemberian alamat IP Anda dengan cermat. Namun, jika Anda menghabiskan alamat IP saat cluster diskalakan, hal ini akan mencegah penskalaan lebih lanjut hingga lebih banyak alamat IP ditambahkan. Anda dapat menambahkan rentang sekunder tambahan nanti jika diperlukan. Untuk mengetahui informasi selengkapnya tentang cara menambahkan rentang alamat IP lainnya setelah Anda membuat cluster, lihat Menambahkan rentang sekunder ke jaringan VPC.

Rentang /16 (misalnya, cluster-ipv4-cidr=240.0.0.0/16) umumnya direkomendasikan untuk memberikan fleksibilitas bagi pertumbuhan dan perubahan kepadatan Pod dalam cluster.

Pertimbangkan poin-poin berikut saat merencanakan konfigurasi jaringan cluster Autopilot:

  • Kepadatan Pod: Pertimbangkan jumlah maksimum Pod di cluster yang mungkin diperlukan oleh beban kerja Anda.
  • Rentang CIDR: Pilih rentang alamat IP sekunder untuk Pod yang dapat mengakomodasi persyaratan ukuran cluster dan kepadatan Pod.
  • Fleksibilitas: Rentang CIDR yang lebih besar seperti /16 memberikan lebih banyak fleksibilitas untuk peningkatan dan perubahan kepadatan Pod di masa mendatang.

Dengan merencanakan rentang CIDR dengan cermat, Anda dapat membantu memastikan bahwa cluster Autopilot pada awalnya dapat diskalakan untuk memenuhi kebutuhan Anda. Namun, jika Anda mengalami batasan alamat IP seiring pertumbuhan cluster, Anda dapat menambahkan rentang sekunder tambahan untuk mendukung penskalaan lebih lanjut.

Mengurangi jumlah maksimum Pod

Dengan mengurangi jumlah maksimum Pod per node, cluster dapat memiliki lebih banyak node, karena setiap node memerlukan bagian yang lebih kecil dari total ruang alamat IP. Atau, Anda dapat mendukung jumlah node yang sama dalam cluster dengan menentukan ruang alamat IP yang lebih kecil untuk Pod pada waktu pembuatan cluster.

Dengan mengurangi jumlah maksimum Pod per node, Anda juga dapat membuat cluster lebih kecil yang memerlukan lebih sedikit alamat IP. Misalnya, dengan delapan Pod per node, setiap node diberi CIDR /28. Rentang alamat IP ini ditambah rentang subnet dan sekunder yang Anda tentukan akan menentukan jumlah alamat IP yang diperlukan agar berhasil membuat cluster.

Anda dapat mengonfigurasi jumlah maksimum Pod per node pada waktu pembuatan cluster dan pada waktu pembuatan node pool.

Langkah berikutnya