【发布时间】:2017-09-12 04:26:12
【问题描述】:
在 kubernetes 上尝试使用 nginx 访问运行在不同端口的服务。
最初,当所有服务都部署完毕并最后部署 nginx 时,我发现一切正常。
如果任何服务更新/重新启动,nginx 将无法访问该特定服务。
server {
location / {
proxy_pass http://backends.example.com:8080;
}
}
只有通过重启nginx才能访问服务
nginx -s reload
无论如何让 nginx 检测/轮询以反映服务重新启动(使用 DNS 的服务发现)
【问题讨论】:
-
你是手动运行 nginx 吗?如果是这样,我强烈建议看看 Ingresses 和 nginx Ingress Controller:kubernetes.io/docs/concepts/services-networking/ingressgithub.com/kubernetes/ingress/tree/master/controllers/nginx
-
@MarcSluiter :我实际上是在实现自己的 api-gate 方式(在一个部署的新 pod 中,而不是 nginx 与入口一起工作)。
标签: nginx kubernetes kube-dns