docker搭建consul集群

博客 动态
0 199
优雅殿下
优雅殿下 2023-03-13 11:26:32
悬赏:0 积分 收藏

docker搭建consul集群

防止自己忘了,做个笔记。

环境为两台主机,ip分别为:  192.168.2.9192.168.2.7

首先在  192.168.2.9 上执行一下命令:

docker run -d --name consul1  --net=host -e CONSUL_BIND_INTERFACE=enp5s0 consul agent -server=true -client=0.0.0.0 -bind=192.168.2.9 -ui -bootstrap-expect=2  -node=node1 

然后在 192.168.2.7上执行命令:

docker run -d --name consul2  --net=host -e CONSUL_BIND_INTERFACE=enp2s0 consul agent -server=true -client=0.0.0.0 -join=192.168.2.9  -node=node2

参数说明:

  • --net=host:容器启动最好是host,因为如果用Bridge,Consul 自带的DNS功能不起作用。

  • -e CONSUL_BIND_INTERFACE=enp5s0enp5s0是主机的网卡名称,每台主机可能不一样,使用命令ip a 可以查看网卡信息,找到内网Ip对应的名称就是该参数的值

  • -server:此标志用于控制代理是否处于服务器模式

  • -client=0.0.0.0:consul服务侦听地址,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1所以不对外提供服务,如果你要对外提供服务改成0.0.0.0

  • -bind=192.168.2.9:应为内部集群通信绑定的地址。这是集群中所有其他节点都应该可以访问的IP地址。默认情况下,这是“0.0.0.0”,这意味着Consul将绑定到本地计算机上的所有地址,并将 第一个可用的私有IPv4地址通告给群集的其余部分。这里我绑定了主机的内网地址, 让内网其他consul加入集群。

  • -ui:表示启动 Web UI 管理器,默认开放端口 8500

  • -bootstrap-expect=2:此标志提供数据中心中预期服务器的数量,Consul会等待指定数量的服务器可用,然后引导群集。

  • -node=node1:此节点在集群中的名称,这在集群内必须是唯一的。默认情况下,这是机器的主机名。

  • -join=192.168.2.9:启动时加入的另一位代理的地址。这可以指定多次以指定多个代理加入。如果Consul无法加入任何指定的地址,代理启动将失败。默认情况下,代理在启动时不会加入任何节点。请注意,retry_join在自动执行Consul集群部署时,使用 可能更适合帮助缓解节点启动竞争条件。

在浏览器输入地址http://192.168.2.9:8500即可访问

看到如图所示显示的 2 instances ,集群就启动成功了。

posted @ 2023-03-13 10:37  YoungQ  阅读(0)  评论(0编辑  收藏  举报
回帖
    优雅殿下

    优雅殿下 (王者 段位)

    2018 积分 (2)粉丝 (47)源码

    小小码农,大大世界

     

    温馨提示

    亦奇源码

    最新会员