Consul 基本命令以及集群创建

Posted Time-Traveler

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Consul 基本命令以及集群创建相关的知识,希望对你有一定的参考价值。


修改默认端口:

方法一:

使用-http-port命令行参数,例如修改成8080端口:

consul agent -dev -http-port 8080

方法二:
使用-config-dir命令行参数,指定配置文件
就是指定加载置文件的目录,该目录下所有的以.json结尾配置文件加载进去,它的加载顺序是根据26个字母的顺序加进行加载配置文件的。目录必需为consul.d,文件内容都是json格式的数据。默认后面文件定义配置会覆盖前面文件定义的配置。
例如/etc/consul.d目录下合建 base-config.json:

  
    "ports":     
        "http": 8080
      
 

其它默认端口

  1. dns : 默认8600.
  2. http :默认8500.
  3. https: 默认-1 (disabled).
  4. serf_lan:默认8301.
  5. serf_wan: 默认 8302.
  6. server: 默认8300.

例如:


	"ports": 
	"http": 8080,
	"dns": 8601,
	"serf_lan": 8311,
	"serf_wan": 8312,
	"server": 8310
	

启动命令:

consul agent -dev

使用-client 0.0.0.0可让公网访问:

consul agent -dev -http-port 8080 -client 0.0.0.0

查看集群节点信息:

这是在join之后的节点信息,共两个
consul members

加入集群:

server 1:

consul agent -server -ui -bootstrap-expect 2 -data-dir=data -node=n1 -advertise=xxx.xxx.xxx.xxx -bind=0.0.0.0 -client=0.0.0.0

server 2:
join 的时候确保8301端口可以访问

consul agent -server -ui -bootstrap-expect 2 -data-dir=data -node=n1 -advertise=xxx.xxx.xxx.xxx -bind=0.0.0.0 -client=0.0.0.0
consul join xxx.xxx.xxx.xxx

加入成功的标志:

consul agent常用命令解读:

  1. data-dir:指定agent储存状态的数据目录,这是所有agent都必须的,对server尤其重要,因为他们必须持久化集群的状态。
  2. config-dir:指定service的配置文件和检查定义所在的位置。目录必需为consul.d,文件内容都是json格式的数据。配置详解见官方。
  3. config-file:指定一个要装载的配置文件。
  4. dev:开发服务器模式,虽然是server模式,不会有任何持久化操作,不会有任何数据写入到磁盘。
  5. bootstrap-expect: 参数表明该服务运行时最低开始进行选举的节点数,当设置为1时,则意味允许节点为一个时也进行选举;当设置为3时,则等到3台节点同时运行consul并加入到server才能参与选举,选举完集群才能够正常工作。 一般建议服务器结点3-5个。
  6. node:指定节点在集群中的名称,该名称在集群中必须是唯一的(默认这是机器的主机名),直接采用机器的IP
  7. bind:指明节点的IP地址,一般是0.0.0.0或者云服务器内网地址,不能写阿里云外网地址。这是Consul侦听的地址,它必须可以被集群中的所有其他节点访问。虽然绑定地址不是绝对必要的,但最好提供一个。
  8. server:指定节点为server。
  9. client:指定节点为client,指定客户端接口的绑定地址,包括:HTTP、DNS、RPC
    默认是127.0.0.1,只允许回环接口访问。

以上是关于Consul 基本命令以及集群创建的主要内容,如果未能解决你的问题,请参考以下文章

Consul 基本命令以及集群创建

Consul 基本命令以及集群创建

Consul集群中微服务重复注册问题填坑

consul

docker 安装consul以及部署consul集群

docker 安装consul以及部署consul集群