环境准备

 vs开发环境:vs2017

 consul版本: 1.4.4

 netcore版本:2.1

安裝Consul

 1.从官网下载consul到本地,选择系统对应的版本进行下载到本地,下载地址:https://www.consul.io/downloads.html

 

 

 2.下载到本地之后解压压缩文件,并且配置环境变量(不需要每次都得到文件所在的目录文件夹下进行启动consul

 

 

3.配置完成之后打开cmd输入consul,出现以下页面代表配置成功!~

 

4.输入consul agent -dev 启动consul服务(dev该节点的启动不能用在正式环境,因为该模式下不会持久化任何状态,只是为了方便调试

 

5.启动后访问localhost:8500进入可视化管理页面

 

 

1.单机通过docker创建consul集群

  1.拉取docker镜像

     docker  pull  consul

 2.运行docker 容器

docker run --name consul1 -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 consul:latest agent -server -bootstrap-expect 2 -ui -bind=0.0.0.0 -client=0.0.0.0 -datacenter=dc1

 参数介绍

-bootstrap-expect:最小的集群数
-bind=0.0.0.0:绑定地址
-e  CONSUL_BIND_INTERFACE=eth0 :自动绑定eth0端口的ip地址
--net=host :将容器需要映射的端口全部也映射到物理机上
-ui :开启视图
-client=0.0.0.0  :Consul服务侦听地址默认是127.0.0.1不对外提供服务,如果要对外提供服务改为0.0.0.0

 -bind:该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是0.0.0.0

   -datacenter=dc2:指定数据中心名称


3.获取consul服务器的ip地址
docker inspect --format \'{{ .NetworkSettings.IPAddress }}\' consul1

  4.Cilent 加入到Consul服务器集群节点当中

docker run --name consul3 -d -p 8501:8500 consul agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -join 172.17.0.2

5.查看集群状态

docker exec consul1 consul operator raft list-peers

 6.查看数据中心

docker exec node1 consul members

7.列出所有节点

docker exec consul1 consul catalog nodes

8.移除节点

 

docker exec consul1 consul operator raft remove-peer -id=172.17.0.4:8301

 2.多台物理服务器Docker集群部署

   一般在部署的时候是多台物理机实现consul的高可用集群,此时可以进行如下操作跟单机部署差不多

  1.创建server层

docker run -d –name=consul1 -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 -e CONSUL_BIND_INTERFACE=eth0 consul agent -server=true -client=0.0.0.0 -ui -bootstrap-expect=2 -datacenter=dc1

 2.其他节点加入集群当中

docker run –name=consul2 -d -p 7300:8300 -p 7301:8301 -p 7302:8302 -p 7600:8600 -e CONSUL_BIND_INTERFACE=eth0 consul agent -datacenter=dc1 -server -client=0.0.0.0 -join 10.30.61.81:8301

 

错误描述

 如果出现: connect: no route to host错误,添加如下代码

firewall-cmd --zone=public --add-port=8301/tcp --permanent
firewall-cmd --reload 

 

快速入口:微服务(入门一):netcore安装部署consul

快速入口: 微服务(入门二):netcore通过consul注册服务

快速入口: 微服务(入门三):netcore ocelot api网关结合consul服务发现

快速入口:微服务(入门四):identityServer的简单使用(客户端授权) 

版权声明:本文为zhengyazhao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhengyazhao/p/10749421.html