Membuat cluster berbasis rute


Halaman ini menunjukkan cara membuat cluster berbasis rute di Google Kubernetes Engine (GKE).

Ringkasan

Di GKE, cluster dapat dibedakan menurut cara mengarahkan traffic dari satu Pod ke Pod lainnya. Cluster yang menggunakan Rute Google Cloud disebut cluster berbasis rute. Cluster yang menggunakan IP Alias disebut cluster VPC native.

VPC native adalah jenis yang direkomendasikan dan merupakan jenis default untuk cluster baru di GKE versi 1.21.0-gke.1500 dan yang lebih baru. Untuk membuat cluster berbasis rute, Anda harus menonaktifkan opsi VPC native secara eksplisit.

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.

Membuat cluster berbasis rute

Anda dapat membuat cluster berbasis rute dengan menggunakan gcloud CLI atau Konsol Google Cloud.

gcloud

Untuk membuat cluster berbasis rute, sertakan flag --no-enable-ip-alias dalam perintah pembuatan cluster:

gcloud container clusters create CLUSTER_NAME --no-enable-ip-alias

Ganti CLUSTER_NAME dengan nama yang Anda pilih untuk cluster Anda.

Konsol

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

    Buka Google Kubernetes Engine

  2. Klik Buat.

  3. Masukkan nama untuk cluster Anda.

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

  5. Di bagian Opsi jaringan lanjutan, hapus centang pada kotak Aktifkan perutean traffic VPC native (menggunakan IP alias).

  6. Klik Buat.

Membuat cluster berbasis rute dan memilih rentang IP bidang kontrol

Secara default, cluster dengan Private Service Connect menggunakan rentang subnet utama untuk menyediakan alamat IP internal yang ditetapkan ke endpoint bidang kontrol. Anda dapat mengganti setelan default ini dengan memilih rentang subnet lain hanya selama waktu pembuatan cluster. Bagian berikut menunjukkan cara membuat cluster dengan Private Service Connect dan mengganti rentang subnet.

gcloud

Buat cluster dengan Private Service Connect:

gcloud container clusters create CLUSTER_NAME --no-enable-ip-alias \
    --private-endpoint-subnetwork=SUBNET_NAME \
    --region=COMPUTE_REGION

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster GKE.
  • SUBNET_NAME: nama subnet yang ada.
  • COMPUTE_REGION: region komputasi untuk cluster. Untuk membuat cluster zona, ganti flag ini dengan --zone=COMPUTE_ZONE, dengan COMPUTE_ZONE sebagai zona komputasi.

Konsol

Prasyarat

Untuk menetapkan subnet ke bidang kontrol cluster baru, Anda harus menambahkan subnet terlebih dahulu.

Membuat cluster dan menetapkan rentang IP bidang kontrol

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

    Buka Google Kubernetes Engine

  2. Klik Buat.

  3. Masukkan nama untuk cluster Anda.

  4. Dari panel navigasi, di bagian Cluster, klik Networking.

  5. Di bagian Akses Panel Kontrol, konfigurasikan akses ke endpoint panel kontrol.

  6. Di bagian Opsi jaringan lanjutan, centang kotak Ganti subnet endpoint privat default bidang kontrol.

  7. Di daftar Subnet endpoint pribadi, pilih subnet yang dibuat.

  8. Hapus centang pada kotak Aktifkan perutean traffic VPC native (menggunakan IP alias).

  9. Klik Create.

Memverifikasi bahwa cluster Anda menggunakan rute

gcloud

Cantumkan node cluster Anda:

kubectl get nodes

Output menampilkan nama node Anda:

NAME                                 STATUS   ...     AGE    VERSION
gke-xxx-default-pool-83e239a7-kcg8   Ready    ...     42m    v1.9.7-gke.6
gke-xxx-default-pool-83e239a7-qm6b   Ready    ...     42m    v1.9.7-gke.6
gke-xxx-default-pool-83e239a7-wnrq   Ready    ...     42m    1.9.7-gke.6

Menampilkan daftar rute Anda:

gcloud compute routes list

Dalam output ini, di kolom NEXT_HOP, cari nama salah satu node cluster Anda:

NAME                 NETWORK        DEST_RANGE         NEXT_HOP
...
[ROUTE_NAME]         default        10.24.0.0/24       [YOUR_NODE_NAME]
...

Dalam output ini, rute menyediakan hop berikutnya untuk setiap paket yang ditujukan untuk rentang alamat Pod tertentu.

Konsol

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

    Buka Google Kubernetes Engine

  2. Dalam daftar cluster, klik nama cluster yang ingin diperiksa.

  3. Di halaman Detail cluster, klik tab Node.

  4. Di bagian Node, catat nama node mana pun.

  5. Buka halaman Rute di konsol Google Cloud.

    Buka Rute

  6. Dalam daftar rute, di kolom Next hop, cari nama salah satu node cluster Anda. Klik nama rute untuk baris tersebut.

  7. Di halaman Detail rute, periksa bagian Next hop untuk memverifikasi bahwa rute tersebut menyediakan next hop untuk setiap paket yang ditujukan untuk rentang alamat Pod tertentu.

Pod per node

Dalam cluster berbasis rute, setiap node diberi rentang alamat IP /24 untuk Pod. Dengan rentang /24, ada 256 alamat, tetapi jumlah maksimum Pod per node adalah 110. Dengan memiliki alamat IP yang tersedia sekitar dua kali lebih banyak dari Pod, Kubernetes dapat memitigasi penggunaan kembali alamat IP saat Pod ditambahkan dan dihapus dari sebuah node.

Rentang alamat IP pod

Cluster berbasis rute memiliki rentang alamat IP yang digunakan untuk Pod dan Service. Meskipun digunakan untuk Pod dan Service, rentang ini disebut rentang alamat pod. /20 terakhir dari rentang alamat Pod digunakan untuk Service. Rentang /20 memiliki 212 = 4096 alamat. Jadi, 4096 alamat digunakan untuk Service, dan sisa rentang digunakan untuk Pod.

Dalam output perintah, rentang alamat Pod disebut clusterIpv4Cidr, dan rentang alamat yang digunakan untuk Service disebut servicesIpv4Cidr. Misalnya, output gcloud container clusters describe menyertakan output yang mirip dengan berikut:

clusterIpv4Cidr: 10.96.0.0/16
...
servicesIpv4Cidr: 10.96.240.0/20

Rentang alamat IP Pod dapat berasal dari blok RFC 1918 apa pun: 10.0.0.0/8, 172.16.0.0/12, atau 192.168.0.0/16.

Anda dapat menyesuaikan rentang alamat Pod dengan menentukan rentang CIDR. Misalnya, Anda dapat menentukan rentang 10.96.0.0/16.

gcloud

gcloud container clusters create CLUSTER_NAME \
    --no-enable-ip-alias \
    --cluster-ipv4-cidr 10.96.0.0/16

Ganti CLUSTER_NAME dengan nama yang Anda pilih untuk cluster Anda.

Konsol

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

    Buka Google Kubernetes Engine

  2. Klik Buat.

  3. Masukkan nama untuk cluster Anda.

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

  5. Di bagian Opsi jaringan lanjutan, hapus centang pada kotak Aktifkan perutean traffic VPC native (menggunakan IP alias).

  6. Di kolom Rentang alamat pod, masukkan 10.96.0.0/16.

  7. Klik Buat.

Pertimbangan untuk pengukuran cluster

Jumlah maksimum node, Pod, dan Service untuk cluster GKE tertentu ditentukan oleh ukuran subnet cluster dan ukuran rentang alamat Pod. Anda tidak dapat mengubah ukuran rentang alamat pod setelah membuat cluster. Saat membuat cluster, pastikan Anda memilih rentang alamat Pod yang cukup besar untuk mengakomodasi pertumbuhan yang diperkirakan dari cluster tersebut.

Tabel berikut menjelaskan cara memilih rentang alamat yang memadai untuk cluster yang memiliki 900 node:

Rentang Panduan
Node

Alamat IP node diambil dari rentang utama subnet cluster. Subnet cluster Anda harus cukup besar untuk menampung jumlah total node di cluster Anda.

Misalnya, jika Anda berencana membuat cluster dengan 900 node, subnet cluster setidaknya harus berukuran /22. Rentang /22 memiliki 210 = 1024 alamat. Kurangi 4 alamat IP yang tidak dapat digunakan, dan Anda akan mendapatkan 1020, yang cukup untuk 900 node.

Rentang alamat IP pod

Setiap node memiliki rentang alamat IP /24 untuk Pod. Rentang /24 memiliki 28 = 256 alamat. Ingat kembali bahwa 4096 alamat dalam rentang alamat Pod digunakan untuk Service. Bagian yang tersisa dari rentang alamat Pod digunakan untuk Pod, dan harus cukup besar untuk menampung jumlah node x 256 alamat.

Misalnya Anda berencana membuat cluster dengan 900 node. Maka, Anda memerlukan 900 x 256 = 230.400 alamat untuk Pod. Sekarang misalkan Anda memiliki rentang alamat Pod /14. Rentang /14 memiliki 218 = 262.144 alamat. Kurangi alamat 4096 yang digunakan untuk Service, dan Anda akan mendapatkan 258.048, yang cukup untuk 900 node.

Default dan batas untuk ukuran rentang

Tabel berikut memberikan ukuran minimum, maksimum, dan default untuk subnet cluster dan rentang alamat Pod.

Rentang Ukuran default Ukuran minimum Ukuran maksimum
Node

/20, yang memiliki 212 = 4.096 alamat. Kurangi 4 alamat yang dicadangkan, dan Anda akan mendapatkan 4092 alamat untuk node.

/29, yang memiliki 23 = 8 alamat. Kurangi 4 alamat yang dicadangkan, dan Anda akan mendapatkan 4 alamat untuk node.

/7, yang memiliki 225 alamat. Ini sekitar 33 juta alamat untuk node.

Rentang alamat IP pod

/14, yang memiliki 218 = 262.144 alamat.

/19, yang memiliki 213 = 8192 alamat.

/9, yang memiliki 223 = 8.388.608 alamat.

Pembatasan

  • Anda tidak dapat memigrasikan cluster VPC native ke cluster berbasis rute.
  • Anda tidak dapat memigrasikan cluster berbasis rute ke cluster berbasis VPC.
  • Cluster berbasis rute hanya dapat menggunakan alamat dalam rentang RFC 1918 untuk alamat IP pribadi. Cluster native VPC memiliki rentang yang lebih besar untuk alamat yang dapat digunakan.
  • Cluster berbasis rute tidak mendukung jaringan stack ganda.

Langkah berikutnya