Berdasarkan integrasi mendalam antara gateway cloud-native MSE dan Container Service for Kubernetes (ACK), MSE Ingress mengelola objek API yang dapat diakses dari luar pada Services kluster serta menyediakan load balancing lapisan 7, rilis canary, dan pengelolaan trafik ingress kluster yang lebih kuat.
Diasumsikan pembaca telah memahami pod Kubernetes, Services, dan resource Ingress.
Prasyarat
Pastikan Anda memiliki:
-
Kluster ACK atau ACK Serverless
-
Controller MSE Ingress terpasang di kluster Anda
-
Gateway cloud-native MSE yang disediakan melalui Custom Resource Definition (CRD) MseIngressConfig
Cara kerja
Diagram berikut menunjukkan alur permintaan dari klien ke pod backend.
Secara garis besar:
-
Controller MSE Ingress memantau CRD MseIngressConfig dan mengelola siklus hidup gateway cloud-native MSE.
-
Lapisan kontrol setiap gateway memantau Ingress, kelas Ingress, dan Services melalui server API ACK. Ketika resource tersebut berubah, konfigurasi aturan routing terbaru didorong ke bidang data secara real time.
-
Bidang data mencocokkan setiap permintaan masuk dengan aturan routing dan meneruskannya ke pod Service backend yang sesuai.
Konsep utama
| Konsep | Deskripsi |
|---|---|
| Service | Abstraksi dari sebuah aplikasi yang dideploy pada sekelompok pod replikasi. |
| Ingress | Aturan reverse proxy yang mengarahkan permintaan HTTP atau HTTPS ke Services — misalnya berdasarkan hostname atau path URL. |
| Ingress class | Mendeklarasikan prosesor Ingress mana yang menangani Ingress tertentu. Kaitkan CRD MseIngressConfig dengan bidang parameters IngressClass untuk pengelolaan trafik berbasis MSE. |
| MseIngressConfig | CRD yang disediakan oleh controller MSE Ingress. Mendefinisikan konfigurasi dasar untuk gateway cloud-native MSE. |
| MSE Ingress controller | Add-on lapisan kontrol yang dipasang di kluster ACK Anda. Mengelola konfigurasi gateway cloud-native MSE. |
| MSE cloud-native gateway | Gateway yang disediakan dari CRD MseIngressConfig. Terdiri dari lapisan kontrol (manajemen aturan routing) dan bidang data (pemrosesan trafik). |
Mengapa menggunakan MSE Ingress
Dalam kluster Kubernetes, Ingress merupakan titik masuk utama untuk akses eksternal ke Services dan membawa sebagian besar trafik layanan arah masuk. Ingress Kubernetes standar hanya mendukung aturan routing HTTP. Fitur seperti algoritma penyeimbangan beban dan afinitas sesi memerlukan controller Ingress.
Berdasarkan gateway cloud-native MSE, MSE Ingress memperluas kemampuan Ingress Kubernetes standar dengan fitur-fitur yang tidak disediakan oleh NGINX Ingress:
| Kemampuan | Ingress Kubernetes Standar | NGINX Ingress | MSE Ingress |
|---|---|---|---|
| Aturan routing HTTP | Ya | Ya | Ya |
| Algoritma penyeimbangan beban | Tidak | Ya | Ya |
| Afinitas sesi | Tidak | Ya | Ya |
| Rilis canary | Tidak | — | Ya |
| Tata kelola layanan (pembatasan laju, pemutusan sirkuit, retry) | Tidak | — | Ya |
| Perlindungan keamanan komprehensif | Tidak | — | Ya |
| Kompatibilitas anotasi NGINX Ingress | — | — | Lebih dari 50 anotasi, mencakup lebih dari 90% kasus penggunaan |
Untuk migrasi dari NGINX Ingress, MSE Ingress kompatibel dengan lebih dari 50 anotasi dan mencakup lebih dari 90% kasus penggunaan.
Komponen MSE Ingress
MSE Ingress controller
Controller MSE Ingress tidak memproses trafik layanan — ia hanya mengonfigurasi gateway cloud-native MSE. Seluruh trafik mengalir melalui bidang data gateway.
Controller MSE Ingress adalah add-on lapisan kontrol yang dipasang di kluster ACK atau ACK Serverless Anda. Komponen ini:
-
Memantau CRD MseIngressConfig dan mengelola siklus hidup gateway cloud-native.
-
Mengelola konfigurasi gateway berdasarkan CRD MseIngressConfig.
-
Mengonfigurasi pemantauan Ingress untuk gateway.
Lihat Kelola komponen.
Gateway cloud-native MSE
Setiap gateway cloud-native MSE dibuat dari CRD MseIngressConfig dan terdiri dari dua bidang:
-
Lapisan kontrol: memantau resource seperti Ingress, kelas Ingress, dan Services. Mendorong konfigurasi routing ke bidang data secara real time.
-
Bidang data: mengarahkan permintaan eksternal ke pod Service backend berdasarkan aturan routing dari lapisan kontrol.