最好的Kubernetes Nginx架构

我希望能遵循这个架构:

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

我想使用nginx(而不是使用kube-proxy的默认kube服务)的原因是它有x-accel-redirects,这对validation非常有用。 通常情况下,nginx和所有三个服务将在不同的盒子上。

与Kubernetes,我试图find构build这个最好的方式。 我知道有一种方法可以通过模拟服务代理来实现 ,但是这看起来像是一种非常简单的方法。 我正在考虑让nginx和所有这三个服务成为一个kube服务,所以stream量就是这样

– > kube-proxy – > nginx – > kube-proxy – >服务1,2,3

和nginxconfiguration看起来像

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

我想知道这种方法是否有缺点,如果有更好的方法呢? 看起来像一个请求将经过相当多的啤酒花和处理。

谢谢!

您可能对我们新的Ingress API和负载平衡器控制器感兴趣(kubernetes v1.1测试版)。我们有HAProxy支持,但不支持nginx。

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