La plupart de mes talks contiennent une démo. Une bonne partie de ces démos nécessitent plusieurs dépendances « d’infrastructure » : une base de données (ou plus), Elasticsearch, etc. Pour faciliter ma configuration et éviter de surcharger ma machine, j’utilise soit Docker Compose soit Kubernetes localement sur mon Mac. Les deux reposent sur Docker Desktop.
Pour exposer un service de cluster sur mon hôte, j’utilise nodePort. Par conséquent, j’ai défini un nodePort dédié pour chaque service. Je dois me souvenir de chacun d’eux pour chaque démo. Pire encore, les services sont déclarés dans différents fichiers de manifest.
Pendant longtemps, j’ai voulu me faciliter la vie. J’ai recherché des solutions basées sur Kubernetes. J’ai trouvé que kube-forward n’était pas assez stable.
Ma dernière tentative était MetalLB. Même si je n’ai pas réussi à le faire fonctionner, il a bindé le port 8080 sur ma machine : aucune de mes autres démos utilisant Spring ne fonctionnait.
La semaine dernière, j’ai décidé d’adopter une autre approche : un proxy standard en front de mon cluster local. OSX est fourni avec une installation Apache Web Server existante.