Consul 学习笔记(八)之 配置说明

一、背景

     consul 在启动的时候可通过命令指定 其启动配置所在目录,如:consul agent -config-dir conf ,其中 conf 目录 就是存放 consul 所有启动所需配置文件的目录,文件格式可以是 json,也可以是 HCL。

    在 官网 https://www.consul.io/docs/agent/options#configuration_files  已经提供说明,本文主要说明这些配置项在使用的时候一些注意事项,其具体用法还是参照官网。

二、说明

1、retry_join

     在配置文件中 通过 retry_join 可以列出本结点需要加入的集群中的结点。

     该配置项值是一个列表,如:retry_join:["192.168.149.128:8301","192.168.149.130:8301"],其中 8301 是 serf_lan_port。

     consul 结点在启动的时候,会自动循环遍历加入 retry_join 中列出的每个结点,但是只要有一个成功加入,则后面的就不再执行加入。若整个列表遍历完等没有成功加入,此时默认会等待 30s之后再次遍历列表尝试加入。

     在遍历不成功之后,可以看到其日志显示:

2020-11-13T11:20:13.956+0800 [INFO]  agent: Retry join is supported for the following discovery methods: cluster=LAN discovery_methods="aliyun aws azure digitalocean gce k8s linode mdns os packet scaleway softlayer tencentcloud triton vsphere"
2020-11-13T11:20:13.956+0800 [INFO]  agent: Joining cluster...: cluster=LAN
2020-11-13T11:20:13.956+0800 [INFO]  agent: (LAN) joining: lan_addresses=[192.168.149.128:8301]  #本示例中,retry_join列表项就这个一个
2020-11-13T11:20:13.958+0800 [DEBUG] agent.server.memberlist.lan: memberlist: Failed to join 192.168.149.128: dial tcp 192.168.149.128:8301: connect: connection refused
2020-11-13T11:20:13.958+0800 [WARN]  agent: (LAN) couldn't join: number_of_nodes=0 error="1 error occurred: #不成功 
    * Failed to join 192.168.149.128: dial tcp 192.168.149.128:8301: connect: connection refused

"
2020-11-13T11:20:13.958+0800 [WARN]  agent: Join cluster failed, will retry: cluster=LAN retry_interval=30s error=<nil>    #显示尝试间隔时间为 30s
2020-11-13T11:20:21.221+0800 [ERROR] agent.anti_entropy: failed to sync remote state: error="No cluster leader"
2020-11-13T11:20:23.546+0800 [WARN]  agent.server.raft: no known peers, aborting election

PS:

 (1)  retry_join 并不影响 consul 启动;

 (2) 要修改 retry 的间隔时间,可以使用配置项:retry_interval  (具体见官方文档)

原文地址:https://www.cnblogs.com/sandyflower/p/13968606.html