使用nginx将请求重定向到kuberenetes服务

时间:2016-05-21 16:02:42

标签: nginx kubernetes

我正在寻找一种方法,如果可能的话,可以将请求路由到例如。使用nginx将team.mysite.com发送到team.default.svc.cluster.local。通过这种方式,我可以在我的域上使用不同的子域,并按上述方式工作。基本上调用xyz.mysite.com会将请求转发给xyz.default.svc.cluster.local,前提是该服务存在。

注意: 我的kube-dns服务运行在10.254.0.2

这可能吗?我到底该怎么做?

感谢。

编辑: 再过一次,我可以在ngonx.conf中使用变量,即$ host。$ host.default.svc.cluster.conf,其中$ host是$ host.mydomain.com。 我需要一种让nginx解析kube dns服务的方法,也可以在nginx.conf中将xyz.mydomain.com中的xyz分开,并将其分配给$ host

1 个答案:

答案 0 :(得分:0)

如果您的节点有公共IP地址,您可以使用Ingress resource完全按照您的描述进行操作。 Ingress通常定义路径列表及其目标服务,因此您的服务应该在您尝试公开之前运行。

Ingress controllers然后使用上面提到的Ingress配置动态配置侦听已定义端口列表的Web服务器(通常是您猜测的主机端口80和443),并且可以使用您选择的Kubernetes资源类型:Pod,ReplicationController,DaemonSet。

配置Ingress规则并部署Ingress控制器后,您可以将域的A或CNAME DNS记录指向运行实际Web服务器的节点。