Les clusters managés ACK et les clusters ACK Serverless prennent en charge trois types d'Ingress pour exposer les services conteneurisés et gérer le routage du trafic :
Nginx Ingress -- Basé sur le contrôleur Ingress NGINX open source. Autogéré, sans garantie de SLA. Idéal pour les équipes nécessitant un contrôle total sur la configuration Nginx et les extensions Lua.
ALB Ingress -- Passerelle cloud native propriétaire d'Alibaba Cloud, compatible avec Nginx Ingress. Entièrement managée, avec un SLA pouvant atteindre 99,995 %. Prend en charge l'accélération matérielle SSL, la mise à l'échelle automatique et jusqu'à 1 million de QPS par instance. Pour plus d'informations, consultez la page Gestion des ALB Ingress.
MSE Ingress -- Édition entreprise du projet open source Higress, compatible avec Nginx Ingress. Entièrement managée. Combine les passerelles Ingress, les passerelles de microservices et les passerelles de sécurité. Prend en charge plusieurs méthodes de découverte de services, l'authentification et l'autorisation, les extensions de plug-ins Wasm/Lua, et jusqu'à 1 million de QPS par instance.
Guide de décision rapide
| Scénario | Recommandé | Raison |
|---|---|---|
| Application web standard, haute disponibilité requise | ALB Ingress | SLA pouvant atteindre 99,995 %, mise à l'échelle automatique, entièrement managé |
| Microservices avec découverte de services Nacos ou ZooKeeper | MSE Ingress | Découverte de services multi-protocoles, conversion HTTP vers Dubbo |
| Passerelle nécessitant des extensions Lua personnalisées | Nginx Ingress | Contrôle total sur la configuration et les plug-ins Nginx |
| Passerelle API avec jusqu'à 1 million de QPS | ALB Ingress ou MSE Ingress | Infrastructure hébergée dans le cloud avec accélération matérielle |
| Déploiement canari avec répartition du trafic multi-versions | MSE Ingress | Routage basé sur les tags, déploiement canari avec administration des services MSE |
| Cloud hybride ou reprise après sinistre inter-régions | ALB Ingress | Montage de services cloud multiples, intégration du routeur de transit |
| Passerelle partagée entre clusters, PaaS et ECS | MSE Ingress | Découverte multi-backends (K8s, DNS, IP fixe, Nacos) |
| Surcharge opérationnelle minimale | ALB Ingress ou MSE Ingress | Passerelle et composants entièrement managés |
Quand utiliser chaque type
Nginx Ingress
Passerelle hautement personnalisée nécessitant une configuration Nginx fine.
Déploiement canari et déploiement blue-green pour les applications cloud natives.
ALB Ingress
Passerelle et composants entièrement managés, aucune opération manuelle requise.
Mise à l'échelle automatique haute performance pour les applications Internet de couche 7.
Haute disponibilité multiniveau avec un SLA pouvant atteindre 99,995 %.
Déploiement canari et déploiement blue-green pour les applications cloud natives.
Montage mixte de plusieurs services cloud partageant une seule instance ALB.
Reprise après sinistre dans des scénarios de cloud hybride et inter-régions.
Jusqu'à 1 million de QPS et des dizaines de millions de connexions simultanées.
MSE Ingress
Passerelle entièrement managée, aucune opération manuelle requise.
Modèles de microservices : découverte de services avec Nacos et ZooKeeper, limitation du débit avec Sentinel, conversion de protocole HTTP vers Dubbo et intégration OpenTelemetry.
Trafic nord-sud : la découverte des services backend prend en charge Nacos, Kubernetes, DNS et les adresses IP fixes.
Trafic est-ouest : communication interne entre clouds hybrides, plusieurs centres de données et plusieurs domaines métier, avec intégration Service Mesh.
Instance de passerelle partagée entre plusieurs clusters de conteneurs, plateformes PaaS et services ECS.
Authentification et autorisation avec des contrôles de sécurité flexibles.
TPS supérieur de 90 % à celui de Nginx Ingress open source avec une utilisation CPU de 30 à 40 %.
Flux de trafic
Les diagrammes suivants illustrent le chemin du trafic depuis le domaine de la requête www.example.net/app vers les services conteneurisés cibles.
Nginx Ingress
Le contrôleur Nginx Ingress intègre le plan de contrôle et le plan de données dans chaque Pod. Chaque Pod contient un processus Controller (plan de contrôle) et des processus Nginx (plan de données), gérant à la fois la configuration et le trafic des requêtes.
ALB Ingress
Le contrôleur ALB Ingress met à jour dynamiquement l'instance ALB en fonction des modifications des ressources Ingress et AlbConfig obtenues via l'API Server. Le contrôleur ALB Ingress est un composant managé qui sert uniquement de plan de contrôle. La redirection du trafic utilisateur est gérée par l'instance ALB.
MSE Ingress
Le contrôleur MSE Ingress surveille les ressources MseIngressConfig dans le cluster et coordonne les instances de passerelle cloud native MSE pour mettre en œuvre les règles de gestion du trafic définies dans les ressources Ingress. Le contrôleur MSE Ingress gère les instances et les configurations de la passerelle cloud native MSE en tant que plan de contrôle uniquement. Le routage et la redirection du trafic utilisateur sont gérés par l'instance de passerelle cloud native MSE.
Comparaison des fonctionnalités
Architecture
| Élément | Nginx Ingress | ALB Ingress | MSE Ingress |
|---|---|---|---|
| Fondement | Nginx avec extensions de plug-ins Lua | Plateforme de gestion de réseau cloud, plateforme CyberStar avec mise à l'échelle automatique | Projet open source Higress avec Istiod comme plan de contrôle et Envoy comme plan de données |
| Modèle d'hébergement | Dans le cluster (géré par l'utilisateur) | Hébergé dans le cloud (composant managé) | Hébergé dans le cloud (exclusivement disponible pour les utilisateurs) |
| Plan de contrôle et plan de données | Intégrés dans chaque Pod | Séparés : contrôleur (plan de contrôle) + instance ALB (plan de données) | Séparés : contrôleur (plan de contrôle) + passerelle cloud native MSE (plan de données). Se connecte directement aux adresses IP des pods backend pour la redirection des requêtes. |
Routage et protocoles
| Élément | Nginx Ingress | ALB Ingress | MSE Ingress |
|---|---|---|---|
| Base de routage | Contenu et adresse IP source | Contenu et adresse IP source | Contenu |
| Fonctionnalités HTTP | Réécritures, redirections, remplacements, limitation du débit, CORS, persistance de session | Réécritures, redirections, remplacements, limitation du débit, CORS, persistance de session | Réécritures, redirections, remplacements, limitation du débit, CORS, délai d'expiration, nouvelle tentative |
| Règles de redirection | Entrant et sortant (sortant via Snippet) ; correspondance du chemin le plus long | Entrant et sortant ; correspondance basée sur la priorité (numéro inférieur = priorité supérieure) | Prend en charge des milliers de règles de routage |
| Équilibrage de charge | S/O (algorithmes Nginx par défaut) | Tourniquet, moindre connexion, hachage cohérent (adresse IP source, paramètres URL) | Tourniquet, aléatoire, connexions minimales, hachage cohérent, prélecture (montée en charge progressive du trafic) |
| Protocoles | HTTP, HTTPS, WebSocket, WSS, gRPC | HTTP, HTTPS, HTTP/3, WebSocket, WSS, gRPC | HTTP, HTTPS, HTTP/3, WebSocket, gRPC |
| Conversion de protocole | S/O | S/O | HTTP/HTTPS vers Dubbo |
Configuration et opérations
| Élément | Nginx Ingress | ALB Ingress | MSE Ingress |
|---|---|---|---|
| Modifications de configuration | Les modifications hors points de terminaison backend nécessitent un rechargement du processus (interrompt les connexions persistantes). Les modifications de points de terminaison sont mises à jour à chaud via Lua. Les modifications de plug-ins Lua nécessitent un rechargement. | Mises à jour à chaud pour toutes les configurations. OpenAPI pour les modifications en temps réel. | Mises à jour à chaud pour les configurations, les certificats et les plug-ins. Mécanisme List-Watch pour une prise d'effet immédiate. |
| Modèle opérationnel | Manuel. Mise à l'échelle via Horizontal Pod Autoscaling (HPA). Ressources de calcul personnalisables pour l'optimisation. | Passerelle et composants entièrement managés. Mise à l'échelle automatique pour les pics de trafic. | Passerelle entièrement managée, aucune opération manuelle requise. |
| Gestion des composants | Gérer les composants du contrôleur Nginx Ingress | Gérer les composants du contrôleur ALB Ingress | Gérer les composants du contrôleur MSE Ingress |
Performances
| Élément | Nginx Ingress | ALB Ingress | MSE Ingress |
|---|---|---|---|
| Débit | Dépend de l'optimisation manuelle (paramètres système et Nginx, réplicas de pod, allocation des ressources). Consultez les Recommandations d'utilisation du contrôleur Nginx Ingress. | Jusqu'à 1 million de QPS par instance. Des dizaines de millions de connexions simultanées par instance. | TPS supérieur de 90 % à celui de Nginx Ingress open source avec une utilisation CPU de 30 à 40 %. |
| Accélération SSL/TLS | S/O | Accélération matérielle SSL par défaut | L'accélération matérielle améliore les performances HTTPS d'environ 80 % |
Sécurité
| Élément | Nginx Ingress | ALB Ingress | MSE Ingress |
|---|---|---|---|
| Chiffrement | HTTPS | HTTPS de bout en bout, SNI pour plusieurs certificats, certificats RSA et ECC, TLS 1.3, suites de chiffrement TLS | HTTPS de bout en bout, SNI pour plusieurs certificats, versions TLS configurables |
| Authentification | Basic Auth, OAuth | Authentification basée sur TLS | Basic Auth, OAuth, JWT, OIDC ; intégration Alibaba Cloud IDaaS ; méthodes d'authentification personnalisées |
| Protection | Listes noires et listes blanches | Intégration WAF ; protection DDoS via Alibaba Cloud Anti-DDoS ; listes noires et listes blanches | Protection WAF au niveau des routes ; listes noires et listes blanches au niveau des routes |
Observabilité
| Élément | Nginx Ingress | ALB Ingress | MSE Ingress |
|---|---|---|---|
| Journalisation | Collecte des journaux d'accès | Collecte des journaux d'accès via Log Service | Collecte des journaux d'accès via Log Service et Alibaba Cloud Prometheus |
| Surveillance | Surveillance et alertes Prometheus | Collecte de métriques via CloudMonitor ; configuration des alertes via CloudMonitor | Surveillance et alertes via Alibaba Cloud Prometheus |
| Traçage | S/O | Tracing Analysis et SkyWalking | Tracing Analysis et SkyWalking |
Administration des services
| Élément | Nginx Ingress | ALB Ingress | MSE Ingress |
|---|---|---|---|
| Découverte de services | Clusters Kubernetes | Clusters Kubernetes | Kubernetes, Nacos, ZooKeeper, EDAS, SAE, DNS et adresses IP fixes |
| Stratégies de déploiement | Déploiement canari, déploiement blue-green | Déploiement canari, déploiement blue-green | Déploiement canari multi-versions, routage basé sur les tags, déploiement canari avec administration des services MSE |
| Contrôle du trafic | Limitation du débit | Limitation du débit | Limitation du débit, disjoncteur et dégradation de service basés sur Sentinel |
| Test | S/O | S/O | Simulation de service |
Extensibilité et intégration
| Élément | Nginx Ingress | ALB Ingress | MSE Ingress |
|---|---|---|---|
| Mécanisme d'extension | Lua | AScript | Plug-ins Wasm (développement multilingue), Lua |
| Intégration cloud native | Gestion manuelle des composants ; s'intègre avec ACK ou ACK Serverless. Consultez la section Gestion des Ingress. | S'intègre avec WAF, Function Compute, PrivateLink et les routeurs de transit ; composants managés avec ACK ou ACK Serverless | Composants côté utilisateur avec ACK ou ACK Serverless ; prend en charge la conversion des annotations Nginx Ingress principales. Consultez la page Annotations prises en charge par MSE Ingress. |
Facturation
| Élément | Nginx Ingress | ALB Ingress | MSE Ingress |
|---|---|---|---|
| Coût de l'infrastructure | Frais d'instance CLB | Frais d'instance ALB | Frais d'instance MSE + Frais d'instance CLB |
| Surcharge du contrôleur | La surcharge de ressources pour nginx-ingress-controller commence à 0,2 vCPU et 200 MiB de mémoire | Le alb-ingress-controller est un composant managé sans surcharge de ressources | Surcharge de ressources pour ack-mse-ingress-controller |
| Coût de calcul | La facturation dépend de l'utilisation réelle des ressources et des frais des nœuds ECS. Consultez la section Aperçu de la facturation ECS. | S/O (managé) | La facturation dépend de l'utilisation réelle des ressources et des frais des nœuds ECS. Consultez la section Aperçu de la facturation ECS. |