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