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
initialize
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
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Klik add_box Buat.
Masukkan nama untuk cluster Anda.
Dari panel navigasi, pada Cluster, klik Networking.
Di bagian Opsi jaringan lanjutan, hapus centang pada kotak Aktifkan perutean traffic VPC native (menggunakan IP alias).
Klik Create.
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 selama waktu pembuatan cluster saja. 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
, denganCOMPUTE_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
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Klik add_box Buat.
Masukkan nama untuk cluster Anda.
Dari panel navigasi, pada Cluster, klik Networking.
Di bagian Akses jaringan IPv4, lakukan hal berikut:
- Untuk membuat cluster GKE sebagai publik, pilih tombol pilihan Cluster publik.
- Untuk membuat cluster GKE sebagai pribadi, pilih tombol pilihan Cluster pribadi.
Dalam kedua kasus tersebut, Anda dapat mengubah mode isolasi cluster saat mengedit konfigurasi cluster nanti.
Di bagian Opsi jaringan lanjutan, centang kotak Ganti subnet endpoint privat default bidang kontrol.
Di daftar Subnet endpoint pribadi, pilih subnet yang dibuat.
Hapus centang pada kotak Aktifkan perutean traffic VPC-native (menggunakan IP alias).
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
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Dalam daftar cluster, klik nama cluster yang ingin diperiksa.
Di halaman Detail cluster, klik tab Node.
Di bagian Node, catat nama node mana pun.
Buka halaman Rute di konsol Google Cloud.
Dalam daftar rute, di kolom Next hop, cari nama salah satu node cluster Anda. Klik nama rute untuk baris tersebut.
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
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Klik add_box Buat.
Masukkan nama untuk cluster Anda.
Dari panel navigasi, pada Cluster, klik Networking.
Di bagian Opsi jaringan lanjutan, hapus centang pada kotak Aktifkan perutean traffic VPC native (menggunakan IP alias).
Di kolom Rentang alamat pod, masukkan
10.96.0.0/16
.Klik Create.
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.