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

浏览网页,我发现了很多关于使用Nginx / Confd(或Haproxy或Vulcand)代理运行在同一主机上的不同Docker容器的教程.但是,我需要做的不同.概述了我的基础架构:具有5个节点的在线CoreOS集群,全部运行etcd在群集的每个节点上使用fleet启动不同的Docker容器(运行Wor

浏览网页,我发现了很多关于使用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检查这些记录.

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

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部