ALB Ingress didasarkan pada layanan Application Load Balancer (ALB) Alibaba Cloud dan menyediakan titik masuk terpadu untuk layanan dalam kluster. Berbeda dengan NGINX Ingress, ALB Ingress merupakan layanan yang sepenuhnya dikelola sehingga tidak memerlukan pemeliharaan manual. Layanan ini secara otomatis mendeteksi perubahan pada resource Ingress dalam kluster Kubernetes dan mendistribusikan lalu lintas ke layanan backend berdasarkan aturan yang telah ditentukan. Selain itu, ALB Ingress dilengkapi mekanisme skalabilitas elastis yang andal, mampu menyesuaikan diri secara otomatis terhadap fluktuasi lalu lintas dinamis guna menjamin stabilitas operasional sistem.
Sebelum Anda Membaca
Untuk memahami fitur ALB Ingress lebih baik, disarankan membaca dokumen ini sebelum menggunakannya.
Sebelum membaca dokumen ini, Anda dapat merujuk ke dokumentasi resmi Kubernetes Ingress guna memahami konsep dasar Ingress dan IngressClass.
Cara Kerja ALB Ingress
ALB Ingress melibatkan konsep-konsep dasar berikut:
ALB Ingress Controller: Komponen ini mengelola resource Ingress dengan secara dinamis mengambil perubahan pada resource Ingress dan AlbConfig dari API Server kluster, lalu memperbarui instans ALB sesuai aturan pengalihan yang didefinisikan dalam Ingress. Berbeda dengan NGINX Ingress Controller, ALB Ingress Controller berfungsi sebagai lapisan kontrol untuk instans ALB—mengelola instans tersebut tanpa memproses lalu lintas pengguna secara langsung. Lalu lintas pengguna diteruskan oleh instans ALB itu sendiri.
AlbConfig adalah Custom Resource Definition (CRD) tingkat kluster yang dibuat oleh ALB Ingress Controller. Setiap AlbConfig berisi parameter konfigurasi untuk satu instans ALB. Instans ALB berfungsi sebagai titik masuk lalu lintas dan meneruskan permintaan ke layanan backend. Instans ini sepenuhnya dikelola oleh Application Load Balancer (ALB). Berbeda dengan NGINX Ingress Controller, ALB Ingress tidak memerlukan operasi dan pemeliharaan (O&M) serta menawarkan elastisitas yang lebih tinggi.
IngressClass: IngressClass mendefinisikan asosiasi antara Ingress dan AlbConfig.
Ingress: Dalam Kubernetes, Ingress adalah objek resource yang mendefinisikan routing lalu lintas eksternal dan aturan akses. ALB Ingress Controller memantau perubahan pada resource Ingress dan memperbarui instans ALB untuk meneruskan lalu lintas sesuai ketentuan.
Service: Dalam Kubernetes, pod bersifat sementara dan dinamis. Service menyediakan titik masuk yang stabil dan terpadu untuk pod-pod dengan fungsi serupa. Aplikasi atau layanan lain dapat berkomunikasi dengan pod backend melalui alamat IP virtual (VIP) dan Port Service tanpa perlu melacak perubahan pada pod. Untuk informasi lebih lanjut tentang Service, lihat Manajemen Service.
Modifikasi manual terhadap konfigurasi instans ALB melalui konsol load balancing dapat ditimpa oleh mekanisme sinkronisasi otomatis ALB Ingress, berpotensi menyebabkan kehilangan konfigurasi atau bahkan ketidaktersediaan instans. Jangan memodifikasi langsung konfigurasi instans ALB yang dikelola oleh ACK melalui konsol load balancing tanpa mengikuti panduan resmi.
Lihat diagram berikut untuk memahami hubungan logis antara instans ALB dan ALB Ingress:
Alur Penggunaan ALB Ingress
Untuk menyelesaikan proses di atas, lihat Buat dan Gunakan ALB Ingress untuk Mengekspos Layanan.
Kapan Menggunakan ALB Ingress daripada NGINX Ingress
ALB Ingress dikelola oleh Alibaba Cloud. Setiap instans ALB mendukung hingga satu juta QPS, puluhan juta koneksi bersamaan, skalabilitas otomatis, dan uptime layanan 99,995%. Sebaliknya, NGINX Ingress dikelola sendiri dan memerlukan penskalaan manual. Untuk perbandingan detail, lihat Perbandingan antara NGINX Ingress dan ALB Ingress.
ALB Ingress lebih cocok digunakan dalam skenario berikut:
Koneksi persisten
Aplikasi yang memerlukan interaksi sering, seperti IoT, keuangan Internet, dan game online, bergantung pada koneksi persisten. ALB Ingress menerapkan perubahan konfigurasi melalui hot reloading tanpa mengganggu koneksi tersebut. Sebaliknya, NGINX Ingress harus melakukan reload proses saat konfigurasi berubah, yang sementara waktu memutus koneksi persisten.
Konkurensi tinggi
Layanan IoT mempertahankan sejumlah besar koneksi bersamaan dari perangkat terminal. ALB Ingress berjalan di platform Cloud Network Management dan mengelola sesi dalam skala besar. Setiap instans ALB mendukung puluhan juta koneksi.
QPS tinggi
Aktivitas promosi dan peristiwa viral memerlukan kapasitas QPS tinggi. ALB Ingress mendukung skalabilitas otomatis dan secara otomatis menambahkan alamat IP virtual seiring peningkatan QPS. Setiap instans ALB mendukung hingga satu juta QPS.
Fluktuasi beban kerja
Layanan e-dagang dan game mengalami fluktuasi beban kerja yang signifikan. ALB mendukung metode penagihan bayar sesuai pemakaian dan menggunakan Unit kapasitas load balancer (LCU). Lebih sedikit LCU dikonsumsi selama jam sepi, dan ALB melakukan penskalaan secara otomatis tanpa perlu pemesanan sumber daya manual.
Redundansi zona dan geo
Untuk aplikasi yang memerlukan ketersediaan tinggi, seperti jejaring sosial dan media streaming, gunakan Distributed Cloud Container Platform for Kubernetes (ACK One) untuk membuat gerbang multi-kluster ALB dan kelola traffic multi-kluster dengan ALB Ingress guna menerapkan redundansi geo-aktif dan zona redundansi aktif.
Wilayah dan Zona ALB Ingress
Untuk wilayah dan zona yang didukung oleh ALB Ingress, lihat Wilayah dan Zona yang Didukung ALB.
Rekomendasi untuk ALB Ingress pada Kluster Berskala Besar
ALB Ingress mendorong perubahan konfigurasi melalui OpenAPI Alibaba Cloud. Dalam skenario kluster besar dengan banyak instans ALB dan aturan Ingress, operasi seperti pembaruan aturan pengalihan dan sinkronisasi grup server backend dapat mengalami penundaan saat melakukan operasi batch (misalnya pembuatan atau penghapusan Ingress secara batch, rolling upgrade pod berskala besar, atau pembaruan Endpoint yang sering). Waktu efektif konfigurasi bergantung pada waktu respons OpenAPI ALB, dan jumlah resource yang dapat dikonfigurasi tunduk pada batas kuota ALB.
Jika kebutuhan bisnis Anda memerlukan perubahan berskala besar, lakukan penilaian kapasitas dan uji stres terlebih dahulu. Rencanakan kecepatan perubahan untuk menghindari gangguan layanan atau anomali akses akibat penundaan pemrosesan atau melebihi kuota.
Batasan ALB Ingress
Untuk batas kuota ALB Ingress, lihat Metode Perhitungan Kuota ALB.
Log Perubahan ALB Ingress Controller
Untuk log perubahan fitur ALB Ingress, lihat ALB Ingress Controller.