consul配置
参考:https://blog.csdn.net/achenyuan/article/details/80389410
gcp:
consul安装目录:/usr/local/bin/consul
consul配置目录:/etc/consul.d
mac:
consul安装目录:/usr/local/bin/consul
consul配置目录:/etc/consul.d
一、开发基本搭建
1.quick-start: consul agent -dev -http-port 8888 -ui -client 0.0.0.0
-dev 开发模式
-http-port 暴露http端口
-ui 开启consulUI 默认开启
-client 0.0.0.0 允许公网访问
访问 ip:8888/可以看到consul主界面

2.查看集群状态
consul members
3.配置文件
使用-config-dir命令行参数,指定配置文件
就是指定加载置文件的目录,该目录下所有的以.json结尾配置文件加载进去,它的加载顺序是根据26个字母的顺序加进行加载配置文件的。目录必需为consul.d,文件内容都是json格式的数据。默认后面文件定义配置会覆盖前面文件定义的配置。
例如/etc/consul.d目录下合建basic.json:
{
"ports": {
"http": 8888
}
}
consul agent -dev -config-dir /etc/consul.d/ -client 0.0.0.0
二、生产集群搭建
1.启动server节点,并设为server-leader
consul agent -server -ui -bootstrap-expect=1 -config-dir=/tmp/consul.d -data-dir=/tmp/consul -node=gcp -advertise=35.220.183.116 -bind=0.0.0.0 -client=0.0.0.0
-server:服务器模式
-ui:能web-ui展示
-bootstrap-expect:server为1时即选择server集群leader
-data-dir:consul状态存储文件地址
-node:指定结点名
advertise:本地ip地址(公网ip可以与不同内网的机器搭建集群,只是内网可以填内网ip)
-client:指定可访问这个服务结点的ip
Version: 'v1.6.1'
Node ID: '2f25f9c0-f9d9-a857-1651-c451c9112a22'
Node name: 'gcp'
Datacenter: 'dc1' (Segment: '<all>')
Server: true (Bootstrap: true)
Client Addr: [0.0.0.0] (HTTP: 8888, HTTPS: -1, gRPC: -1, DNS: 8600)
Cluster Addr: IP (LAN: 8301, WAN: 8302)
Encrypt: Gossip: false, TLS-Outgoing: false, TLS-Incoming: false, Auto-Encrypt-TLS: false
Cluster Addr集群地址是我们上面advertise指定的ip地址,8888是配置的tcp地址。
2.机器2(本地)server节点
consul agent -server -ui -bootstrap-expect=1 -data-dir=/tmp/consul.d -node=mac-server -advertise=192.168.28.1 -bind=0.0.0.0 -client=0.0.0.0
advertise:192.168.28.1 vmvare的vmnet8地址
加入到gcp集群中:
consul join 公网ip
Error joining address '35.220.183.116': Unexpected response code: 500 (1 error occurred:
* Failed to join 35.220.183.116: dial tcp 35.220.183.116:8301: connect: connection refused
报这个错的原因可能是防火墙的原因(gcp的部分端口不能开启)。
在gcp的ports.json中配置LAN端口(LAN: 8301, WAN: 8302)serf_lan
dns : 默认8600.
http :默认8500.
https: 默认-1 (disabled).
serf_lan:默认8301.
serf_wan: 默认 8302.
server: 默认8300.
配置:
{
"ports": {
"http": 8888,
"serf_lan": 8889,
"serf_wan": 8890
}
}
Version: 'v1.6.1'
Node ID: '9eb7b273-8683-a67e-1a02-6077f014410f'
Node name: 'gcp'
Datacenter: 'dc1' (Segment: '<all>')
Server: true (Bootstrap: true)
Client Addr: [0.0.0.0] (HTTP: 8888, HTTPS: -1, gRPC: -1, DNS: 8600)
Cluster Addr: IP (LAN: 8889, WAN: 8890)
Encrypt: Gossip: false, TLS-Outgoing: false, TLS-Incoming: false, Auto-Encrypt-TLS: false
可以看到LAN和WAN的ip已经修改:
Cluster Addr: IP (LAN: 8889, WAN: 8890)
再次执行:
consul join 公网ip
若子节点为unhealth状态,则无法下掉服务,需要先下掉节点

consul配置的更多相关文章
- consul 配置
Eureka 2.0 开源工作宣告停止,对于注册中心来说 Consul 是个更好的选择. 在本场 Chat 中你可以学到的: 了解和搭建 Consul 服务:Spring Cloud Consul 服 ...
- python 读取consul配置
自动化通过rcp client调用远端服务接口时,都需要将远端测试服务ip.端口记录在配置文件. 但由于,服务发布或重启会导致ip.端口变动. 以下将通过python-consul 自动去读取cons ...
- Spring Boot 配置 - Consul 配置中心
▶ Spring Boot 依赖与配置 Maven 依赖 <dependencyManagement> <dependencies> <dependency> &l ...
- Python微服务实践-集成Consul配置中心
A litmus test for whether an app has all config correctly factored out of the code is whether the co ...
- Spring Boot实战系列(7)集成Consul配置中心
本篇主要介绍了 Spring Boot 如何与 Consul 进行集成,Consul 只是服务注册的一种实现,还有其它的例如 Zookeeper.Etcd 等,服务注册发现在微服务架构中扮演这一个重要 ...
- Spring Cloud 系列之 Consul 配置中心
前面我们已经学习过 Spring Cloud Config 了: Spring Cloud 系列之 Config 配置中心(一) Spring Cloud 系列之 Config 配置中心(二) Spr ...
- consul配置参数大全、详解、总结
命令行选项 以下选项全部在命令行中指定. -advertise - 通告地址用于更改我们通告给集群中其他节点的地址.默认情况下,-bind地址是通告的.但是,在某些情况下,可能存在无法绑定的可路由地址 ...
- consul配置和使用
一:consul介绍 consul用于提供服务发现和服务配置的工具.有以下特性:1. 服务发现 consul的客户端提供一个服务,比如api或者mysql,另外一个客户端就可以去发现指定服务的服务提供 ...
- .Net Core with 微服务 - Consul 配置中心
上一次我们介绍了Elastic APM组件.这一次我们继续介绍微服务相关组件配置中心的使用方法.本来打算介绍下携程开源的重型配置中心框架 apollo 但是体系实在是太过于庞大,还是让我爱不起来.因为 ...
随机推荐
- mysql分区介绍
http://www.cnblogs.com/chenmh/p/5644713.html 介绍 可以针对分区表的每个分区指定各自的存储路径,对于innodb存储引擎的表只能指定数据路径,因为数据和索引 ...
- greenplum 存储过程 变量类型
参考: https://www.cnblogs.com/kungfupanda/p/4478917.html
- maven详解 之 pom.xml
Maven 一个项目管理工具 其作用就是用来管理jar 包的 maven的核心 pom.xml配置文件 <project xmlns="http://maven.apache ...
- JAVA面试题0 JAVA语言的基本知识
JAVA语言的特点是什么? >面向对象:两个基本概念:类和对象:三大基本特性:封装.继承.多态: >健壮性:java吸收了C/C++的优点,但是去掉了它们影响健壮性的部分,例如指针和内存申 ...
- DevOps - 生命周期
章节 DevOps – 为什么 DevOps – 与传统方式区别 DevOps – 优势 DevOps – 不适用 DevOps – 生命周期 DevOps – 与敏捷方法区别 DevOps – 实施 ...
- 【转帖】Windows 10版本占比一览:v1903依然最稳定 占比52.6%
Windows 10版本占比一览:v1903依然最稳定 占比52.6% https://os.51cto.com/art/202002/611452.htm 其实感觉现阶段的win10 与 2015年 ...
- mfc WebBrowser打开本地网页
本地路径要用file协议,例子:file:///c:/abc/def.html注意点:file:后面是3个正斜杠,路径中用正斜杠(不是标准的反斜杠).如果你觉得IE地址栏支持标准的路径写法,那么你就错 ...
- Rabbitmq之高级特性——百分百投递消息&消息确认模式&消息返回模式实现
rabbitmq的高级特性: 如何保障消息的百分之百成功? 要满足4个条件:生产方发送出去,消费方接受到消息,发送方接收到消费者的确认信息,完善的消费补偿机制 解决方案,1)消息落库,进行消息状态打标 ...
- Oracle SQL存储过程结构、异常处理示例
-- 存储过程结结构. -- EXCeption不是存储过程必须部分,可以用作本存储过程的异常处理,但如果没有异常处理,出了异常将会终止程序 CREATE PROCEDURE procedure_na ...
- [洛谷Luogu]P1803 线段覆盖问题
贪心想法题解的各位dalaodalaodalao都讲得很清楚了,在下就提供一种桶排的做法吧. 因为给出数据范围 0≤ai<bi≤10000000≤ai<bi≤10000000≤ai< ...