小编umm*_*ino的帖子

mesos-dns,使用端口的最佳实践

我是Service Discovery和集群系统的新手.我开始尝试使用Mesos和Marathon来部署Docker容器,Marathon REST API和UI似乎做得很好.

我的问题是部署服务的实际发现.出于测试目的,我通过Marathon部署了一个缩放到3个实例的Kafka集群,因为我使用了MongoDB测试集群.Mesos-DNS客户端给我一个类似的记录kafka.marathon.mesos,mongo.marathon.mesos它暗示了从主机到容器的动态映射端口.问题是,我的客户端明确需要有关目标端口的信息.是否有一种通用方法可以自动和动态地从服务中获取这些端口信息?暴露多个端口的应用程序怎么样?

到目前为止我的想法: - 做一个REST调用以获取有关已部署应用程序的状态并以某种方式提取相关数据 - 执行DNS SRV查找并以某种方式提取相关数据 - 拥有某种"主",静态绑定到端口,拥有动态的"客户".

我搜索了很多这些信息,但最后大部分教程以手动查找结束,这不是我的目标.

dns service-discovery marathon mesos mesosphere

12
推荐指数
1
解决办法
1202
查看次数

重新启动后如何将IP保留在单个节点上的dockerized Consul群集中

我是Docker和Consul的新手,现在尝试设置由3个dockerized节点组成的本地Consul集群。我正在使用progrium/consulDocker映像并经历了整个教程和所描述的示例。
集群可以正常工作,直到涉及到重新启动/重新启动为止。

这是我的docker-compose.yml

--- node1: command: "-server -bootstrap-expect 3 -ui-dir /ui -advertise 10.67.203.217" image: progrium/consul ports: - "10.67.203.217:8300:8300" - "10.67.203.217:8400:8400" - "10.67.203.217:8500:8500" - "10.67.203.217:8301:8301" - "10.67.203.217:8302:8302" - "10.67.203.217:8301:8301/udp" - "10.67.203.217:8302:8302/udp" - "172.17.42.1:53:53/udp" restart: always node2: command: "-server -join 10.67.203.217" image: progrium/consul restart: always node3: command: "-server -join 10.67.203.217" image: progrium/consul restart: always registrator: command: "consul://10.67.203.217:8500" image: "progrium/registrator:latest" restart: always

我收到如下消息:

[ERR] raft: Failed to make RequestVote RPC to 172.17.0.103:8300: dial tcp 172.17.0.103:8300: no route to host …

docker consul docker-compose

5
推荐指数
1
解决办法
1128
查看次数

通过openvpn容器路由docker容器互联网流量

我想通过VPN容器将traffik从我的docker容器路由到Internet以及从Internet路由到Internet:

Internet <---> VPN Container <---> Containers  A,B,C
Run Code Online (Sandbox Code Playgroud)

我尝试将容器A,B,C连接到内部网络以限制对Internet的访问。VPN容器连接到内部网络以及默认网络,但是由于docker网络的严格隔离,我无法traceroute从A,B,C到Internet。

有什么办法可以做到这一点?

networking iptables docker docker-compose

5
推荐指数
0
解决办法
723
查看次数