Rédacteur – Ce billet fait partie d’ une série en 10 parties :
- Réduisez la complexité avec Kubernetes de niveau production
- Comment améliorer la résilience dans Kubernetes grâce à la gestion avancée du trafic
- Comment améliorer la visibilité dans Kubernetes
- Six façons de sécuriser Kubernetes à l'aide d'outils de gestion du trafic
- Guide pour choisir un contrôleur d'entrée, partie 1 : Identifiez vos besoins
- Guide pour choisir un contrôleur d'entrée, partie 2 : Risques et pérennité
- Guide pour choisir un contrôleur d'entrée, partie 3 : Open Source contre Par défaut vs. Commercial
- Guide pour choisir un contrôleur d'entrée, partie 4 : Options du contrôleur d'entrée NGINX (ce post)
- Comment choisir un maillage de services
- Test des performances des contrôleurs d'entrée NGINX dans un environnement cloud Kubernetes dynamique
Vous pouvez également télécharger l’ensemble complet des blogs sous forme d’eBook gratuit – Taking Kubernetes from Test to 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 ce blog, publiée en 2018 sous le titre Attendez, quel contrôleur d'entrée NGINX pour Kubernetes suis-je en train d'utiliser ? , a été suscitée par une conversation avec un membre de la communauté sur l'existence de deux contrôleurs d'entrée populaires qui utilisent NGINX.

Il est facile de comprendre pourquoi il y avait (et il y a toujours) de la confusion. Les deux contrôleurs Ingress sont :
- Appelé « Contrôleur d'entrée NGINX »
- Open source
- Hébergé sur GitHub avec des noms de référentiel très similaires
- Le résultat de projets qui ont débuté à peu près à la même époque
Et bien sûr, le plus grand point commun est qu’ils implémentent la même fonction.
NGINX contre Contrôleur d'entrée de la communauté Kubernetes
Par souci de clarté, nous différencions les deux versions comme suit :
- Version communautaire – Trouvé dans le dépôt kubernetes/ingress-nginx sur GitHub, le contrôleur Ingress communautaire est basé sur NGINX Open Source avec des documents sur Kubernetes.io . Il est maintenu par la communauté Kubernetes.
- Version NGINX – Trouvé dans le dépôt nginxinc/kubernetes-ingress sur GitHub, NGINX Ingress Controller est développé et maintenu par F5 NGINX avec des documents sur docs.nginx.com . Il est disponible en deux éditions :
- Basé sur NGINX Open Source (option gratuite et open source)
- Basé sur NGINX Plus (option commerciale)
Il existe également un certain nombre d'autres contrôleurs Ingress basés sur NGINX, tels que Kong, mais heureusement leurs noms sont facilement distingués. Si vous n’êtes pas sûr du contrôleur Ingress NGINX que vous utilisez, vérifiez l’image du 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 d'entrée NGINX
L’une des principales différences entre NGINX Ingress Controller et le contrôleur Community Ingress (ainsi que d’autres contrôleurs Ingress basés sur NGINX Open Source) réside dans leurs modèles de développement et de déploiement, qui sont à leur tour basés sur des objectifs et des priorités différents.
- Philosophie de développement – Notre priorité absolue pour tous les projets et produits NGINX est de fournir un outil rapide et léger avec une stabilité et une cohérence à long terme. Nous faisons tout notre possible pour éviter les changements de comportement entre les versions, en particulier ceux qui perturbent la compatibilité descendante. Nous vous promettons que vous n'aurez aucune surprise inattendue lors de votre mise à niveau. Nous croyons également au choix, c'est pourquoi toutes nos solutions peuvent être déployées sur n'importe quelle plateforme, y compris le bare metal, les conteneurs, les machines virtuelles et les clouds publics, privés et hybrides.
- Base de code intégrée – NGINX Ingress Controller utilise une instance NGINX Open Source ou NGINX Plus 100 % pure pour l'équilibrage de charge, en appliquant la configuration des meilleures pratiques en utilisant uniquement les fonctionnalités NGINX natives. Il ne s’appuie sur aucun module tiers ni sur aucun code Lua qui n’ont pas bénéficié de nos tests d’interopérabilité. Nous n'assemblons pas notre contrôleur Ingress à partir de nombreux référentiels tiers ; nous développons et maintenons nous-mêmes l'équilibreur de charge (NGINX et NGINX Plus) et le logiciel du contrôleur Ingress (une application Go). Nous sommes l’autorité unique pour tous les composants de notre contrôleur Ingress.
- Gestion avancée du trafic – L’une des limitations de la ressource Kubernetes Ingress standard est que vous devez utiliser des fonctionnalités auxiliaires telles que l’annotation, les ConfigMaps et les modèles client pour la personnaliser avec des fonctionnalités avancées. Les ressources NGINX Ingress fournissent un style de configuration natif, sécurisé et indenté qui simplifie la mise en œuvre des fonctionnalités d'équilibrage de charge Ingress, notamment TCP/UDP, la coupure de circuit, les tests A/B, les déploiements bleu-vert, la manipulation d'en-têtes, l'authentification TLS mutuelle (mTLS) et le pare-feu d'application Web (WAF).
- Préparation continue à la production – Chaque version est créée et maintenue selon une norme de production supportable. Vous bénéficiez de cette approche « de qualité professionnelle » de la même manière, que vous utilisiez l'édition NGINX Open Source ou NGINX Plus . Les utilisateurs de NGINX Open Source peuvent obtenir des réponses à leurs questions sur GitHub par notre équipe d'ingénieurs, tandis que les abonnés NGINX Plus bénéficient du meilleur support possible . Dans tous les cas, c'est comme avoir un développeur NGINX dans votre équipe DevOps !
NGINX Open Source contre NGINX NGINX Plus – Pourquoi passer à notre édition commerciale ?
Et pendant que nous y sommes, passons en revue certains des principaux avantages que vous obtenez avec le contrôleur d'entrée NGINX basé sur NGINX Plus . Comme nous l'avons vu dans Comment choisir un contrôleur d'entrée Kubernetes, partie 3 : Open Source contre Par défaut vs. Commercial , il existe des différences substantielles entre les contrôleurs Ingress open source et commerciaux. Si vous prévoyez des déploiements Kubernetes volumineux et des applications complexes en production, vous constaterez que notre contrôleur Ingress commercial vous permet d'économiser du temps et de l'argent dans certains domaines clés.
Sécurité et conformité
L’une des principales raisons pour lesquelles de nombreuses organisations ne parviennent pas à fournir des applications Kubernetes en production est la difficulté de les maintenir sécurisées et conformes. Le contrôleur d'entrée NGINX basé sur NGINX Plus déverrouille cinq cas d'utilisation essentiels pour assurer la sécurité de vos applications et de vos clients.

Découvrez comment le géant automobile allemand Audi a sécurisé ses applications Red Hat OpenShift dans Audi Future-Proofs Tech Vision and App Innovation avec NGINX .
Performances et résilience des applications
La disponibilité et la vitesse des applications sont souvent des indicateurs de performance clés (KPI) pour les développeurs et les équipes Platform Ops. Le contrôleur d'entrée NGINX basé sur NGINX Plus débloque cinq cas d'utilisation qui vous aident à tenir les promesses de Kubernetes.

- Bénéficiez d'une surveillance en direct – Le tableau de bord NGINX Plus affiche des centaines de mesures clés de charge et de performances afin que vous puissiez rapidement résoudre la cause des applications lentes (ou en panne !).
- Détectez et résolvez les pannes plus rapidement – Implémentez un disjoncteur avec des contrôles de santé actifs qui surveillent de manière proactive l’état de vos serveurs TCP et UDP en amont.
- Reconfiguration sans redémarrage – Une reconfiguration plus rapide et non perturbatrice vous permet de fournir des applications avec des performances et une utilisation des ressources cohérentes et une latence inférieure à celle des alternatives open source.
- Testez minutieusement les nouvelles fonctionnalités et les nouveaux déploiements : facilitez l’exécution des tests A/B et des déploiements bleu-vert en exploitant le magasin clé-valeur pour modifier les pourcentages sans avoir besoin de recharger.
- Résolvez rapidement les 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 ne peuvent pas risquer d'exposer des données sensibles. Le support NGINX est disponible à plusieurs niveaux pour répondre à vos besoins et couvre l'assistance à l'installation, au déploiement, au débogage et à la correction des erreurs. Vous pouvez même obtenir de l’aide lorsque quelque chose ne semble pas « correct ».
Découvrez comment la société de messagerie texte professionnelle Zipwhip a atteint une disponibilité de 99,99 % pour ses applications SaaS en renforçant la sécurité et la visibilité du trafic sur Amazon EKS avec NGINX .
Étape suivante : Essayez le contrôleur d'entrée NGINX
Si vous avez décidé qu'un contrôleur Ingress open source est le bon choix pour vos applications, vous pouvez démarrer rapidement sur notre référentiel GitHub .
Pour les déploiements de production à grande échelle, nous espérons que vous essayerez notre contrôleur Ingress commercial basé sur NGINX Plus. Il est disponible pour un essai gratuit de 30 jours qui inclut NGINX App Protect.