在同一台主机上安装2个Consul的客户端代理(分离集群)
Install 2 Consul's client agents (separated clusters) on the same host
我在不同的主机上有 2 个不同的 HashiCorp Consul 集群(我们称它们为集群 A 和集群 B)运行。
我的 Python 应用程序 运行 在我已经安装在配置为集群 A 的 1 个客户端代理上的主机上,我希望我的应用程序也能够向集群 B 发送请求(不知何故区分这两个代理)
是否可以在同一台主机上安装第二个客户端代理(配置到群集 B)?如果可以,该怎么做?
我是否只需要更改为不同的端口?
找不到该用例的文档。
任何可能的解决方案都会有所帮助,谢谢!
Consul 允许您为代理配置端口,这样它们就不会在单个主机上发生冲突。我能够在名为的文件中这样做:
consul.json
含内容:
{
"ports": {
"dns": 9600,
"http":9500,
"serf_lan":9301,
"serf_wan": 9401,
"server":9300,
"grpc":9502
}
}
然后我使用以下命令启动代理:
consul agent -dev -bind 127.0.0.1 --config-file consul.json
然后我在同一台机器上通过命令行工具看到了两个代理 ps x
(输出缩写):
7510 ... consul agent -dev -bind 127.0.0.1
7780 ... consul agent -dev -bind 127.0.0.1 --config-file consul.json
最后,我使用 --http-addr=
指定的选项 here 与非默认端口代理通信,并将它们聚集在同一主机上,看看是否可行,确实是:
[vagrant@localhost ~]$ consul members
Node Address Status Type Build Protocol DC Segment
localhost.localdomain 127.0.0.1:8301 alive server 1.10.2 2 dc1 <all>
localhost.localdomain.dc1 127.0.0.1:9401 alive server 1.10.2 2 dc1 <all>
因此,我相当有信心您可以 运行 同一主机上的两个代理,并在每个代理的配置文件中进行适当的设置(或者在一个代理上使用默认值,在另一个代理上使用配置文件) .
我在不同的主机上有 2 个不同的 HashiCorp Consul 集群(我们称它们为集群 A 和集群 B)运行。
我的 Python 应用程序 运行 在我已经安装在配置为集群 A 的 1 个客户端代理上的主机上,我希望我的应用程序也能够向集群 B 发送请求(不知何故区分这两个代理)
是否可以在同一台主机上安装第二个客户端代理(配置到群集 B)?如果可以,该怎么做? 我是否只需要更改为不同的端口? 找不到该用例的文档。
任何可能的解决方案都会有所帮助,谢谢!
Consul 允许您为代理配置端口,这样它们就不会在单个主机上发生冲突。我能够在名为的文件中这样做:
consul.json
含内容:
{
"ports": {
"dns": 9600,
"http":9500,
"serf_lan":9301,
"serf_wan": 9401,
"server":9300,
"grpc":9502
}
}
然后我使用以下命令启动代理:
consul agent -dev -bind 127.0.0.1 --config-file consul.json
然后我在同一台机器上通过命令行工具看到了两个代理 ps x
(输出缩写):
7510 ... consul agent -dev -bind 127.0.0.1
7780 ... consul agent -dev -bind 127.0.0.1 --config-file consul.json
最后,我使用 --http-addr=
指定的选项 here 与非默认端口代理通信,并将它们聚集在同一主机上,看看是否可行,确实是:
[vagrant@localhost ~]$ consul members
Node Address Status Type Build Protocol DC Segment
localhost.localdomain 127.0.0.1:8301 alive server 1.10.2 2 dc1 <all>
localhost.localdomain.dc1 127.0.0.1:9401 alive server 1.10.2 2 dc1 <all>
因此,我相当有信心您可以 运行 同一主机上的两个代理,并在每个代理的配置文件中进行适当的设置(或者在一个代理上使用默认值,在另一个代理上使用配置文件) .