Halaman ini menjelaskan cara mengonfigurasi cluster yang dibuat dalam mode Google Kubernetes Engine (GKE) Autopilot untuk menjalankan penyamaran IP dengan Kebijakan NAT Keluar.
Untuk mengetahui informasi selengkapnya tentang penyamaran IP dalam mode GKE Standard, lihat Mengonfigurasi agen penyamaran IP.
Ringkasan
Kebijakan NAT Keluar GKE memungkinkan Anda mengonfigurasi perilaku penyamaran IP untuk cluster Autopilot.
GKE mendukung dua kebijakan NAT Keluar yang dibuat secara otomatis:
- Dikelola oleh GKE yang bersifat tetap dan tidak dapat diedit.
- Kebijakan default yang dapat diedit.
Halaman ini menunjukkan cara mengedit dan men-deploy kebijakan NAT Keluar dengan mengedit kebijakan default atau dengan membuat kebijakan NAT Keluar. Halaman ini juga menunjukkan cara menghapus kebijakan NAT Keluar yang dibuat.
Untuk informasi selengkapnya tentang perilaku kebijakan NAT Keluar, baca perilaku penyamaran traffic untuk cluster Autopilot.
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
.
Pastikan Anda memiliki cluster Autopilot yang menjalankan versi 1.23.4-gke.1600 atau yang lebih baru, atau 1.22.7-gke.1500 atau yang lebih baru. Cluster Anda harus mengaktifkan GKE Dataplane V2.
Pastikan cluster Anda memiliki workload yang sedang berjalan. Untuk informasi selengkapnya, lihat cara meminta resource.
Memeriksa status kebijakan NAT Keluar
Anda dapat memeriksa apakah cluster menjalankan definisi resource kustom (CRD) kebijakan NAT Keluar menggunakan alat Google Cloud CLI:
Dapatkan kredensial untuk cluster Anda:
gcloud container clusters get-credentials CLUSTER-NAME
Ganti
CLUSTER_NAME
dengan nama cluster.Periksa apakah kebijakan NAT Keluar sedang berjalan:
kubectl get crds egressnatpolicies.networking.gke.io
Jika kebijakan NAT Keluar sedang berjalan, output akan mirip dengan yang berikut ini:
NAME CREATED AT egressnatpolicies.networking.gke.io 2022-03-16T21:05:43Z
Dapatkan daftar kebijakan NAT Keluar yang dibuat:
kubectl get egressnatpolicies
Outputnya mirip dengan hal berikut ini:
NAME AGE default 44h gke-bbfa6c0e-1 44h
Mengedit kebijakan default yang ada
GKE mendukung dua kebijakan NAT yang dihasilkan secara otomatis, yaitu kebijakan default dan dikelola oleh kebijakan GKE. Kebijakan default dapat diedit dan mengonfigurasi tujuan non-kamuflase default.
Untuk mengedit kebijakan default yang ada, lakukan langkah-langkah berikut:
Dapatkan kredensial untuk cluster Anda:
gcloud container clusters get-credentials CLUSTER_NAME
Ganti
CLUSTER_NAME
dengan nama cluster Anda.Edit kebijakan NAT Keluar default:
kubectl edit egressnatpolicies default
Tambahkan atau hapus tujuan dengan tindakan NoSNAT sebagai atribut
cidr
dalam format CIDR:apiVersion: networking.gke.io/v1 kind: EgressNATPolicy metadata: name: default spec: action: NoSNAT destinations: - cidr: 10.0.0.0/8 - cidr: 172.16.0.0/12 - cidr: 192.168.0.0/16 - cidr: 240.0.0.0/4 - cidr: 192.0.2.0/24 - cidr: 198.51.100.0/24 - cidr: 203.0.113.0/24 - cidr: 100.64.0.0/10 - cidr: 198.18.0.0/15 - cidr: 192.0.0.0/24 - cidr: 192.88.99.0/24
Saat paket dikirim ke tujuan tersebut, cluster Anda tidak menyamarkan sumber alamat IP dan mempertahankan alamat IP Pod sumber.
Pastikan bahwa kebijakan default yang diedit telah di-deploy dengan memeriksa peristiwa Kubernetes:
kubectl get events
Outputnya mirip dengan hal berikut ini:
LAST SEEN TYPE REASON OBJECT MESSAGE 13s Normal EnsuringPolicy egressnatpolicy/default Ensuring IP masquerade config for policy "default"
Perubahan Anda mungkin memerlukan waktu hingga tiga menit untuk diterapkan.
Men-deploy kebijakan NAT Keluar baru
Untuk menambahkan tujuan baru dengan tindakan NoSNAT, Anda dapat menggunakan salah satu opsi berikut:
- Anda dapat mengedit kebijakan default yang ada.
- Anda dapat membuat kebijakan NAT Keluar baru.
Untuk membuat kebijakan NAT Keluar baru yang bukan bagian dari kebijakan default, lakukan langkah-langkah berikut:
Simpan manifes berikut sebagai
egress_nat_policy.yaml
:kind: EgressNATPolicy apiVersion: networking.gke.io/v1 metadata: name: POLICY_NAME spec: action: NoSNAT destinations: - cidr: CIDR_1 - cidr: CIDR_2
Ganti kode berikut:
POLICY_NAME
: nama kebijakan baru Anda.CIDR_1
danCIDR_2
: rentang alamat IP dalam format CIDR. Saat paket dikirim ke tujuan tersebut, cluster Anda tidak akan menyamarkan sumber alamat IP dan mempertahankan alamat IP Pod sumber. Jika memerlukan lebih dari dua CIDR, tambahkan entri lainnya ke daftardestinations
dengan mengikuti format yang sama.
Deploy kebijakan baru:
kubectl create -f egress_nat_policy.yaml
Pastikan kebijakan Anda telah di-deploy dengan memeriksa peristiwa Kubernetes:
kubectl get events
Output akan mirip dengan yang berikut ini:
LAST SEEN TYPE REASON OBJECT MESSAGE 13s Normal EnsuringPolicy egressnatpolicy/mypolicy Ensuring IP masquerade config for policy "mypolicy"
Menghapus kebijakan NAT Keluar
Untuk menghapus sepenuhnya kebijakan NAT Keluar, jalankan perintah berikut:
kubectl delete egressnatpolicies POLICY_NAME
Ganti POLICY_NAME
dengan nama kebijakan yang ingin Anda hapus.
Langkah selanjutnya
- Pelajari cara membuat cluster VPC native.
- Baca ringkasan jaringan GKE.
- Pelajari cara mengonfigurasi jaringan yang diizinkan.