如何设置单节点Consul服务器/客户端?

Chr*_*ski 3 service-discovery consul

需要什么配置才能实现这一目标?

可以使用此处提到的“开发模式” - https://learn.hashicorp.com/consul/getting-started/agent(但不建议用于生产)。

我尝试过设置此设置,但我不确定如何设置客户端配置。我尝试过的是以下配置:

{
  "data_dir": "/tmp2/consul-client",
  "log_level": "INFO",
  "server": false,
  "node_name": "master",
  "addresses": {
    "https": "127.0.0.1"
  },
  "bind_addr": "127.0.0.1"
}
Run Code Online (Sandbox Code Playgroud)

这会导致以下失败:

consul agent -config-file=client.json
==> Starting Consul agent...
==> Error starting agent: Failed to start Consul client: Failed to start lan serf: Failed to create memberlist: Could not set up network transport: failed to obtain an address: Failed to start TCP listener on "127.0.0.1" port 8301: listen tcp 127.0.0.1:8301: bind: address already in use
Run Code Online (Sandbox Code Playgroud)

Chr*_*ski 6

运行 Consul 集群不需要“客户端”代理。

我必须将此服务器/主服务器设置为bootstrap_expect1boostrap 进程的节点数):

{
  "retry_join" : ["127.0.0.1"],
  "data_dir": "/tmp2/consul",
  "log_level": "INFO",
  "server": true,
  "node_name": "master",
  "addresses": {
    "https": "127.0.0.1"
  },
  "bind_addr": "127.0.0.1",
  "ui": true,
  "bootstrap_expect": 1
}
Run Code Online (Sandbox Code Playgroud)