拉取Consul鏡像
$ docker pull consul # 默認拉取latest
$ docker pull consul:1.6.1 # 拉取指定版本
安裝並運行
docker run -d -p 8500:8500 --restart=always --name=consul consul:latest agent -server -bootstrap -ui -node=1 -client='0.0.0.0'
-
agent: 表示啟動 Agent 進程。
-
server:表示啟動 Consul Server 模式
-
client:表示啟動 Consul Cilent 模式。
-
bootstrap:表示這個節點是 Server-Leader ,每個數據中心只能運行一台服務器。技術角度上講 Leader 是通過 Raft 算法選舉的,但是集群第一次啟動時需要一個引導 Leader,在引導群集后,建議不要使用此標志。
-
ui:表示啟動 Web UI 管理器,默認開放端口 8500,所以上面使用 Docker 命令把 8500 端口對外開放。
-
node:節點的名稱,集群中必須是唯一的,默認是該節點的主機名。
-
client:consul服務偵聽地址,這個地址提供HTTP、DNS、RPC等服務,默認是127.0.0.1所以不對外提供服務,如果你要對外提供服務改成0.0.0.0
-
join:表示加入到某一個集群中去。 如:-json=192.168.0.11。
關閉防火牆或開放8500端口
【查看防火牆是否開啟】
$ systemctl status firewalld
【開啟或關閉防火牆】
$ systemctl start firewalld
$ systemctl stop firewalld
【查看所有開啟的端口】
$ firewall-cmd --list-ports
【開啟80端口】
$ firewall-cmd --zone=public --add-port=2181/tcp --permanent
【重啟防火牆,使其生效】
$ firewall-cmd --reload
如果是阿里雲服務器,需要設置安全組:
來到實例管理頁面,點擊更多,點擊網絡和安全組,點擊安全組配置。
點擊配置規則。
點擊添加安全組規則,端口范圍改為8500。
測試訪問
訪問:hostname:8500/
- services:放置服務
- nodes:放置consul節點
- key/value:放置一些配置信息
- dc1:配置數據中心