Meilleure architecture Kubernetes Nginx

J’espérais suivre cette architecture:

-> service 1 -> nginx -> service 2 -> service 3

La raison pour laquelle je veux utiliser nginx (au lieu des services de kube par défaut utilisant kube-proxy) est qu’il a des redirections x-accel, ce qui est excellent pour l’authentification. Normalement, nginx et les trois services seraient sur des boîtes séparées.

Avec Kubernetes, j’essaie de trouver la meilleure façon de concevoir cette architecture. Je sais qu’il est possible de le faire en simulant le proxy de service , mais cela semble être une approche jenky. Je pensais faire de nginx et des trois services un service Kube, donc le stream serait

-> kube-proxy -> nginx -> kube-proxy -> service 1, 2, 3

et la configuration nginx ressemblerait

 upstream backend { server backend1.example.com; # with skydns name, or the service ip which is static } server { location / { proxy_pass http://backend; } } 

Je me demandais s’il y avait des inconvénients à cette approche et s’il y avait de meilleures approches? Il semblerait qu’une requête passe par un certain nombre de sauts et de traitement.

Merci!

Vous pourriez être intéressé par notre nouvelle API Ingress et nos contrôleurs d’équilibrage de charge (bêta dans kubernetes v1.1) Nous avons le support HAProxy, mais pas nginx (encore).

https://github.com/kubernetes/consortingb/tree/master/service-loadbalancer