Dans le cadre de notre partenariat avec Red Hat, nous continuons à nous attacher à accompagner les entreprises qui ont besoin d’une solution performante, évolutive et pérenne pour fournir des services compatibles avec les pratiques DevOps dans OpenShift. Le NGINX Ingress Operator pour OpenShift est un mécanisme pris en charge et certifié permettant de déployer NGINX Plus Ingress Controller pour Kubernetes aux côtés du routeur par défaut dans un environnement OpenShift, avec une installation en quelques clics et des mises à niveau automatiques. Vous pouvez utiliser l’Operator Lifecycle Manager (OLM) pour installer, mettre à niveau et configurer le NGINX Ingress Operator.
Vous vous demandez pourquoi utiliser le contrôleur Ingress NGINX Plus en complément du routeur par défaut ? Découvrez comment notre partenariat permet une mise à disposition d’applications sécurisée, évolutive et bénéficiant d’un support dans notre La valeur ajoutée de Red Hat + NGINX blog.
Ce guide détaillé vous fournit tout ce dont vous avez besoin pour commencer à utiliser l’opérateur NGINX Ingress. Avant de commencer, assurez-vous de disposer d’un accès administrateur à un environnement de cluster OpenShift exécutant OpenShift 4.3 ou une version ultérieure.
Installation de l’opérateur
Voici une vidéo expliquant comment installer l’opérateur NGINX Ingress, suivie d’un récapitulatif écrit accompagné de captures d’écran.
Nous installons l’opérateur NGINX Ingress depuis la console OpenShift.
- Connectez-vous à la console OpenShift en tant qu’administrateur.
- Dans la colonne de navigation de gauche, cliquez sur « Opérateurs », puis sur « OperatorHub ». Saisissez nginx dans le champ de recherche, puis cliquez sur la vignette Nginx Ingress Operator qui s’affiche.

- Après avoir consulté les informations sur le produit, cliquez sur le bouton Installer.

- Sur la page Create Operator Subscription qui s’ouvre, indiquez l’espace de noms du cluster dans lequel installer l’opérateur (dans cet exemple, nginx-ingress). Cliquez également sur le bouton radio Automatic sous Approval Strategy afin d’activer les mises à jour automatiques de l’instance d’Operator en cours d’exécution sans approbation manuelle de l’administrateur. Cliquez sur le bouton Subscribe.

- Une fois l’installation terminée, exécutez cette commande dans un terminal pour vérifier que l’Operator est en cours d’exécution :
# oc get pods –n nginx-ingressNAME READY STATUS RESTARTS AGE
nginx-ingress-operator-dd546d869-xxxxx 1/1 Running 0 7m29s- Cliquez sur « Opérateurs installés » dans la colonne de navigation de gauche. Sur la page qui s’ouvre, cliquez sur le lien NginxIngressController dans la colonne « API fournies ». NginxIngressController est une ressource personnalisée que l’opérateur utilise pour déployer le contrôleur Ingress NGINX Plus sur le cluster OpenShift.

- Sur la page qui s’ouvre, collez dans le champ de texte un manifeste semblable à l’exemple suivant, puis cliquez sur le bouton Créer pour déployer NGINX Plus Ingress Controller pour Kubernetes. Notez que nous intégrons un Secret contenant un certificat TLS et une clé dans les champs
defaultSecretetwildcardTLS. Cela permet la terminaison et le relais TLS sans qu’il soit nécessaire d’inclure le Secret dans les stratégies Ingress. Vous pouvez définir de nombreuses options lors de la configuration de NGINX Plus Ingress Controller pour Kubernetes, comme indiqué dans notre dépôt GitHub.
apiVersion: k8s.nginx.org/v1alpha1kind: NginxIngressController
metadata:
name: my-nginx-ingress-controller
namespace: nginx-ingress
spec:
enableCRDs: true
image:
pullPolicy: Always
repository: registry.hub.docker.com/nginx/nginx-ingress
tag: edge
nginxPlus: false
serviceType: LoadBalancer
type: deployment
replicas: 2
defaultSecret: nginx-ingress/default-server-secret
wildcardTLS: default/app-secret
configMapData:
error-log-level: debug
enableTLSPassthrough: true
globalConfiguration: nginx-ingress/nginx-configuration- Pour vérifier le déploiement, exécutez les commandes suivantes dans un terminal. Comme le montre la sortie, le manifeste utilisé à l’étape précédente a déployé deux réplicas du contrôleur Ingress NGINX Plus et les a exposés à l’aide d’un service
LoadBalancer. (La sortie de la commandegetest répartie sur plusieurs lignes pour en faciliter la lecture.)
# oc get pods -n nginx-ingressNAME READY STATUS RESTARTS AGE
my-nginx-ingress-controller-579f455d7d-xxxxx 1/1 Running 0 5m53s
my-nginx-ingress-controller-579f455d7d-xxxxx 1/1 Running 0 5m53s
nginx-ingress-operator-dd546d869-xxxxx 1/1 Running 0 56m
# oc get svc –n nginx-ingress
my-nginx-ingress-controller LoadBalancer 172.xx.48.254 <pending> ...
nginx-ingress-operator-metrics ClusterIP 172.xx.209.190 <none> ...
... 80:32028/TCP,443:31973/TCP 10m
... 80:32028/TCP,443:31973/TCP 10m- Exécutez la commande suivante pour vérifier que le contrôleur Ingress NGINX Plus répond aux requêtes. Remplacez
public_IP_addresspar l’adresse IP externe du serviceLoadBalancerqui expose le contrôleur Ingress NGINX Plus. Notez qu’à ce stade, la commande renvoie404NotFound. En effet, nous n’avons pas encore configuré ni déployé de ressource Ingress pour acheminer le trafic vers les pods backend. Pour plus d’informations, consultez notre documentation.
# curl public_IP_address <html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.13.4</center>
</body>
</html>- Notez que les utilisateurs finaux peuvent soumettre plusieurs manifestes de la ressource NginxIngressController et qu’un déploiement distinct est créé pour chacun d’eux. L’Opérateur prend également en charge les déploiements dans différents espaces de noms. L’espace de noms peut être spécifié dans la section
metadatadu manifeste.
Et ensuite ?
L’opérateur NGINX Ingress vous aide à gérer le déploiement de votre contrôleur Ingress NGINX Plus, notamment pour :
- Configuration – Lancez un déploiement de base avec seulement quelques paramètres d’entrée et un manifeste
- Mise à l’échelle – Ajoutez et supprimez des réplicas en toute simplicité
- Mise à niveau – Tirez parti des mises à jour progressives sans interruption de service
- Désinstallation – Veillez à ce que tous les objets de l’Operator et du contrôleur Ingress Kubernetes soient supprimés correctement et en toute sécurité
Maintenant que votre contrôleur Ingress NGINX Plus est prêt et déployé, consultez notre documentation et notre dépôt GitHub pour utiliser les fonctionnalités avancées de NGINX Plus dans OpenShift.
Vous n’êtes pas encore client ? Pour essayer NGINX Plus et le contrôleur Ingress, commencez votre essai gratuit de 30 jours dès aujourd’hui ou contactez-nous pour discuter de vos cas d’utilisation.
La valeur ajoutée de Red Hat + NGINX

À propos de l’auteur

Articles de blog associés

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 ?
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
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
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
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
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.