consul 集群

本文主要讲述如何搭建基于docker容器化的consul 搭建。相关consul是什么,用途,请参考consul 官网 https://www.consul.io/。  

Consul    docker pull docker
   sudo docker run -d -p 8500:8500 -v /data/consul  -e CONSUL_BIND_INTERFACE=‘eth0‘ --name=consul_server_1 consul agent -server -bootstrap -ui -node=1 -client=‘0.0.0.0‘
   Consul 命令简单介绍
   agent : 表示启动 Agent 进程。
  -server:表示启动 Consul Server 模式。
  -client:表示启动 Consul Cilent 模式。
  -bootstrap:表示这个节点是 Server-Leader ,每个数据中心只能运行一台服务器。技术角度上讲 Leader 是通过 Raft 算法选举的,但是集群第一次启动时需要一个引导 Leader,在引导群集后,建议不要使用此标志。
  -ui:表示启动 Web UI 管理器,默认开放端口 8500,所以上面使用 Docker 命令把 8500 端口对外开放。
  -node:节点的名称,集群中必须是唯一的。
  -client:表示 Consul 将绑定客户端接口的地址,0.0.0.0 表示所有地址都可以访问。
  -join:表示加入到某一个集群中去。 如:-json=192.168.1.23

  首先确保你安装了docker ,其次确保你有docker hub 登录,dokcer pull检测本地没有consul会从docker hub pull官方镜像,如果docker pull报错,一般是没有登录,docker login就能解决

  拉去镜像后,运行命令创建docker 容器。相关参数含义如上所示。

Server 集群

   通过命令查一下当前运行 查看Consul 集群信息
   docker exec consul_server_1 consul members

集群加入server:上一个命令可以拿到server ip 即为 join 的

  docker run -d -e CONSUL_BIND_INTERFACE=‘eth0‘ --name=consul_server_2 consul  agent -server -node=2  -join=‘172.17.0.3‘
  --node 3
  docker run -d -e CONSUL_BIND_INTERFACE=‘eth0‘ --name=consul_server_3 consul  agent -server -node=3  -join=‘172.17.0.3‘

Client 加入集群

  Client 模式不持久化数据。一般情况每台应用服务器都会安装一个 Client ,这样可以减轻跨服务器访问带来性能损耗。也可以减轻 Server 的请求压力。
  -- client4
  docker run -d -e CONSUL_BIND_INTERFACE=‘eth0‘ --name=consul_server_4 consul  agent -client -node=4 -join=‘172.17.0.3‘ -client=‘0.0.0.0‘
  --client
  docker run -d -e CONSUL_BIND_INTERFACE=‘eth0‘ --name=consul_server_5 consul  agent -client -node=5 -join=‘172.17.0.3‘ -client=‘0.0.0.0‘
  --client
  docker run -d -e CONSUL_BIND_INTERFACE=‘eth0‘ --name=consul_server_6 consul  agent -client -node=6 -join=‘172.17.0.3‘ -client=‘0.0.0.0‘

这样一个docker 集群就ok,可以去可视化 ui看效果图:

上述是server节点,所有节点点一下node,就可以看到

  有个异常的service是我的webapi应用没有开启。

原文地址:https://www.cnblogs.com/lifejoy/p/10739520.html

时间: 2024-07-31 10:57:10

consul 集群的相关文章

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

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

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

Consul 集群搭建

搭建集群:.启动node1机器上的Consul (node1机器上执行) consul agent -data-dir /tmp/node1 -node=node1 -bind=192.168.0.11 -datacenter=dc1 -ui -client=192.168.0.11 -server -bootstrap-expect 1 .启动node2机器上的Consul (node2机器上执行) consul agent -data-dir /tmp/node2 -node=node2 -

CentOS7安装Consul集群

1.准备4台服务器 linux1 192.168.56.101 linux2 192.168.56.102 linux3 192.168.56.103 linux4 192.168.56.104 2.下载并解压Consul文件,拷贝到/usr/local/bin目录下 [[email protected] ~]# wget https://releases.hashicorp.com/consul/0.8.1/consul_0.8.1_linux_amd64.zip?_ga=2.37003621

Consul入门04 - Consul集群

Part 1:转载自:https://segmentfault.com/a/1190000005040904 我们已经启动了我们的第一个代理并且在这个代理上注册和查询了服务.这些显示了使用Consul是多么的容易但是并没有展示Consul的可扩展性以及可用于产品级别的服务发现的基础设施.在本篇向导中,我们将建立我们第一个多成员的真实的集群. 当一个Consul代理启动后,它对任何其他的节点都一无所知:它是个单独的隔离集群.为了让它感知其他的集群成员,代理必须加入一个现有的集群中去.为了加入一个现

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

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

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集群部署

大纲: 关于consulconsul的架构部署服务器分配安装部署启动agent启动consul server启动consul client把client 节点加入consul 集群查看集群成员查看集群信息注册服务更新服务更新服务查询服务启用webui(尚未成功) 关于consulconsul是一个开源工具,它提供了服务发现,服务检测,健康检查的功能.支持跨机房的数据中心之间的基础设施服务的发现和检测.它安装简单,开箱即用. consul的架构consul的架构如下如图:(来自官方文档) Cons

微服务之:从零搭建ocelot网关和consul集群

原文:微服务之:从零搭建ocelot网关和consul集群 介绍 微服务中有关键的几项技术,其中网关和服务服务发现,服务注册相辅相成. 首先解释几个本次教程中需要的术语 网关 Gateway(API GW / API 网关),顾名思义,是企业 IT 在系统边界上提供给外部访问内部接口服务的统一入口,简化了外部由于多服务协同完成任务时的繁琐配置.网关组件有Kong,ocelot, 服务发现:通过网关访问内部各个微服务,网关要找到所需服务的过程称为服务发现 服务注册:既然有服务发现,前提是要把所需服

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

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