参考: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. 使用loadrunner监控apcahe资源

    一般要修改的内容在Httpd.conf文件中已经存在,如果不存在请自行添加相应内容. (1)修改Apache中Httpd.conf文件, (2)添加ExtendedStatus,设置ExtendedS ...

  2. Hive的原理和基本用法

    一.Hive的概述 1.Hive的定义 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL进行数据读取.写入和管理. 2.Hive的架构图 hive ...

  3. Java 实现 POS 打印机无驱打印

    来源:https://www.ibm.com/developerworks/cn/java/j-lo-pos/index.html 行业需求 我们是一家专业做酒店餐饮软件的公司,餐饮软件一个重要的功能 ...

  4. Kubernetes 各版本镜像列表

    以下镜像列表由 kubeadm v1.11.1 导出,若使用预下载镜像离线部署的方式部署,请使用 kubeadm v1.11.1 版本 导出各版本镜像列表: kubeadm config images ...

  5. 磁盘空间引起ES集群shard unassigned的处理过程

    1.问题描述 早上醒来发现手机有很多ES状态为red的告警,集群就前几天加了几个每天有十多亿记录的业务,当时估算过磁盘容量,应该是没有问题的,但是现在集群状态突然变成red了,这就有点懵逼了. 2.查 ...

  6. java#内部类和嵌套类

    内容思路来自Java编程思想,个人读书做的笔记,仅个人复习之用,故他人参考请自行辨别内容是否有错误. 在类的类部可以定义类,叫做内部类.如果这个内部类被static修饰,此时内部的类叫做嵌套类. 内部 ...

  7. System.Data.SqlClient.SqlException: 'Incorrect syntax near 'OFFSET'.

    https://www.nopcommerce.com/boards/t/54586/410-not-running-on-local-system.aspx#209684 Hello, I was ...

  8. lamp-module

    要求:    (1) 三者分离于两台主机: (2) 一个虚拟主机用于提供phpMyAdmin:另一个虚拟主机用于提供wordpress: (3) xcache (4) 为phpMyAdmin提供htt ...

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

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

  10. Docker-harbor-V1.3.0 ”私有仓库“搭建 Easy

    准备: centos     7.0 Docker version 1.12.6    docker-compose version 1.19.0   1: updata-yum:   更新yum 源 ...