Halaman ini menjelaskan tindakan konektivitas keluar yang harus Anda lakukan pada mesin virtual (VM) atau pod dalam project agar workload dapat keluar dari organisasi. Prosedur ini menunjukkan cara menambahkan label yang diperlukan ke deployment untuk mengaktifkan traffic keluar secara eksplisit dan memungkinkan beban kerja berkomunikasi di luar organisasi.
Secara default, Google Distributed Cloud (GDC) dengan air gap memblokir workload dalam project agar tidak keluar dari organisasi. Workload dapat keluar dari organisasi jika Administrator Platform (PA) Anda telah menonaktifkan perlindungan eksfiltrasi data untuk project. Selain menonaktifkan perlindungan eksfiltrasi data, Operator Aplikasi (AO) harus menambahkan label egress.networking.gke.io/enabled: true
pada workload pod untuk mengaktifkan konektivitas keluar bagi pod tersebut. Saat Anda mengalokasikan dan menggunakan alamat IP terkenal untuk project, alamat IP tersebut akan melakukan terjemahan alamat jaringan (NAT) sumber pada traffic keluar dari organisasi.
Anda dapat mengelola konektivitas keluar dari workload di pod atau VM.
Mengelola traffic keluar dari workload dalam pod
Untuk mengonfigurasi workload dalam pod untuk konektivitas keluar, pertama-tama Anda harus memastikan perlindungan eksfiltrasi data dinonaktifkan untuk project. Kemudian, pastikan label egress.networking.gke.io/enabled: true
ditambahkan di pod. Jika Anda menggunakan konstruksi tingkat yang lebih tinggi seperti konstruksi Deployment
atau Daemonset
untuk mengelola kumpulan pod, Anda harus mengonfigurasi label pod dalam spesifikasi tersebut.
Contoh berikut menunjukkan cara membuat Deployment
dari file manifesnya. File contoh berisi nilai egress.networking.gke.io/enabled: true
di kolom labels
untuk mengaktifkan traffic keluar dari project secara eksplisit. Label ini ditambahkan ke setiap pod dalam deployment dan memungkinkan beban kerja di pod keluar dari organisasi.
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG \
apply -f - <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: DEPLOYMENT_NAME
spec:
replicas: NUMBER_OF_REPLICAS
selector:
matchLabels:
run: APP_NAME
template:
metadata:
labels: # The labels given to each pod in the deployment, which are used
# to manage all pods in the deployment.
run: APP_NAME
egress.networking.gke.io/enabled: true
spec: # The pod specification, which defines how each pod runs in the deployment.
containers:
- name: CONTAINER_NAME
image: CONTAINER_IMAGE
EOF
Ganti kode berikut:
USER_CLUSTER_KUBECONFIG
: file kubeconfig untuk cluster pengguna tempat Anda men-deploy workload container.DEPLOYMENT_NAME
: file kubeconfig untuk cluster pengguna tempat Anda men-deploy workload container.APP_NAME
: nama aplikasi yang akan dijalankan dalam deployment.NUMBER_OF_REPLICAS
: jumlah objekPod
replika yang dikelola deployment.CONTAINER_NAME
: nama container.CONTAINER_IMAGE
: nama image container. Anda harus menyertakan jalur registry container dan versi image, sepertiREGISTRY_PATH/hello-app:1.0
.
Contoh:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
run: my-app
template:
metadata:
labels:
run: my-app
egress.networking.gke.io/enabled: true
spec:
containers:
- name: hello-app
image: REGISTRY_PATH/hello-app:1.0
Mengelola traffic keluar dari workload di VM
Untuk mengonfigurasi beban kerja di VM untuk konektivitas keluar, Anda dapat menggunakan konsol GDC untuk konfigurasi VM atau membuat resource VirtualMachineExternalAccess
. Untuk mengetahui informasi tentang cara mengaktifkan VM dengan akses eksternal untuk transfer data, lihat Mengaktifkan akses eksternal di bagian Menghubungkan ke VM.