转载

Consul快速使用指南

快速开始

在本机开发环境中,直接通过以下命令可以启动一个单机consul服务器:

consulagent -server -data-dir=/tmp/consul -bootstrap -advertise=$LOCAL_IP 

其中$LOCAL_IP为本地IP地址。

服务器启动后,可以通过$LOCAL_IP:8500使用consul服务。

集群服务

通常情况下Consul的集群服务应当运行于节点数大于等于3的集群环境中。要启动一个集群,需要先选择一台机器作为Bootstrap节点。在Bootstrap节点上执行:

consulagent -server -advertise $LAN_IP -dccloud -domaincom.example. -bootstrap 

其中$LAN_IP为集群工作局域网的本机IP地址。-dc参数指定了当前数据中心的名称为cloud,可根据自己的需要指定,例如ap-northeast-01。-domain参数指定了集群的域名根。这个将在Consul提供的DNS服务中使用。例如上面命令的启动参数,向Consul中注册了一个名为redis的服务,那么此服务的全域名为redis.cloud.example.com。

将其他节点依次加入Bootstrap所在的集群中:

consulagent -server -advertise $LAN_IP -join $BOOTSTRAP_IP 

其中$LAN_IP为集群工作局域网的本机IP地址,$BOOTSTRAP_IP为Bootstrap节点的IP地址。

WebUI

Consul提供了一个Web界面的控制台,可以快速查看集群和服务状态,进行一些简单的管理和维护。Consul的WebUI并不直接包含在二进制发行包中,可以通过 这个链接 下载。

将WebUI包解压缩至特定位置,在Consul的启动参数中增加-ui-dir /path/to/consul-ui即可。例如在Bootstrap节点上启动Consul WebUI,参数可改为:

consulagent -server -data-dir=/tmp/consul -bootstrap -advertise=$LOCAL_IP -ui-dir ./web-ui 

启动后,可以通过http://$LOCAL_IP:8500/来访问WebUI控制台。

在Docker中运行Consul

在Docker集群环境中,可以直接通过Docker容器运行Consul服务,以下是一个参考的docker-compose.yml文件:

consul:   container_name: consul   image: progrium/consul   volumes:     - /home/docker/consul/data:/data   command: -server -advertise $LAN_IP -dc cloud -domain com.example. -bootstrap   net: host   restart: always 

更多资料

  • Consul官方文档
  • 使用consul实现分布式服务注册和发现
原文  http://starlight36.com/post/consul-quick-start
正文到此结束
Loading...