Mengonfigurasi load balancer eksternal

Load balancer eksternal (ELB) mengekspos layanan di luar project dari alamat IP kumpulan yang ditetapkan ke project dari kumpulan IP eksternal instance yang lebih besar.

Alamat IP Virtual (VIP) ELB tidak berkonflik antar-organisasi dan bersifat unik di semua organisasi. Oleh karena itu, Anda hanya boleh menggunakan layanan ELB untuk layanan yang harus diakses oleh klien di luar project.

Workload yang berjalan di dalam project dapat mengakses layanan ELB selama Anda mengizinkan workload keluar dari project. Pola traffic ini secara efektif memerlukan traffic keluar dari project sebelum kembali ke layanan internal.

Sebelum memulai

Untuk mengonfigurasi layanan ELB, Anda harus memiliki hal berikut:

  • Memiliki project yang Anda konfigurasi load balancernya. Untuk mengetahui informasi selengkapnya, lihat Membuat project.
  • Kebijakan masuk ProjectNetworkPolicy (PNP) yang disesuaikan untuk mengizinkan traffic ke layanan ELB ini. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi PNP untuk mengizinkan traffic ke ELB.
  • Peran akses dan identitas yang diperlukan:

    • Admin NetworkPolicy Project: memiliki akses untuk mengelola kebijakan jaringan project di namespace project. Minta Admin IAM Organisasi Anda untuk memberi Anda peran Admin NetworkPolicy Project (project-networkpolicy-admin).
    • Admin Load Balancer: Minta Admin IAM Organisasi Anda untuk memberi Anda peran Admin Load Balancer (load-balancer-admin).

Mengonfigurasi PNP untuk mengizinkan traffic ke ELB

Agar layanan ELB berfungsi, Anda harus mengonfigurasi dan menerapkan kebijakan ingress ProjectNetworkPolicykustom Anda sendiri untuk mengizinkan traffic ke layanan ELB ini. Tentukan alamat CIDR eksternal untuk mengizinkan traffic ke ELB ini:

kubectl --kubeconfig MANAGEMENT_API_SERVER apply -f - <<EOF
apiVersion: networking.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT
  name: allow-inbound-traffic-from-external
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - ipBlock:
        cidr: CIDR
    ports:
    - protocol: TCP
      port: PORT
EOF

Ganti kode berikut:

  • MANAGEMENT_API_SERVER: jalur kubeconfig server Management API. Jika Anda belum membuat file kubeconfig untuk server API di zona target, lihat Login untuk mengetahui detailnya.
  • PROJECT: nama project GDC Anda.
  • CIDR: CIDR eksternal yang diperlukan ELB untuk diakses. Kebijakan ini diperlukan karena load balancer eksternal menggunakan Direct Server Return (DSR), yang mempertahankan alamat IP eksternal sumber dan melewati load balancer di jalur kembali.
  • PORT: port backend pada pod di belakang load balancer. Nilai ini ditemukan di kolom .spec.ports[].targetPort dari manifes untuk resource Service.

Membuat load balancer eksternal

Buat ELB menggunakan tiga metode berbeda di GDC:

Anda dapat menargetkan workload pod atau VM menggunakan KRM API dan gdcloud CLI. Anda hanya dapat menargetkan workload di cluster tempat objek Service dibuat saat menggunakan Layanan Kubernetes secara langsung di cluster Kubernetes.