gpt4 book ai didi

Docker 和 Consul 示例 : need clarification

转载 作者:行者123 更新时间:2023-12-02 01:57:16 25 4
gpt4 key购买 nike

我正在使用 Consul 学习 Docker-Swarm,发现了一些我不太理解的问题。基本上,我使用 Consul Sevice Discovery 创建了一个 Docker-Swarm 集群(node-01 和 node-02)。然后我运行一个多容器应用程序(带有 Mongo 的 Express 应用程序),我可以看到它正在 node-02 上运行。为了运行它,我必须进入并找到我的node-02的IP地址,然后打开浏览器。

它工作正常,只是我期望我可以访问某个虚拟 IP(或 DNS),然后 Consul 服务(或 Swarm)会将其转换为节点 02 的正确 IP 地址这个例子。

下一项是,当我登录 Consul Web UI 时,我希望看到“节点”菜单下的节点,但情况似乎并非如此。我还希望获得在 node-01 和 node-02 上运行的“应用程序”或“服务”的概述,但事实并非如此。

我的问题是:

  1. 有人可以解释一下为什么我需要手动找出我的应用程序在集群中的哪个节点上运行。无法想象这是在更大的部署中完成的。
  2. 有人可以解决为什么我在 Consul UI 中看不到“节点”和“服务”吗?

注意:尽管我已经在博客文章(带有屏幕截图)中记录了完整的设置,以便那些想要查看更多详细信息的人,但我还是尝试尽可能简短。 Go to blog post

最佳答案

问题 1

I would like to access the service without having to use the Swarm agent's IP address

解决方案

这是可行的,你只需要启动一个 reverse proxy 例如nginx在容器中( here are the official nginx images )。在此容器启动时,使用选项 --link 和应用程序的名称。因此,该容器的 IP 地址将添加到反向代理容器的文件 /etc/hosts 中(记住使用 --name--hostname)。在特定节点上运行此反向代理容器。那么解决 IP 地址问题的解决方案是在特定节点(然后是特定 IP 地址)上部署另一个容器?<​​/strong> 是的!但是使用 --link 将使这个问题变得可扩展;)

问题 2

I was expecting to see the nodes under the 'nodes' menu, but that seems not to be the case.

你的意思是什么?你期待什么?是否需要查询k,v-storage DB?

关于Docker 和 Consul 示例 : need clarification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36766303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com