Nginx代理到在不同CoreOS节点上运行的许多容器

浏览网页,我发现了很多关于使用Nginx / Confd(或Haproxy或Vulcand)代理运行在同一主机上的不同Docker容器的教程.但是,我需要做的不同.概述了我的基础架构:

>具有5个节点的在线CoreOS集群,全部运行etcd
>在群集的每个节点上使用fleet启动不同的Docker容器(运行WordPress应用程序的Nginx Web服务器),而不暴露端口并在etcd上编写他们的ips(使用docker检查的Docker ip).
>如果节点出现故障,我的服务将自动在另一个可用节点上移动

现在,我需要做的是让一个Nginx代理将我的流量路由到各种容器,具体取决于vhost.举个例子:

Nginx(带有酒吧IP)接收请求xxx.domain.com – >节点-1 – >自动分配ip的容器(侦听端口80)

Nginx(带有酒吧IP)接收请求yyy.domain.com – >节点-2 – >自动分配ip的容器(侦听端口80)

在这里我的问题:

>这是我的情况正确吗?我在想错吗?
>我的Nginx代理必须在CoreOS集群之外?或者我必须在每个CoreOS节点上运行它?
>我如何实现此配置?什么是最好的方式?

先感谢您!

最佳答案
您需要某种类型的nginx服务发现才能“找到”在节点上运行的容器.您可以在容器启动时将记录写入etcd,并在退出时删除并让nginx检查这些记录.

对于移动服务,您可以查看机群以进行简单的调度.

相关文章

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一...
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改l...
nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看...
一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] ng...
###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...