C’est la suite du billet précédent qui parlait des
sidecars Kubernetes que j’ai utilisé pour exposer une application Django
(backend + statics). Maintenant que j’ai un service, je dois pouvoir y accéder
depuis l’extérieur via une URL ou une IP. Je suis dans un contexte où mon
cluster Kubernetes est autohébergé avec un seul node (dans une VM Linux sur mon
poste de dev). Pour rappel, seul les plateformes Cloud propose des Load
Balancers. Pour palier à ce problème, je vais tout simplement exposer le
contrôleur de l’ingress Nginx sur le réseau de la machine hôte.
Installation de Nginx Ingress
Installons le gestionnaire d’Ingress Nginx
Du classique, maintenant patchons le déploiement du contrôleur nginx :
Vérifions
L’IP du contrôleur est bien celui du node. On peut vérifier que sur le node on a
bien les ports 80 et 443 en écoute :
Cool !
Déclaration d’un Ingress
Pour valider son fonctionnement je vais déclarer un ingress pour le service créé
dans le billet précédent :
On applique l’ingress :
Un pti curl pour valider que cela fonctionne :
C’est simple et efficace pour un environnement de Dev.