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 但是体系实在是太过于庞大,还是让我爱不起来.因为 ...
随机推荐
- PHP连数据库生成数据字典
<?php /** * 生成mysql数据字典 */ header("Content-type:text/html;charset=utf-8"); // 配置数据库 $da ...
- 数十万PhpStudy用户被植入后门,快来检测你是否已沦为“肉鸡”!
北京时间9月20日,杭州公安发布<杭州警方通报打击涉网违法犯罪暨‘净网2019’专项行动战果>一文,文章曝光了国内知名PHP调试环境程序集成包“PhpStudy软件”遭到黑客篡改并植入“后 ...
- 前端构建工具gulp超详细配置, 使用教程(图文)
流程 1. 输入命令(可以使用git bash或者命令控制台cmd) npm install -g gulp 安装全局gulp命令 2. 创建一个项目文件夹, 当前项目文件夹下输入命令npm init ...
- 数学软件实训2-MATLAB程序综合设计及应用
数学软件实训任务二 一 题目:MATLAB程序综合设计及应用 二 目的:熟练掌握MATLAB程序设计的基本方法,会根据MATLAB程序设计的 三 要求: 1 熟练掌握控制流的基本语法结构. 2 会熟练 ...
- Spring Boot-运行部署
Main方法 直接运行启动类main方法 遵循应用程序入口点的Java约定的标准方法.我们的main方法SpringApplication通过调用委托给Spring Boot的类run. Spring ...
- 如何用naviecat批量创建mysql数据
1.参考博文:https://blog.csdn.net/lelly52800/article/details/87267096 2.excel要与表结构一致 3.右键,导入向导,选择相应版本,点击“ ...
- 使用pip install jupyter报错处理办法及修改Jupyter默认加载路径的方法
1.配置python环境之后想使用Jupyter,网上查看可以使用pip install Jupyter安装,执行命令行后正常安装,安装到一半以后报错,如图1.2 图1 图2 2.发现是安装过程中安装 ...
- 《学习R》笔记:科学计算器、检查变量和工作区、向量、矩阵和数组、列表和数据框
一.第二章 科学计算器 要检查两个数字是否一样,要使用 all.equal() ,不要使用 == ,== 符号仅用于比较两个整型数是否存在相同 . > all.equal(sqrt(2)^2,2 ...
- python面试题整理(二)
1.进程,线程,协程定义,有什么区别 进程是操作系统分配资源的最小单位,一个进程对应一块CPU 线程是进程中的某一个控制单元,是CPU调度的最小单元,线程之间相互独立,进程结束线程也会结束,一个进程至 ...
- javascript 创建私有变的三个方法
//方法一 function m() { //这是私有变量 let p = 10; //这是私有方法 function pr() { return false; } //读取或者设置 私有变量和方法 ...