Consul基础

介绍

安装

CentOS7

1
2
3
4
$ cd /usr/local
$ wget https://releases.hashicorp.com/consul/1.4.0/consul_1.4.0_linux_amd64.zip
$ unzip consul_1.4.0_linux_amd64.zip
$ ./consul -v

MacOS

1
$ brew install consul

Docker

1
2
3
4
5
6
$ docker pull progrium/consul
$ docker run -p 8400:8400 -p 8500:8500 -p 8600:53/udp -h node1 progrium/consul -server -bootstrap
##### 访问 HTTP 接口
$ curl localhost:8500/v1/catalog/nodes
##### dig来和DNS接口进行交互
$ dig @0.0.0.0 -p 8600 node1.node.consul

访问:http://localhost:8500/ui

运维

运行Agent

开发模式启动

1
$ ./consul agent -dev

agent 启动之后输出的主要信息包括:

字段 说明
Version 版本号
Node ID 节点ID
Node name 节点名称
Datacenter Datacenter名称
Server Agent 是否以 server 的形式启用
Client Addr Client 使用的地址和端口
Cluster Addr 在 Cluster 各个 agent 通信使用的地址和端口
Encrypt 是否加密

服务模式启动

1
2
3
$ mkdir /etc/consul.d
$ echo '{"service": {"name": "web", "tags": ["rails"], "port": 80}}' >/etc/consul.d/web.json
$ ./consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -node=hdp1 -bind=10.10.0.248 -config-dir /etc/consul.d -client 0.0.0.0 -ui

允许远程访问

1
$ xxx -client 0.0.0.0 -ui

访问 http://IP:8500/ui/

停止

Ctrl+C

查看集群成员信息

1
$ ./consul members

加入集群

1
$ ./consul join IP地址

启动时自动加入集群

1
2
3
$ ./consul agent -atlas-join \
-atlas=ATLAS_USERNAME/infrastructure \
-atlas-token="YOUR_ATLAS_TOKEN"

配置健康检查

1
$

获取节点的最新信息

1
$ curl localhost:8500/v1/catalog/nodes

配置集群

主机名 IP 备注
-
-
-

参考

坚持原创技术分享,您的支持将鼓励我继续创作!