Mengelola traffic keluar dari workload

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 objek Pod replika yang dikelola deployment.

  • CONTAINER_NAME: nama container.

  • CONTAINER_IMAGE: nama image container. Anda harus menyertakan jalur registry container dan versi image, seperti REGISTRY_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.