Installer le contrôleur d’Ingress Nginx

Cette fiche pratique propose une procédure pas à pas de l’installation du Contrôleur d’Ingress (ou Ingress Controller en anglais ) Nginx sur vos clusters de travail.

Cette fiche est donnée simplement à titre d’exemple, mais vous pouvez tout à fait utiliser le contrôleur d’ingress de votre choix. L’idée étant de donner un point de départ dans l’utilisation d’un contrôleur d’ingress.


Pour en savoir plus sur ce qu’est un contrôleur d’ingress vous pouvez vous reporter aux pages suivantes :

Kubernetes : Ingress Controller

KaaS Standard : Exposition des services

Prérequis

Avant de déployer Nginx sur le cluster de travail, certains prérequis doivent être installés soit sur la station de travail de l’administrateur.

Sur la machine d’administration

Installez l’outil Helm, en utilisant cette page :

Sur le cluster

Configurez le vipSubnet à utiliser

La configuration de ce vipSubnet permet de choisir sur quel réseau externe votre contrôleur d’ingress va être exposé.


Merci de suivre les étapes listés sur la page suivante : ICI

  • Ajoutez le repository Nginx Helm

Installez Nginx en tant qu’Ingress Controller

Exemple d’utilisation de votre contrôleur d’Ingress

Pour faire ce test, nous allons déployer deux PODS. Le premier POD affichera une page web avec le texte « apple » , l’autre POD afficher le teste « banana ».

En fonction de l’adresse de la page (url) utilisée pour accéder au service, le contrôleur d’ingress saura quel POD utiliser en fonction de la configuration en place.

Ceci ne requiert qu’une seule adresse IP externe, cette IP correspond à celle du service de type LoadBalancer nommé ingress-nginx-controller qui a été déployé au moment de l’installation de Nginx.

Création des PODs

Lancez les deux commandes ci-contre afin de créer les deux PODS et les deux services.

apple app

banana app

Après quelques secondes, vérifiez que les PODS soient bien en STATUS RUNNING.

IP du contrôleur d’Ingress

Récupérez l’adresse IP externe qui a été affectée au contrôleur d’ingress au moment du déploiement de Nginx.

Pour ce faire, lancez la commande ci-contre et notez la valeur de la colonne EXTERNAL-IP.

Lancez la commande avec le contenu fourni ci-contre.

  • remplacez [IP] par l’adresse ip externe récupérez dans l’étape précédente.
  • Vous pouvez également utiliser votre propre zone DNS à la place de nip.io. Dans ce cas, remplacez le nom complet avec celui de votre choix.

Vérifiez le status de l’objet

Testez l’accès à la page web.


Ouvrez un navigateur web depuis une machine qui est en capacité de joindre l’adress ip externe de votre contrôleur ingress. Assurez-vous qu’aucun filtrage réseau n’empêche la communication.

Accédez aux adresses suivantes :

  • http://banana.[IP].nip.io (remplacez [IP] par l’adresse ip externe)
  • http://apple.[IP].nip.io (remplacez [IP] par l’adresse ip externe)

Test supplémentaire

Il est aussi possible d’utiliser un même nom DNS mais de rediriger le flux en fonction du chemin de la page demandée.

Par exemple :

  • http://myapp.[IP].nip.io/apple utilisera le POD apple
  • http://myapp.[IP].nip.io/banana utilisera le POD banana

Le fichier yaml ci-contre permet cette configuration.