Untuk membangun cluster Google Kubernetes Engine (GKE) yang skalabel dan aman, Anda harus mengelola alamat IP secara efektif. Dokumen ini memberikan ringkasan komprehensif tentang cara GKE menggunakan alamat IP untuk komunikasi cluster, model jaringan yang didukung, dan praktik terbaik untuk pengelolaan alamat IP yang efektif.
Dokumen ini ditujukan bagi arsitek Cloud dan spesialis Jaringan yang mendesain dan membangun arsitektur jaringan untuk organisasi mereka. Untuk mengetahui informasi selengkapnya tentang peran umum dan contoh tugas dalam Google Cloud, lihat Peran dan tugas pengguna GKE Enterprise umum.
Sebelum melanjutkan, pastikan Anda memahami konsep berikut:
- Jaringan dasar: termasuk alamat IP, CIDR, firewall, dan Network Address Translation (NAT).
- Komponen inti Kubernetes: seperti cluster, node, Pod, dan Service.
Cara alamat IP menghubungkan komponen GKE
GKE dibangun berdasarkan model jaringan Kubernetes, yang mengharuskan setiap komponen memiliki alamat IP yang berbeda untuk komunikasi. Bagian berikut menjelaskan cara GKE menetapkan dan menggunakan alamat IP untuk komponen cluster inti:
Node: GKE menetapkan alamat IP internal ke setiap node, yang merupakan instance VM Compute Engine, dari rentang alamat IP utama subnet yang terkait dengan kumpulan nodenya. Alamat IP ini memungkinkan komunikasi antara node dan bidang kontrol Kubernetes. Node juga dapat memiliki alamat IP eksternal untuk akses internet keluar.
Pod: mengikuti model "IP per Pod" Kubernetes, GKE menetapkan alamat IP unik untuk setiap Pod dari rentang CIDR Pod yang dialokasikan ke node. Di GKE, jaringan VPC secara native merutekan alamat IP Pod. Kemampuan perutean bawaan ini memungkinkan komunikasi langsung antar-Pod—bahkan di seluruh node yang berbeda—tanpa memerlukan Network Address Translation (NAT). Semua container dalam satu Pod berbagi alamat IP yang sama dan dapat berkomunikasi melalui
localhost.Layanan: GKE menetapkan alamat IP virtual yang stabil (
ClusterIP) ke setiap Layanan Kubernetes dari rentang alamat IP sekunder khusus.ClusterIPini menyediakan satu endpoint yang andal untuk grup Pod. Saat Anda mengirim traffic keClusterIP, GKE akan otomatis melakukan load balancing ke Pod yang responsif dalam Layanan tersebut.Bidang kontrol: di cluster pribadi, bidang kontrol berada dalam project tenant yang dikelola Google dan menggunakan rentang alamat IP internalnya sendiri. Project tenant ini terhubung ke jaringan VPC Anda, sehingga memungkinkan komunikasi yang aman antara bidang kontrol dan node di jaringan VPC cluster Anda. Koneksi ini biasanya menggunakan Private Service Connect.
Load balancer: untuk mengekspos aplikasi ke internet atau di dalam jaringan VPC, Anda dapat mengonfigurasi GKE agar menggunakanGoogle Cloud load balancer. Load balancer eksternal menggunakan alamat IP publik. Load balancer internal menggunakan alamat IP internal dari rentang subnet utama jaringan VPC Anda.
Tabel berikut merangkum cara GKE menetapkan alamat IP ke komponen cluster:
| Komponen | Cara penetapan alamat IP |
|---|---|
| Node | GKE menetapkan alamat IP internal ke setiap node. GKE mengalokasikan alamat IP ini dari rentang alamat IP utama subnet yang terkait dengan node pool node. Subnet ini dapat berupa subnet default cluster atau subnet tambahan. |
| Pod | GKE menetapkan alamat IP unik untuk setiap Pod dari rentang CIDR Pod yang dialokasikan ke node-nya. |
| Service (ClusterIP) | GKE menetapkan alamat IP virtual yang stabil (ClusterIP) ke setiap Service dari rentang alamat IP sekunder khusus dalam jaringan VPC cluster. |
| Bidang kontrol | Di cluster pribadi, bidang kontrol GKE memiliki rentang alamat IP internalnya sendiri dalam project tenant yang dikelola Google. Project tenant ini terhubung ke jaringan VPC Anda, biasanya dengan menggunakan Private Service Connect. |
| Load balancer | Load balancer eksternal menggunakan alamat IP publik. Load balancer internal menggunakan alamat IP internal dari rentang alamat IP utama subnet cluster. |
Pembuatan alamat IP Kubernetes dan implementasi GKE
Untuk menggunakan GKE secara efektif, Anda harus memahami perbedaan antara model jaringan Kubernetes abstrak dan cara GKE menerapkan model ini di Google Cloud.
Model pengalamatan IP Kubernetes: project Kubernetes open source menentukan bahwa setiap Pod menerima alamat IP unik. Semua alamat IP Pod dapat berkomunikasi secara langsung tanpa Network Address Translation (NAT). Hal ini memastikan ruang jaringan datar tempat Pod dapat saling terhubung menggunakan alamat IP yang ditetapkan.
Implementasi pembuatan alamat IP GKE: GKE mengimplementasikan model pembuatan alamat IP Kubernetes di Google Cloud dengan mengintegrasikan dengan jaringan native VPC. Saat Anda membuat Pod, GKE akan mengalokasikan alamat IP-nya dari rentang alamat IP alias VPC. Hal ini membuat alamat IP setiap Pod dapat dirutekan secara native dalam seluruh jaringan VPC Anda. Hal ini memungkinkan komunikasi langsung tidak hanya antar-Pod, tetapi juga dengan resource lain, seperti instance Compute Engine dan database Cloud SQL. Google Cloud Demikian pula, GKE mengelola alamat IP Kubernetes
Service(sepertiClusterIP) dalam jaringan VPC. Saat Anda membuat LayananLoadBalanceruntuk eksposur eksternal, GKE akan menyediakan Load Balancer Google Cloud . Load balancer ini menggunakan alamat IP publik atau internal dari jaringan VPC Anda. GKE menggunakan Google Cloudinfrastruktur jaringan dan pengalamatan IP yang andal untuk menerapkan konsep jaringan berbasis IP Kubernetes secara terukur dan aman.
Model jaringan GKE: Cluster berbasis VPC
GKE menerapkan model jaringan Kubernetes dengan menggunakan jaringan VPC-native, yang merupakan kemampuan Google Cloud inti.
Model ini menggunakan rentang alamat IP alias. Dalam cluster VPC native, Kubernetes mengonfigurasi alamat IP Pod sebagai rentang alamat IP alias di antarmuka jaringan virtual node.
Penerapan ini menawarkan beberapa keunggulan utama:
- Kemampuan perutean native VPC: Alamat IP Pod dapat dirutekan secara langsung dalam jaringan VPC Anda. Hal ini menyederhanakan desain jaringan dan memungkinkan komunikasi langsung dengan latensi rendah antara Pod dan resource Google Cloud lain, seperti instance Compute Engine dan instance Cloud SQL.
- Menghemat kuota rute: dengan menggunakan alamat IP alias untuk Pod, GKE tidak membuat rute statis kustom untuk setiap node. Hal ini menghemat kuota rute VPC Anda, peningkatan yang signifikan dibandingkan dengan cluster berbasis rute lama, dan penting untuk deployment skala besar.
- Meningkatkan keamanan: Kemampuan perutean native VPC memungkinkan Anda menerapkan aturan firewall native VPC langsung ke traffic Pod, sehingga meningkatkan keamanan tingkat jaringan.
VPC native adalah mode jaringan default dan yang direkomendasikan untuk semua cluster GKE.
Alasan pentingnya pengelolaan alamat IP yang efektif
Untuk memastikan cluster Anda dapat menskalakan dan mempertahankan kesehatan aplikasi, Anda harus merencanakan ruang alamat IP secara efektif:
- Memastikan skalabilitas: rencanakan rentang alamat IP node, Pod, dan Layanan Anda secara efektif untuk mencegah kehabisan alamat IP dan memungkinkan cluster Anda diskalakan tanpa memerlukan rearsitektur jaringan yang mengganggu.
- Menjamin keandalan: hindari rentang alamat IP yang tumpang-tindih antara cluster GKE dan jaringan lain, seperti lingkungan lokal yang terhubung melalui Cloud VPN. Rentang yang tumpang-tindih dapat menyebabkan konflik perutean, perilaku yang tidak dapat diprediksi, dan gangguan layanan.
- Memperkuat keamanan: kelola alamat IP secara efektif untuk memperkuat keamanan jaringan. Menentukan Kebijakan Jaringan Kubernetes untuk mengontrol alur traffic antar-Pod dan mengonfigurasi aturan firewall untuk isolasi workload di tingkat jaringan.
Memilih model pengalamatan IP untuk cluster Anda
GKE mendukung beberapa konfigurasi stack jaringan untuk memenuhi persyaratan jaringan Anda, termasuk opsi khusus IPv4, dual-stack (IPv4 dan IPv6), dan opsi khusus IPv6 yang akan datang.
Khusus IPv4 (stack tunggal)
Ini adalah konfigurasi standar dan paling umum, di mana semua komponen cluster menggunakan alamat IPv4. Bahkan dalam model khusus IPv4, GKE memberikan fleksibilitas:
- Alamat IP pribadi RFC 1918: Gunakan rentang alamat IP pribadi RFC 1918 (misalnya,
10.0.0.0/8) untuk cluster Anda. - Alamat IP publik yang digunakan secara pribadi (PUPI): jika organisasi Anda tidak memiliki ruang alamat IP pribadi yang memadai, Anda dapat menggunakan rentang alamat IP publik untuk penggunaan internal dalam jaringan VPC Anda. Saat menggunakan PUPI, Anda harus mengonfigurasi agen penyamaran IP. Agen ini melakukan Penafsiran Alamat Jaringan Sumber (SNAT) pada traffic keluar dari Pod. Tanpa SNAT, traffic kembali ke Pod yang menggunakan PUPI akan dirutekan melalui internet publik dan gagal. Agen Penyamaran IP mencegah hal ini dengan mengubah alamat IP sumber paket keluar dari PUPI Pod menjadi alamat IP internal node. Hal ini memastikan traffic kembali dirutekan dengan benar ke node, lalu diteruskan ke Pod asli.
Stack ganda (IPv4 dan IPv6)
Cluster stack ganda menggunakan protokol IPv4 dan IPv6. GKE menetapkan alamat IPv4 dan IPv6 ke node, Pod, dan Layanan dalam cluster dual-stack. Model ini ideal untuk:
- Memfasilitasi transisi bertahap ke IPv6.
- Memastikan kompatibilitas dengan workload yang siap untuk IPv6 dan klien serta layanan yang hanya menggunakan IPv4.
Anda dapat mengaktifkan jaringan stack ganda saat membuat cluster, atau Anda dapat mengupdate cluster stack tunggal yang ada ke stack ganda.
Langkah berikutnya
- Untuk mempelajari lebih lanjut manfaat mode jaringan default GKE, lihat Tentang cluster VPC native.
- Untuk memulai, pelajari cara membuat cluster VPC native.
- Untuk panduan tentang menentukan ukuran rentang alamat IP cluster, lihat Perencanaan rentang alamat IP untuk cluster VPC native.
- Untuk mendapatkan bantuan terkait masalah umum, lihat memecahkan masalah Agen Penyamaran IP.