Guide pour choisir un contrôleur Ingress, 4e partie : options du contrôleur Ingress NGINX

NGINX | 27 septembre 2021

Rédaction – Cet article fait partie d’une série en 10 volets :

  1. Réduisez la complexité grâce à Kubernetes prêt pour la production
  2. Comment améliorer la résilience dans Kubernetes grâce à une gestion avancée du trafic
  3. Comment améliorer la visibilité dans Kubernetes
  4. Six façons de sécuriser Kubernetes à l’aide d’outils de gestion du trafic
  5. Guide pour choisir un contrôleur Ingress, 1re partie : identifiez vos besoins
  6. Guide pour choisir un contrôleur Ingress, 2e partie : risques et pérennisation
  7. Guide pour choisir un contrôleur Ingress, 3e partie : open source, par défaut ou commercial
  8. Guide pour choisir un contrôleur Ingress, 4e partie : les différentes options de contrôleur Ingress NGINX (cet article)
  9. Comment choisir un maillage de services
  10. Tests de performance des contrôleurs Ingress NGINX dans un environnement cloud Kubernetes dynamique

Vous pouvez également télécharger l’ensemble des articles de blog sous forme d’e-book gratuit : « Faire passer Kubernetes des tests à la production ».

Selon l’enquête 2020 de la Cloud Native Computing Foundation (CNCF), NGINX est le plan de données le plus couramment utilisé dans les contrôleurs Ingress pour Kubernetes. Mais saviez-vous qu’il existe plusieurs « contrôleurs Ingress NGINX » ?

Une version précédente de cet article de blog, publiée en 2018 sous le titre « Attendez, quel contrôleur Ingress NGINX pour Kubernetes suis-je en train d’utiliser ? », faisait suite à une conversation avec un membre de la communauté au sujet de l’existence de deux contrôleurs Ingress populaires utilisant NGINX.

Je savais plus ou moins qu’il existait deux contrôleurs Ingress différents, d’après les emplacements des images de conteneur que j’avais vus, mais je ne crois pas avoir déjà vu quelqu’un de NGINX le dire aussi clairement jusqu’à présent.

On comprend facilement pourquoi il y avait (et il y a toujours) une certaine confusion. Les deux contrôleurs Ingress sont :

  • Appelés « NGINX Ingress Controller »
  • Open source
  • Hébergés sur GitHub avec des noms de dépôts très similaires
  • Le résultat de projets lancés à peu près au même moment

Et bien sûr, leur principal point commun est qu’ils remplissent la même fonction.

NGINX vs. le contrôleur Ingress de la communauté Kubernetes

Par souci de clarté, nous distinguons les deux versions comme suit :

  • Version communautaire – Disponible dans le dépôt kubernetes/ingress-nginx sur GitHub, le contrôleur Ingress communautaire est basé sur NGINX Open Source et sa documentation est disponible sur Kubernetes.io. Il est maintenu par la communauté Kubernetes.
  • Version NGINX – Disponible dans le dépôt nginxinc/kubernetes-ingress sur GitHub, NGINX Ingress Controller est développé et maintenu par F5 NGINX, et sa documentation est disponible sur docs.nginx.com. Il est proposé en deux éditions :
    • Basé sur NGINX Open Source (option gratuite et open source)
    • Basé sur NGINX Plus (option commerciale)

Il existe également plusieurs autres contrôleurs Ingress basés sur NGINX, tels que Kong, mais leurs noms sont heureusement faciles à distinguer. Si vous ne savez pas exactement quel contrôleur Ingress NGINX vous utilisez, vérifiez l’image de conteneur du contrôleur Ingress en cours d’exécution, puis comparez le nom de l’image Docker avec les dépôts répertoriés ci-dessus.

Objectifs et priorités du contrôleur Ingress NGINX

L’une des principales différences entre NGINX Ingress Controller et le contrôleur Ingress communautaire (ainsi que les autres contrôleurs Ingress basés sur NGINX Open Source) réside dans leurs modèles de développement et de déploiement, qui reposent eux-mêmes sur des objectifs et des priorités différents.

  • Philosophie de développement – Notre priorité absolue pour l’ensemble des projets et produits NGINX est de proposer un outil rapide et léger, offrant stabilité et cohérence sur le long terme. Nous mettons tout en œuvre pour éviter les changements de comportement d’une version à l’autre, en particulier ceux qui compromettent la rétrocompatibilité. Nous vous garantissons ainsi l’absence de mauvaises surprises lors des mises à niveau. Nous sommes également attachés à la liberté de choix : toutes nos solutions peuvent donc être déployées sur n’importe quelle plateforme, notamment sur des serveurs physiques, des conteneurs, des machines virtuelles et des clouds publics, privés ou hybrides.
  • Base de code intégrée – NGINX Ingress Controller utilise une instance 100 % pure de NGINX Open Source ou de NGINX Plus pour l’équilibrage de charge, en appliquant une configuration conforme aux bonnes pratiques à l’aide des seules fonctionnalités natives de NGINX. Il ne dépend d’aucun module tiers ni d’aucun code Lua n’ayant pas bénéficié de nos tests d’interopérabilité. Nous n’assemblons pas notre contrôleur Ingress à partir d’une multitude de dépôts tiers ; nous développons et assurons nous-mêmes la maintenance de l’équilibreur de charge (NGINX et NGINX Plus) et du logiciel du contrôleur Ingress (une application Go). Nous sommes l’unique autorité pour tous les composants de notre contrôleur Ingress.
  • Gestion avancée du trafic – L’une des limites de la ressource Ingress Kubernetes standard est qu’il faut recourir à des fonctionnalités auxiliaires telles que les annotations, les ConfigMaps et les modèles personnalisés pour lui ajouter des fonctionnalités avancées. Ressources Ingress NGINX offrent un style de configuration natif, avec typage sûr et indentation, qui simplifie la mise en œuvre des fonctionnalités d’équilibrage de charge d’Ingress, notamment TCP/UDP, les disjoncteurs, les tests A/B, les déploiements bleu-vert, la manipulation des en-têtes, l’authentification TLS mutuelle (mTLS) et le pare-feu d’applications web (WAF).
  • Préparation continue à la production – Chaque version est conçue et maintenue selon des normes de production permettant sa prise en charge. Vous bénéficiez de cette approche « de niveau entreprise », que vous utilisiez l’édition basée sur NGINX Open Source ou celle basée sur NGINX Plus. Les utilisateurs de NGINX Open Source peuvent obtenir des réponses à leurs questions sur GitHub auprès de notre équipe d’ingénierie, tandis que les abonnés à NGINX Plus bénéficient d’une assistance de premier ordre. Dans les deux cas, c’est comme si vous aviez un développeur NGINX dans votre équipe DevOps !

NGINX Open Source vs. NGINX Plus – Pourquoi passer à notre édition commerciale ?

Profitons-en pour passer en revue certains des principaux avantages offerts par le contrôleur Ingress NGINX basé sur NGINX Plus. Comme nous l’avons expliqué dans Comment choisir un contrôleur Ingress Kubernetes, 3e partie : open source, par défaut ou commercial, il existe des différences considérables entre les contrôleurs Ingress open source et commerciaux. Si vous prévoyez de vastes déploiements Kubernetes et des applications complexes en production, vous constaterez que notre contrôleur Ingress commercial vous permet de gagner du temps et de réaliser des économies dans plusieurs domaines clés.

Sécurité et conformité

L’une des principales raisons pour lesquelles de nombreuses organisations ne parviennent pas à déployer des applications Kubernetes en production réside dans la difficulté à garantir leur sécurité et leur conformité. NGINX Ingress Controller, basé sur NGINX Plus, permet de mettre en œuvre cinq cas d’usage essentiels pour assurer la sécurité de vos applications et de vos clients.

Découvrez comment le géant allemand de l’automobile Audi a sécurisé ses applications Red Hat OpenShift dans l’étude de cas « Audi pérennise sa vision technologique et l’innovation applicative avec NGINX ».

Performances et résilience des applications

La disponibilité et la rapidité des applications sont souvent des indicateurs clés de performance (KPI) pour les développeurs et les équipes chargées des opérations de plateforme. Le contrôleur Ingress NGINX basé sur NGINX Plus permet de mettre en œuvre cinq cas d’usage qui vous aident à tenir les promesses de Kubernetes.

  • Bénéficiez d’une surveillance en temps réel – Le tableau de bord NGINX Plus affiche des centaines de métriques clés sur la charge et les performances, afin que vous puissiez identifier rapidement la cause des lenteurs (ou des pannes !) de vos applications.
  • Détectez et résolvez les défaillances plus rapidement – Mettez en œuvre un disjoncteur avec des contrôles d’intégrité actifs qui surveillent de manière proactive l’état de vos serveurs en amont TCP et UDP.
  • Reconfigurez sans aucun redémarrage – Une reconfiguration plus rapide et sans interruption vous permet de fournir des applications offrant des performances et une utilisation des ressources constantes, ainsi qu’une latence plus faible que les solutions open source.
  • Testez minutieusement les nouvelles fonctionnalités et les déploiements – Facilitez la mise en œuvre des tests A/B et des déploiements bleu-vert en utilisant le magasin clé-valeur pour modifier les pourcentages sans avoir à effectuer de rechargement.
  • Répondez rapidement à vos besoins d’assistance – Une assistance commerciale confidentielle est essentielle pour les organisations qui ne peuvent pas attendre que la communauté réponde à leurs questions ou qui ne peuvent pas risquer d’exposer des données sensibles. L’assistance NGINX est proposée selon plusieurs niveaux adaptés à vos besoins et couvre l’installation, le déploiement, le débogage et la correction des erreurs. Vous pouvez même obtenir de l’aide lorsque quelque chose ne semble tout simplement pas « normal ».

Découvrez comment Zipwhip, une entreprise spécialisée dans la messagerie texte professionnelle, a atteint une disponibilité de 99,99 % pour ses applications SaaS dans l’article « Renforcer la sécurité et la visibilité du trafic sur Amazon EKS avec NGINX ».

Étape suivante : essayez NGINX Ingress Controller

Si vous avez décidé qu’un contrôleur Ingress open source est le bon choix pour vos applications, vous pouvez démarrer rapidement en consultant notre dépôt GitHub.

Pour les déploiements de production à grande échelle, nous vous invitons à essayer notre contrôleur Ingress commercial basé sur NGINX Plus. Vous pouvez bénéficier d’un essai gratuit de 30 jours incluant NGINX App Protect.


Partager

À propos de l’auteur

Jenn Gile
Jenn GileResponsable du marketing produit, NGINX

Autres articles de Jenn Gile

Articles de blog associés

Tendances actuelles des technologies cloud natives, de l’ingénierie de plateforme et de l’IA
NGINX | 13/10/2025

Tendances actuelles des technologies cloud natives, de l’ingénierie de plateforme et de l’IA

Découvrez les principaux enseignements tirés des réponses à l’enquête annuelle F5 NGINX sur les dernières tendances en matière de technologies cloud natives, de sécurité, d’ingénierie de plateforme et d’IA.

Quels contrôleurs Ingress NGINX sont affectés par les vulnérabilités CVE-2022-4886, CVE-2023-5043 et CVE-2023-5044 ?
NGINX | 03/11/2023

Quels contrôleurs Ingress NGINX sont affectés par les vulnérabilités CVE-2022-4886, CVE-2023-5043 et CVE-2023-5044 ?

Lorsque de nouvelles CVE sont signalées, il est facile de ne plus savoir si elles concernent un outil de contrôleur Ingress NGINX particulier, car il existe plusieurs projets. Cet article présente les CVE et explique comment distinguer les différents projets de contrôleurs Ingress afin de dissiper toute confusion.

Votre API est-elle en temps réel ? Testez sa latence avec l’outil rtapi de NGINX
NGINX | 11/03/2020

Votre API est-elle en temps réel ? Testez sa latence avec l’outil rtapi de NGINX

Votre API répond-elle aux requêtes en moins de 30 ms ? Si ce n’est pas le cas, il ne s’agit pas d’une API en temps réel offrant la faible latence exigée par la grande majorité des organisations. Mesurez la latence de votre API avec l’outil rtapi de NGINX et découvrez comment NGINX peut l’aider à offrir une réactivité en temps réel.

Un testeur d’expressions régulières pour NGINX et NGINX Plus
NGINX | 11/06/2019

Un testeur d’expressions régulières pour NGINX et NGINX Plus

Le testeur d’expressions régulières (regex) pour NGINX et NGINX Plus vous évite de tâtonner en vous indiquant si une expression régulière utilisée dans un bloc location ou map correspond aux valeurs comme prévu. Il génère la configuration appropriée et affiche les valeurs des groupes de capture.

Caches partagés avec les clusters de cache NGINX Plus, partie 1
NGINX | 24/01/2017

Caches partagés avec les clusters de cache NGINX Plus, partie 1

Optimisez la capacité de votre cache web en le répartissant entre plusieurs serveurs de cache web NGINX ou NGINX Plus. Découvrez comment procéder dans cet article.

Introduction aux microservices
NGINX | 19/05/2015

Introduction aux microservices

Les microservices suscitent actuellement beaucoup d’intérêt. Cet article de blog est le premier d’une série de sept consacrée à la conception, au développement et au déploiement de microservices.