Google Distributed Cloud (GDC) dengan air gap mendukung cluster standar, yaitu cluster Kubernetes layanan mandiri satu project yang dikelola oleh grup operator aplikasi yang menawarkan fleksibilitas lebih besar untuk workload kustom. Halaman ini membahas cara menyiapkan Cloud NAT untuk cluster standar, dan menjelaskan beberapa batasan dan batasan pada konfigurasi NAT untuk jenis cluster ini.
Sebelum memulai
Sebelum menyiapkan gateway, Anda harus mendapatkan izin Identity and Access Management (IAM) yang sesuai, memastikan project Anda memiliki kebijakan jaringan yang sesuai, dan mengaktifkan keluar.
Lihat Sebelum Anda memulai dengan Cloud NAT untuk mengetahui detailnya.
Gateway Cloud NAT menggunakan subnet leaf eksternal sebagai input. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi subnet eksternal untuk Cloud NAT, lihat Membuat subnet eksternal untuk Cloud NAT.
Ringkasan

Gateway Cloud NAT dapat dikonfigurasi untuk menangani traffic keluar bagi workload yang berjalan di cluster standar dengan dua cara:
- Gateway cakupan project: Gateway yang berlaku untuk semua traffic workload di cluster dalam project, yang mencakup semua cluster standar dan bersama. Konfigurasi ini dijelaskan di bagian Membuat gateway Cloud NAT.
- Gateway cakupan cluster: Gateway yang hanya berlaku untuk beban kerja dalam satu cluster standar yang ditentukan. Ini adalah jenis gateway yang ditunjukkan di halaman ini.
Kedua metode ini khusus untuk workload, dan tidak berlaku untuk node yang membentuk cluster standar. Untuk mengaktifkan
Cloud NAT bagi
node yang membentuk cluster standar, tambahkan label
cluster.gdc.goog/enable-node-egress-to-outside-the-org: "true" ke
objek cluster standar.
Buat gateway Cloud NAT
Proses pembuatan gateway untuk cluster standar tetap sama dengan pembuatan gateway Cloud NAT yang tercakup dalam project.
Dalam hal ini, kita akan berfokus pada kemampuan pemfilteran cluster untuk Cloud NAT cluster standar dan membuat penyiapan yang serupa dengan skenario pertama, tetapi menentukan nama cluster standar user-vc-1 tempat endpoint yang akan merutekan traffic melalui gateway berada. Akibatnya, gateway ini akan dicakup ke cluster tertentu ini.
apiVersion: networking.gdc.goog/v1
kind: CloudNATGateway
metadata:
namespace: project-1
name: gateway-1
spec:
workloadSelector: # Immutable
labelSelector:
workloads:
matchLabels:
app: aa
clusters:
matchLabels:
kubernetes.io/metadata.name: user-vc-1
subnetRefs: # Mutable
- subnet-1
- subnet-2
Konfigurasi ini akan memilih semua beban kerja dengan label app: aa di semua namespace dalam cluster standar user-vc-1.
Periksa status gateway
Periksa status gateway dengan menjalankan perintah kubectl berikut.
export MGMT_KUBECONFIG=<path_to_management_kubeconfig>
kubectl get cloudnatgateways gateway-1 -n project-1 --kubeconfig "${MGMT_KUBECONFIG:?}"
Jika dikonfigurasi dengan benar, kolom kondisi status gateway Cloud NAT harus menampilkan kondisi jenis Ready yang ditetapkan ke true dan subnet yang ditandai sebagai OK, seperti yang ditunjukkan pada contoh output berikut:
apiVersion: networking.gdc.goog/v1
kind: CloudNATGateway
metadata:
namespace: project-1
name: gateway-1
spec:
workloadSelector: # Immutable
labelSelector:
workloads:
matchLabels:
app: aa
clusters:
matchLabels:
kubernetes.io/metadata.name: user-vc-1
subnetRefs: # Mutable
- subnet-1
- subnet-2
status:
conditions:
- lastTransitionTime: "2025-08-20T21:31:36Z"
message: ""
observedGeneration: 1
reason: Ready
status: "True"
type: Ready
- lastTransitionTime: "2025-08-20T21:31:36Z"
message: ""
observedGeneration: 1
reason: Ready
status: "True"
type: SubnetsReady
- lastTransitionTime: "2025-08-20T21:31:36Z"
message: ""
observedGeneration: 1
reason: Ready
status: "True"
type: PerimeterConfigurationReady
- lastTransitionTime: "2025-08-20T21:31:36Z"
message: ""
observedGeneration: 1
reason: Ready
status: "True"
type: EgressRoutesReady
subnets:
- name: subnet-1
status: OK
- name: subnet-2
status: OK
Traffic pengujian
Uji traffic dengan mengeluarkan perintah curl dari salah satu pod atau VM yang ditetapkan ke gateway di cluster standar menuju endpoint eksternal. Endpoint penerima
akan melihat paket dari salah satu IP keluar yang terkait dengan
gateway. Endpoint dalam cluster bersama dengan label yang sama TIDAK DAPAT mengirimkan traffic keluar menggunakan gateway ini.
Batasan pada konfigurasi gateway khusus cluster
Pencocokan label workload
(workloadSelector.labelSelector.workloads.matchLabels) dari gateway
cakupan cluster TIDAK BOLEH TUMPANG-TINDIH dengan pencocokan label workload dari gateway
cakupan project lainnya. Seperti yang dibahas dalam Batasan pada konfigurasi Cloud NAT, workloadSelector.labelSelector.workloads.matchLabels tidak boleh tumpang-tindih di antara gateway dalam project dan zona yang sama.
Batasan lain yang tercantum dalam Batasan pada konfigurasi Cloud NAT juga berlaku untuk konfigurasi gateway cakupan cluster.