Mengelola load balancer

Perangkat Google Distributed Cloud (GDC) dengan air gap menyediakan load balancer yang memungkinkan aplikasi saling mengekspos layanan. Load balancer mengalokasikan alamat IP virtual (VIP) yang stabil yang menyeimbangkan traffic di serangkaian workload backend. Load balancer di GDC melakukan load balancing lapisan empat (L4), yang berarti load balancer tersebut memetakan serangkaian port TCP atau UDP frontend yang dikonfigurasi ke port backend yang sesuai. Load balancer dikonfigurasi di tingkat project.

Load balancer dikonfigurasi untuk jenis workload berikut:

  • Workload yang berjalan di VM.
  • Workload dalam container di dalam cluster Kubernetes.

Ada tiga cara untuk mengonfigurasi load balancer di GDC:

  • Gunakan Networking Kubernetes Resource Model (KRM) API. Anda dapat menggunakan API ini untuk membuat load balancer.
  • Gunakan gdcloud CLI. Anda dapat menggunakan API ini untuk membuat load balancer.
  • Gunakan Layanan Kubernetes langsung dari cluster Kubernetes. Metode ini hanya membuat load balancer zonal.

Komponen load balancer

Saat menggunakan KRM API atau gcloud CLI untuk mengonfigurasi load balancer, Anda menggunakan load balancer penerusan L4:

  • L4 berarti protokolnya adalah TCP atau UDP.
  • Passthrough berarti tidak ada proxy antara beban kerja dan klien.

Load balancer terdiri dari komponen yang dapat dikonfigurasi berikut:

  • Aturan penerusan: menentukan traffic yang diteruskan, dan ke layanan backend mana. Aturan penerusan memiliki spesifikasi berikut:

    • Terdiri dari tiga tuple, CIDR, port, dan protokol, untuk diakses klien.
    • Mendukung protokol TCP dan UDP.
    • Menawarkan aturan penerusan internal dan eksternal. Klien dapat mengakses aturan penerusan internal dari dalam Virtual Private Cloud (VPC). Klien dapat mengakses aturan penerusan eksternal dari luar platform GDC atau dari dalam oleh workload yang memiliki nilai EgressNAT yang ditentukan.
    • Aturan penerusan terhubung ke layanan backend. Anda dapat mengarahkan beberapa aturan penerusan untuk mengarah ke layanan backend yang sama.
  • Layanan backend: adalah hub load balancing yang menghubungkan aturan penerusan, health check, dan backend. Layanan backend mereferensikan objek backend, yang mengidentifikasi workload yang diteruskan trafficnya oleh load balancer. Ada batasan pada backend yang dapat direferensikan oleh satu layanan backend:

    • Satu resource backend zona per zona.
    • Satu resource backend cluster per cluster. Hal ini tidak dapat digabungkan dengan backend project.
  • Backend: objek zonal yang menentukan endpoint yang berfungsi sebagai backend untuk layanan backend yang dibuat. Resource backend harus dicakup ke zona. Pilih endpoint menggunakan label. Cakupan pemilih ke project atau cluster:

    • Backend project adalah backend yang tidak memiliki kolom ClusterName yang ditentukan. Dalam hal ini, label yang ditentukan berlaku untuk semua beban kerja dalam project tertentu, di VPC zona tertentu. Label diterapkan ke workload VM dan pod di beberapa cluster. Saat layanan backend menggunakan backend project, Anda tidak dapat mereferensikan backend lain untuk zona tersebut di layanan backend tersebut.

    • Backend cluster adalah backend yang memiliki kolom ClusterName yang ditentukan. Dalam hal ini, label yang ditentukan berlaku untuk semua beban kerja dalam cluster bernama di project yang ditentukan. Anda dapat menentukan paling banyak satu backend per zona per cluster dalam satu layanan backend.

  • Health check: tentukan pemeriksaan untuk menentukan apakah endpoint workload tertentu di backend responsif atau tidak. Endpoint yang tidak responsif akan dikeluarkan dari load balancer, hingga endpoint tersebut responsif kembali. Pemeriksaan kondisi hanya berlaku untuk workload VM. Workload Pod dapat menggunakan mekanisme pemeriksaan Kubernetes bawaan untuk menentukan apakah endpoint tertentu dalam kondisi baik.

Saat menggunakan Layanan Kubernetes secara langsung, Anda menggunakan objek Service, bukan komponen yang tercantum sebelumnya. Anda hanya dapat menargetkan workload di cluster tempat objek Service dibuat.

Load balancing eksternal dan internal

Aplikasi GDC memiliki akses ke jenis layanan jaringan berikut:

  • Load Balancer Internal (ILB): memungkinkan Anda mengekspos layanan ke cluster lain dalam organisasi.
  • Load Balancer Eksternal (ELB): mengalokasikan alamat VIP dari rentang yang dapat dirutekan dari beban kerja eksternal dan mengekspos layanan di luar organisasi GDC, seperti organisasi lain di dalam atau di luar instance GDC.

Alamat IP virtual layanan

ILB mengalokasikan alamat VIP yang hanya bersifat internal bagi organisasi. Alamat VIP ini tidak dapat dijangkau dari luar organisasi; oleh karena itu, Anda hanya dapat menggunakannya untuk mengekspos layanan ke aplikasi lain dalam organisasi. Alamat IP ini dapat tumpang-tindih antar-organisasi dalam instance yang sama.

Di sisi lain, ELB mengalokasikan alamat VIP yang dapat dijangkau secara eksternal dari luar organisasi. Oleh karena itu, alamat VIP ELB harus unik di antara semua organisasi. Biasanya, lebih sedikit alamat VIP ELB yang tersedia untuk digunakan oleh organisasi.

Langkah berikutnya