consul集群docker版本脚本

https://blog.csdn.net/fenglailea/article/details/79098246

docker run -d --name node1 -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘ consul agent -server  -node=node1 -bootstrap-expect=2 && \

docker run -d --name node2 -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘ consul agent -server  -node=node2 -join $(docker inspect -f ‘{{.NetworkSettings.IPAddress}}‘ node1) && \

docker run -d --name node3 -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘ consul agent -server  -node=node3 -join $(docker inspect -f ‘{{.NetworkSettings.IPAddress}}‘ node1) && \

date

JOIN_IP="$(docker inspect -f ‘{{.NetworkSettings.IPAddress}}‘ node1)" && \

docker run -d --name node4 -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘ consul agent -node=node4 -join $JOIN_IP && \

docker run -d --name node11 -p 8400:8400 -p 8500:8500 -p 8600:53/udp -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘ consul agent -ui -node=node11 -client=0.0.0.0 -join $JOIN_IP && \

date

docker run -d --name node20 -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘ consul agent -node=node20 && \

docker exec node20 consul join $(docker inspect -f ‘{{.NetworkSettings.IPAddress}}‘ node1)

{
   "ID": "userServiceId",
   "Name": "userService",
   "Tags": [             
     "primary",
     "v1"
   ],
   "Address": "127.0.0.1",
   "Port": 8000,         
   "EnableTagOverride": false,
   "Check": {           
     "DeregisterCriticalServiceAfter": "90m",
     "HTTP": "http://www.baidu.com",
     "Interval": "10s" 
   }

}

原文地址:https://www.cnblogs.com/feinian/p/9903189.html

时间: 2024-10-17 22:16:48

consul集群docker版本脚本的相关文章

实战中的asp.net core结合Consul集群&Docker实现服务治理

0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 一.前言 在写这篇文章之前,我看了很多关于consul的服务治理,但发现基本上都是直接在powershell或者以命令工具的方式在服务器上面直接输入consul agent .... 来搭建启动consul集群,一旦把命令工具关掉,则consul无法再后台启动,尤其是在linux系统中. 如果在window系统中,采用bat文件到时可以做成开机自启,或者在linux中把命令做成一个service 服务文件来启动就可以实现后台运

Docker容器之Compose编排、consul集群、template模板

docker compose容器编排 (1)docker compose的前身Fig,它是一个定义及运行多个docker容器的工具(2)使用docker compose不再需要使用shell脚本启动容器(3)docker compose非常适合组合使用多个容器进行开发的场景 YAML是一种标记语言很直观的数据序列化格式 文件格式及编写注意事项: 不支持制表符tab键缩进,需要使用空格缩进 通常开头缩进2个空格 字符后缩进1个空格,如冒号,逗号,横杆 用井号注释 如果包含特殊字符用单引号引起来 布

Docker 容器部署 Consul 集群

一.docker安装与启动1.1安装docker[[email protected] /]# yum -y install docker-io 1.2更改配置文件[[email protected] /]# vi /etc/sysconfig/dockerother-args列更改为:other_args="--exec-driver=lxc --selinux-enabled" 1.3启动docker服务[[email protected] /]# service docker st

Docker应用系列(三)| 构建Consul集群

本示例基于Centos 7,在阿里云的三台机器上部署consul集群,假设目前使用的账号为release,拥有sudo权限. 由于Docker官方镜像下载较慢,可以开启阿里云的Docker镜像下载加速器,可参考此文进行配置. 假设三台主机的ip分别为: 主机一:192.168.0.1 主机二:192.168.0.2 主机三:192.168.0.3 三台主机的安装步骤相似,以主机一为例: 1. 安装docker服务: sudo yum install -y docker 2. 启动docker服务

服务发现之美:Consul集群搭建

近几年随着Docker容器技术.微服务等架构的兴起,人们开始意识到服务发现的必要性.微服务架构简单来说,是一种以一些微服务来替代开发单个大而全应用的方法, 每一个小服务运行在自己的进程里,并以轻量级的机制来通信, 通常是 HTTP RESTful API.微服务强调小快灵, 任何一个相对独立的功能服务不再是一个模块, 而是一个独立的服务.那么,当我们需要访问这个服务时,如何确定它的地址呢?这时就需要服务发现了. Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发

Consul集群Server模式

Consul集群Server模式 架构示意图 Consul在生产环境下运行模式分为两种:Server模式和Client模式(dev模式属于开发模式不在这里讨论),我们先用Server模式搭建一个Consul集群,示意图如下: Consul Server A.B.C是启动的三个Consul服务运行于Server模式下,其中Consul Server C 是"总指挥",他们的Leader,Consul Server A和B是Follower当"替补",他们都可以提供注册

Consul集群Server+Client模式

Consul集群Server+Client模式 架构示意图 只使用Consul的Server模式有以下2个问题: 因为Consul Server数量受到控制所以压力承载(扩展性)是个问题. Server很少导致一个Server下会注册很多微服务,当Server挂掉,这个Server节点下注册的微服务都会视为无效. 基于上述问题我们在架构中加入Consul Client模式,Client因为加入了LAN gossip协议组成网络中(高速局域网),可以识别故障的Server节点并找到可用的Serve

hearbeat集群+V1版本资源管理器(haresources)配置

高可用集群实现方式很多,下面介绍hearbeat集群+V1版本资源管理器(haresources)配置 有几个注意事项: 1.  双方要同步时间,可以做定时任务 [[email protected]]# crontab -e */4 * * * */usr/sbin/ntpdate 172.16.0.1 &>/dev/null 2.  节点之间必须要通过主机名互相通信,建议使用hosts文件,节点的名字要与"uname –n 命令保持一致" [[email protect

8分钟学会Consul集群搭建及微服务概念

原文:8分钟学会Consul集群搭建及微服务概念 Consul介绍: Consul 是由 HashiCorp 公司推出的开源软件,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框 架.分布一致性协议实现.健康检查.Key/Value 存储.多数据中心方案,不再需要依赖其他工具(比如 ZooKeeper 等),使用起来也较为简单. Consul的如何实现的? Consul 用 Golang 实现,因此具有天然可移植性(支