部署Consul
- 服務器上先安裝好docker以及docker-compose
- 將docker-consul.yml文件上傳到服務器
version: '3'
services:
consul-server1:
image: consul:latest
restart: always
hostname: "consul-server1"
ports:
- "8500:8500"
- "53"
volumes:
- /dockervolume/consul/data1:/consul/data
- /dockervolume/consul/config1:/consul/config
- /dockervolume/consul/log1:/consul/log
command: "agent -server -bootstrap-expect 3 -ui -disable-host-node-id -client 0.0.0.0 -data-dir /consul/data -config-dir /consul/config"
consul-server2:
image: consul:latest
restart: always
hostname: "consul-server2"
ports:
- "8501:8500"
- "53"
volumes:
- /dockervolume/consul/date2:/consul/data
- /dockervolume/consul/config2:/consul/config
- /dockervolume/consul/log2:/consul/log
command: "agent -server -ui -join consul-server1 -disable-host-node-id -client 0.0.0.0 -data-dir /consul/data -config-dir /consul/config"
depends_on:
- consul-server1
consul-server3:
image: consul:latest
restart: always
hostname: "consul-server3"
ports:
- "8502:8500"
- "53"
volumes:
- /dockervolume/consul/data3:/consul/data
- /dockervolume/consul/config3:/consul/config
- /dockervolume/consul/log3:/consul/log
command: "agent -server -ui -join consul-server1 -disable-host-node-id -client 0.0.0.0 -data-dir /consul/data -config-dir /consul/config"
depends_on:
- consul-server1
- 在該文件所在目錄執行以下語句自動創建三個consul節點
docker-compose -f docker-consul.yml up -d
- 在三個節點本地掛載目錄config1,config2,config3文件夾下放置同一個acl.json 文件
{
"acl_datacenter": "dc1",
"acl_master_token": "這里放置自己生成的uuid",
"acl_default_policy": "deny"
}
- 重啟三個consul節點
- 用postman訪問以下地址
PUT請求
請求頭:X-Consul-Token acl.json文件里的uuid
請求路徑:http://ip:8500/v1/acl/create
請求body:{
"Name": "Agent Token",
"Type": "client",
"Rules": "node \"\" { policy = \"write\" } service \"\" { policy = \"read\" }"
}
- 此時可以使用acl.json里面的uuid來登錄查看consul并且創建其他的token
springboot項目集成consul
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
spring:
application:
name: 項目名稱
cloud:
consul:
host: ip地址
port: 端口號
discovery:
acl-token: consul里面的token
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。