Dokumen ini menjelaskan cara mengonfigurasi konektivitas dari Pod di GKE ke endpoint eksternal, termasuk resource di jaringan lokal dan layanan internet publik. Untuk mengontrol alamat IP sumber traffic Pod GKE, Anda dapat menggunakan ip-masq-agent (terjemahan tingkat node) dan Cloud NAT (keluar tingkat VPC).
Ringkasan
Saat Pod di cluster GKE VPC-native mengirim paket ke tujuan di luar cluster, alamat IP sumber paket akan berubah bergantung pada cara konfigurasi agen penyamaran IP tingkat node (ip-masq-agent) dan Cloud NAT.
- Terjemahan tingkat node (
ip-masq-agent): menerjemahkan alamat IP sumber paket dari alamat IP Pod (rentang subnet sekunder) ke alamat IP node internal (rentang subnet utama) berdasarkan daftarnonMasqueradeCIDRsyang dikonfigurasi. - Gateway tingkat VPC (Cloud NAT): menerjemahkan alamat IP VPC internal (Alamat IP Node atau Alamat IP Pod) ke alamat IP publik statis untuk memungkinkan akses internet keluar.
Bergantung pada apakah tujuan disamarkan oleh node, paket meninggalkan node dengan alamat IP node atau alamat IP Pod. Alamat IP sumber ini menentukan cara Anda mengonfigurasi Cloud Router atau router lokal.
Cara kerja penyamaran IP dan Cloud NAT
Untuk traffic yang menghadap internet, paket dari Pod melintasi stack jaringan node dan gateway Cloud NAT.
Skenario A: Penyamaran ke alamat IP node (direkomendasikan untuk traffic keluar Internet)
Jika alamat IP tujuan tidak cocok dengan rentang mana pun dalam daftar nonMasqueradeCIDRs:
ip-masq-agentmelakukan Source NAT (SNAT) di node GKE. Alamat IP sumber ditulis ulang dari alamat IP Pod ke alamat IP node.- Paket memasuki jaringan VPC dengan alamat IP node sebagai sumber.
- Gateway Cloud NAT mencegat paket.
- Cloud NAT menerjemahkan alamat IP node ke alamat IP publik dan merutekannya ke internet.
Skenario B: Mempertahankan alamat IP Pod (tanpa penyamaran)
Jika alamat IP tujuan cocok dengan rentang dalam daftar nonMasqueradeCIDRs (atau jika SNAT default dinonaktifkan):
ip-masq-agenttidak mengubah paket. Alamat IP sumber tetap menjadi alamat IP Pod.- Paket memasuki jaringan VPC dengan alamat IP Pod sebagai sumber.
- Gateway Cloud NAT mencegat paket.
- Cloud NAT menerjemahkan alamat IP Pod ke alamat IP publik hanya jika Cloud NAT dikonfigurasi secara eksplisit untuk menerjemahkan rentang alamat IP sekunder subnet yang digunakan untuk Pod GKE.
Pemeriksa penyamaran IP
Gunakan pemeriksa ini untuk memverifikasi apakah alamat IP tujuan akan disamarkan berdasarkan konfigurasi ip-masq-agent Anda.
Contoh alur traffic
Untuk memahami jalur terjemahan, pertimbangkan contoh konfigurasi berikut:
- Rentang alamat IP Pod:
10.4.0.0/14(Alamat IP Pod:10.4.0.5) - Rentang alamat IP node:
10.128.0.0/20(alamat IP node:10.128.0.10) - Alamat IP tujuan:
8.8.8.8(server DNS publik, tidak ada dalam daftarnonMasqueradeCIDRs)
Saat Pod mengirim paket, hal berikut akan terjadi:
- Paket dimulai di Pod: paket berasal dari antarmuka jaringan Pod (alamat IP:
10.4.0.5) dengan alamat IP tujuan8.8.8.8. - Penyamaran tingkat node: karena alamat IP tujuan
8.8.8.8tidak ada dalam daftarnonMasqueradeCIDRs,ip-masq-agentdi node host mencegat paket saat keluar dan melakukan SNAT. Alamat IP sumber ditulis ulang dari alamat IP Pod10.4.0.5ke alamat IP node host, yaitu10.128.0.10. - Traffic keluar VPC: paket mencapai jaringan VPC menggunakan alamat IP node host
10.128.0.10sebagai alamat IP sumber. - Gateway Cloud NAT: karena tujuannya adalah internet publik, Cloud NAT memproses paket, menerjemahkan alamat IP sumber dari
10.128.0.10ke alamat IP NAT publik (misalnya,203.0.113.1), dan meneruskannya ke internet. - Penanganan respons: respons kembali ke alamat IP Cloud NAT publik, yang diterjemahkan kembali oleh Cloud NAT ke alamat IP node host
10.128.0.10. Kemudian, node menerjemahkan kembali alamat IP node host ke alamat IP Pod, yaitu10.4.0.5, dan mengirimkannya ke penampung Pod.
Alur traffic dengan Cloud Service Mesh (CSM)
Jika beban kerja Anda menggunakan Cloud Service Mesh, perutean traffic akan berperilaku sebagai berikut:
- Pengalihan CNI tanpa sidecar atau proxy sidecar: paket keluar dari penampung aplikasi dicegat oleh mesh (dengan menggunakan proxy sidecar seperti Envoy, atau melalui pengalihan berbasis ebpf atau CNI) sebelum mencapai namespace jaringan node.
- Penerapan kebijakan: mesh menentukan apakah koneksi diizinkan berdasarkan kebijakan otorisasi dan egress-nya.
- Perutean egress:
- Jika traffic diarahkan menggunakan gateway keluar Cloud Service Mesh, alamat IP sumber paket yang meninggalkan node sesuai dengan alamat IP node atau Pod gateway keluar, bukan Pod asal.
- Jika traffic dirutekan langsung ke endpoint eksternal, paket akan keluar dari proxy dan dirutekan melalui stack jaringan node host standar. Dalam hal ini, kebijakan
ip-masq-agentdan konfigurasi Cloud NAT yang dijelaskan sebelumnya dalam dokumen ini masih berlaku untuk traffic keluar.
- Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi pemilihan rute, gateway, dan mengelola traffic eksternal di Cloud Service Mesh, lihat dokumentasi Cloud Service Mesh.
Memecahkan masalah dan mengisolasi masalah konektivitas
Jika Pod tidak dapat terhubung ke endpoint eksternal dan Anda menggunakan mesh layanan, Anda harus mengisolasi apakah masalahnya ada di konfigurasi mesh layanan atau perutean GKE yang mendasarinya. Untuk mengisolasi masalah, gunakan metode berikut:
- Lewati mesh layanan: deploy Pod klien sementara di namespace tempat injeksi sidecar dinonaktifkan, atau gunakan anotasi
sidecar.istio.io/inject: "false"dalam spesifikasi Pod untuk mencegah injeksi untuk workload pengujian. - Uji konektivitas: coba hubungkan ke tujuan eksternal (misalnya, dengan menggunakan
curl,ping, ataunc) dari Pod non-mesh. - Analisis hasil:
- Jika koneksi berhasil: perutean jaringan GKE yang mendasarinya, aturan
ip-masq-agent, dan gateway Cloud NAT dikonfigurasi dengan benar. Blokir konektivitas disebabkan oleh kebijakan Cloud Service Mesh, aturan keluar yang tidak ada, atau aturan mTLS. Untuk mengetahui informasi selengkapnya tentang pemecahan masalah, lihat Memecahkan masalah deployment yang menggunakan Envoy dalam dokumentasi Cloud Service Mesh. - Jika koneksi gagal: masalahnya terkait dengan infrastruktur jaringan yang mendasarinya (seperti penyamaran IP, Cloud Router, Cloud NAT, aturan firewall VPC, atau firewall lokal). Gunakan langkah-langkah di halaman ini untuk memverifikasi konfigurasi perutean Anda.
- Jika koneksi berhasil: perutean jaringan GKE yang mendasarinya, aturan
Tentukan rentang alamat IP sumber menggunakan pemeriksa
Sebelum mengonfigurasi router atau firewall, gunakan pemeriksa penyamaran IP dalam dokumen ini, dan lakukan hal berikut:
- Tempel konten YAML
ip-masq-agentConfigMap Anda ke kolom konfigurasi. - Masukkan alamat IP tujuan endpoint target Anda (seperti database lokal atau layanan internet eksternal).
- Klik Periksa Penyamaran.
- Perhatikan outputnya:
- Disamarkan: paket menggunakan rentang alamat IP node sebagai sumber.
- Tidak disamarkan: paket menggunakan rentang alamat IP Pod sebagai sumber.
Mengonfigurasi konektivitas ke endpoint
Berdasarkan hasil pemeriksaan penyamaran IP, konfigurasikan jalur dan gateway jaringan Anda sesuai dengan jenis tujuan.
Endpoint lokal (VPN atau Interconnect)
Cloud NAT tidak digunakan untuk konektivitas lokal, tetapi Anda harus mengonfigurasi router dan firewall berdasarkan rentang alamat IP sumber yang Anda tentukan dengan pemeriksa penyamaran IP.
Jika traffic disamarkan (sumber adalah alamat IP node):
- Cloud Router: pastikan bahwa pemberitahuan Cloud Router menyertakan rentang alamat IP utama subnet cluster GKE.
- Router atau firewall lokal: konfigurasi router dan firewall lokal Anda untuk mengizinkan dan menangani traffic masuk dari rentang alamat IP node GKE.
Jika traffic tidak disamarkan (sumber adalah alamat IP Pod):
- Cloud Router: mengonfigurasi pemberitahuan rute kustom di Cloud Router Anda untuk mengiklankan rentang alamat IP sekunder Pod GKE ke jaringan lokal Anda.
- Router atau firewall lokal: konfigurasi tabel perutean dan firewall lokal untuk mengizinkan traffic yang berasal dari rentang alamat IP Pod GKE dan pastikan rute kembali diiklankan kembali ke VPC.
Endpoint internet (Cloud NAT)
Saat merutekan traffic ke endpoint internet publik, Anda harus mengonfigurasi gateway Cloud NAT di dalam VPC.
- Di konsol Cloud de Confiance , buka halaman Cloud NAT.
- Pilih atau buat gateway Cloud NAT Anda.
- Di bagian Sumber Cloud NAT, pilih cara gateway menangani rentang subnet GKE:
- Jika traffic di-masquerade (sumbernya adalah alamat IP node): pilih Rentang alamat IP utama subnet. Deployment GKE komersial biasanya menggunakan setelan default ini.
- Jika traffic tidak disamarkan (sumbernya adalah alamat IP Pod): harus memilih Rentang alamat IP primer dan sekunder (atau menentukan rentang sekunder Pod GKE secara eksplisit). Jika Anda hanya memilih rentang utama, traffic internet Pod GKE akan diblokir.