参考: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配置的更多相关文章

  1. consul 配置

    Eureka 2.0 开源工作宣告停止,对于注册中心来说 Consul 是个更好的选择. 在本场 Chat 中你可以学到的: 了解和搭建 Consul 服务:Spring Cloud Consul 服 ...

  2. python 读取consul配置

    自动化通过rcp client调用远端服务接口时,都需要将远端测试服务ip.端口记录在配置文件. 但由于,服务发布或重启会导致ip.端口变动. 以下将通过python-consul 自动去读取cons ...

  3. Spring Boot 配置 - Consul 配置中心

    ▶ Spring Boot 依赖与配置 Maven 依赖 <dependencyManagement> <dependencies> <dependency> &l ...

  4. Python微服务实践-集成Consul配置中心

    A litmus test for whether an app has all config correctly factored out of the code is whether the co ...

  5. Spring Boot实战系列(7)集成Consul配置中心

    本篇主要介绍了 Spring Boot 如何与 Consul 进行集成,Consul 只是服务注册的一种实现,还有其它的例如 Zookeeper.Etcd 等,服务注册发现在微服务架构中扮演这一个重要 ...

  6. Spring Cloud 系列之 Consul 配置中心

    前面我们已经学习过 Spring Cloud Config 了: Spring Cloud 系列之 Config 配置中心(一) Spring Cloud 系列之 Config 配置中心(二) Spr ...

  7. consul配置参数大全、详解、总结

    命令行选项 以下选项全部在命令行中指定. -advertise - 通告地址用于更改我们通告给集群中其他节点的地址.默认情况下,-bind地址是通告的.但是,在某些情况下,可能存在无法绑定的可路由地址 ...

  8. consul配置和使用

    一:consul介绍 consul用于提供服务发现和服务配置的工具.有以下特性:1. 服务发现 consul的客户端提供一个服务,比如api或者mysql,另外一个客户端就可以去发现指定服务的服务提供 ...

  9. .Net Core with 微服务 - Consul 配置中心

    上一次我们介绍了Elastic APM组件.这一次我们继续介绍微服务相关组件配置中心的使用方法.本来打算介绍下携程开源的重型配置中心框架 apollo 但是体系实在是太过于庞大,还是让我爱不起来.因为 ...

随机推荐

  1. HDFS 命令行基本操作

    1.hdfs命令行 (1)查看帮助 hdfs dfs -help (2)查看当前目录信息 hdfs dfs -ls / (3)上传文件 hdfs dfs -put /本地路径 /hdfs路径 (4)剪 ...

  2. python学习0day

    一开始学习python没有什么感觉,也没怎么用到,时间间隔大概有一年了开始重新拾起python,话说滋味不太好受,推荐大家学到就常常的练习,不要和小白一样,难受.... 推荐一个网站: 菜鸟教程 - ...

  3. 【pwnable.tw】 alive_note

    突然发现已经两个月没写过WP了,愧疚- -... 此题也算一道分数很高的题目,主要考察Shellcode的编写. 又是一道题目逻辑很简单的题. 首先提供了三个函数 查看,删除,添加 查看函数: 此函数 ...

  4. Unbutu下装oracle

    Ubuntu 16.04安装Oracle 11gR2入门教程图文详解 转自         https://www.linuxidc.com/Linux/2017-12/149797.htm  原文作 ...

  5. 玩个JAVA爬虫,没想玩大

    想玩个爬虫,爬些数据玩玩,不成想把自己玩“进去”了 想爬这个新浪的股票 大额交易页面 本以为用 HttpClient 直接爬链接,结果发现这个页面中,翻页数据压根就是动态赋值的,根本没有,那我根本无法 ...

  6. 计算机是如何计算的、运行时栈帧分析(神奇i++续)

    关于i++的疑问 通过JVM javap -c 查看字节码执行步骤了解了i++之后,衍生了一个问题: int num1=50; num1++*2执行的是imul(将栈顶两int类型数相乘,结果入栈), ...

  7. 024、Java中字符串连接字符串拼接

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  8. 模拟一次sql注入攻击

    在你的web服务目录下 创建一个php文件如下 <?php $conn = db_connect(); $sql = sprintf('update users set password = & ...

  9. 一、Vue环境搭建及基础用法

    一.项目初始化及安装 官网:https://cn.vuejs.org/ 1.1安装及运行项目步骤 1.安装vue-cli(-g=-global) npm install -g vue-cli cnpm ...

  10. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-time

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...