Mengonfigurasi Pod maksimum per node


Halaman ini menjelaskan cara mengoptimalkan resource cluster untuk memastikan kapasitas penjadwalan yang memadai bagi Pod Anda dengan mengonfigurasi jumlah maksimum Pod per node di cluster Standard di Google Kubernetes Engine (GKE). Halaman ini membantu Anda memahami pengaruh hubungan antara Pod, ukuran blok CIDR, dan jumlah node terhadap cara GKE menjadwalkan Pod dan mengalokasikan alamat IP dalam cluster Anda. Hal ini juga mencakup detail tentang batasan dan nilai default untuk Pod maksimum per node.

Halaman ini membantu Operator, Arsitek cloud, Developer, dan Engineer jaringan yang menyediakan dan mengonfigurasi resource cloud, men-deploy aplikasi dan layanan, serta mengelola jaringan untuk deployment cloud mereka. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang dirujuk dalam konten, lihat Peran dan tugas pengguna umum GKE Enterprise. Google Cloud

Sebelum membaca halaman ini, pahami kapan harus menggunakan cluster GKE Standard dan bukan Autopilot, serta model jaringan Kubernetes.

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 di cluster Standar saat membuat cluster atau saat membuat node pool. Anda tidak dapat mengubah setelan ini setelah cluster atau node pool dibuat. Untuk cluster Autopilot, jumlah maksimum node telah dikonfigurasi sebelumnya dan tidak dapat diubah.

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 Standar 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 Google Cloud konsol.

    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.

Rentang sekunder Pod dan Pod maksimum per node

Saat mengonfigurasi jumlah maksimum Pod per node, Anda secara tidak langsung memengaruhi ukuran rentang sekunder Pod yang diperlukan. GKE memerlukan blok CIDR minimum /24 per node pool. Mencoba menentukan rentang sekunder Pod yang lebih kecil dari /24 saat membuat node pool akan menghasilkan error berikut:

Pod secondary range 'Pod' must have a CIDR block of at least /24

Jika Anda memerlukan rentang yang lebih kecil dari /24 untuk keseluruhan cluster, Anda dapat menentukannya di tingkat cluster menggunakan argumen --cluster-ipv4-cidr dengan Google Cloud CLI. Untuk mengetahui informasi selengkapnya, lihat Membuat cluster dengan rentang CIDR tertentu. Anda juga dapat menggunakan CIDR multi-Pod yang berjauhan untuk menambahkan lebih banyak rentang alamat IP Pod ke cluster.

Setiap cluster perlu membuat Pod kube-system, seperti kube-proxy, di namespace kube-system. Ingatlah untuk memperhitungkan Pod workload dan Pod Sistem saat Anda mengonfigurasi jumlah maksimum Pod per 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 jumlah maksimum Pod 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, nilai ini dapat bervariasi berdasarkan versi GKE dan kepadatan workload.

  • GKE Autopilot Versi 1.27 dan yang lebih lama: Jumlah maksimum Pod 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: Jumlah maksimum Pod per node bersifat dinamis dan dapat berkisar dari 8 hingga 256. Ukuran blok CIDR disesuaikan dengan tepat untuk memastikan setiap Pod memiliki alamat IP yang unik.

Sifat dinamis dari jumlah maksimum Pod per node di cluster Autopilot memungkinkan penggunaan resource yang efisien. Cluster secara otomatis menyesuaikan diri dengan persyaratan workload, 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 pengalamatan IP Anda dengan cermat. Namun, jika Anda kehabisan 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 workload 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 fleksibilitas yang lebih besar untuk pertumbuhan dan perubahan kepadatan Pod di masa mendatang.

Dengan merencanakan rentang CIDR secara cermat, Anda dapat membantu memastikan cluster Autopilot Anda dapat diskalakan pada awalnya untuk memenuhi kebutuhan Anda. Namun, jika Anda mengalami keterbatasan 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