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 initialize 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 Create.

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 di cluster Standar, tetapi cluster Standar dapat dikonfigurasi untuk mengizinkan hingga 256 Pod per node. Cluster autopilot, berdasarkan kepadatan Pod beban kerja 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

Setelan default untuk ukuran CIDR cluster Autopilot adalah sebagai berikut:

  • Rentang subnetwork: /23
  • Rentang alamat IP sekunder untuk Pod: /17
  • Rentang alamat IP sekunder untuk Service: /22

Autopilot memiliki Pod maksimum per node sebesar 32. Seperti halnya GKE Standard, ini akan menghasilkan rentang /26 yang disediakan per node, yaitu 64 IP. Rentang alamat IP Pod /17 menghasilkan cluster daripada yang dapat mendukung maksimal 511 node (32.766 IP yang dapat digunakan / 64 alamat IP per node).

Pastikan rentang alamat IP sekunder untuk Pod yang Anda tentukan cukup besar untuk mendukung ukuran cluster maksimum yang diperkirakan. Rentang /16 (misalnya, cluster-ipv4-cidr=10.0.0.0/16) direkomendasikan untuk mendukung pertumbuhan maksimum cluster.

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 selanjutnya