Docker容器引擎(6)

目录

一.什么是consul

解决什么问题?

consul的模式:

二.consul 部署

consul服务器:

查看版本:

设置代理,在后台启动 consul 服务端:

进行后台启动:

查看集群信息:

访问页面:

registrator服务器:

 测试服务发现功能是否正常:


一.什么是consul

consul  : 实现服务自动发现和注册的工具

解决什么问题?


如果后端应用服务器集群节点数量很多,前端的负载均衡器配置和管理会很麻烦的问题。(负载均衡器的节点配置条目会很多,配置管理起来会很麻烦;并且如果后端节点的网络位置发生了变化,还需要修改所有调用这些后端节点的负载均衡器的配置等问题)

consul的模式:

client模式:可用于接收后端服务发来的注册信息,并转发给server节点,没有持久化能力

server模式:可用于接收后端服务或client模式节点发来的注册信息,还可在server节点之间同步注册信息,具有持久化注册信息到本地的能力
server-leader节点:复制同步注册信息给其它的server节点,并对各个节点做健康检查
 

二.consul 部署

consul服务器:192.168.233.10;registrator服务器:192.168.233.20

consul服务器:

先创建目录:

拖入consul压缩包:

将压缩包复制到consul目录中:

在进行解压:

移动到环境变量 中:

mv consul /usr/local/bin/

查看版本:

设置代理,在后台启动 consul 服务端:

先创建data目录:

创建日志目录:

进行后台启动:

consul agent \
-server \
-bootstrap \
-ui \
-data-dir=/var/lib/consul-data \
-bind=192.168.233.10 \
-client=0.0.0.0 \
-node=consul-server01 &> /var/log/consul.log &

-server: 以server身份启动。默认是client。
-bootstrap :用来控制一个server是否在bootstrap模式,在一个数据中心中只能有一个server处于bootstrap模式,当一个server处于 bootstrap模式时,可以自己选举为 server-leader。
-bootstrap-expect=2 :集群要求的最少server数量,当低于这个数量,集群即失效。
-ui :指定开启 UI 界面,这样可以通过 http://localhost:8500/ui 这样的地址访问 consul 自带的 web UI 界面。
-data-dir :指定数据存储目录。
-bind :指定用来在集群内部的通讯地址,集群内的所有节点到此地址都必须是可达的,默认是0.0.0.0。
-client :指定 consul 绑定在哪个 client 地址上,这个地址提供 HTTP、DNS、RPC 等服务,默认是 127.0.0.1。
-node :节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名。
-datacenter :指定数据中心名称,默认是dc1。

启动consul后默认会监听5个端口:
8300:replication、leader farwarding的端口
8301:lan cossip的端口
8302:wan gossip的端口
8500:web ui界面的端口
8600:使用dns协议查看节点信息的端口

查看集群信息:

查看members状态:

查看集群状态:

consul operator raft list-peers

通过 http api 获取集群信息:

curl 127.0.0.1:8500/v1/status/peers             #查看集群server成员

curl 127.0.0.1:8500/v1/status/leader            #集群 server-leader

curl 127.0.0.1:8500/v1/catalog/services            #注册的所有服务

curl 127.0.0.1:8500/v1/catalog/nodes  #集群节点详细信息

访问页面:

registrator服务器:

安装 Registrator,创建镜像:

docker pull gliderlabs/registrator

添加容器:

docker run -d --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock --restart=always gliderlabs/registrator:latest --ip=192.168.233.20 consul://192.168.233.10:8500

--net=host :把运行的docker容器设定为host网络模式。
-v /var/run/docker.sock:/tmp/docker.sock :把宿主机的Docker守护进程(Docker daemon)默认监听的Unix域套接字挂载到容器中。
--restart=always :设置在容器退出时总是重启容器。
--ip :刚才把network指定了host模式,所以我们指定ip为宿主机的ip。
consul :指定consul服务器的IP和端口。

 测试服务发现功能是否正常:

docker run -d --name c1 -p 1314:80 nginx:1.24

docker run -d --name c2 -p 1324:80 nginx:1.24

访问页面:

consul服务器上查看:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/655996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云计算底层技术奥秘、磁盘技术揭秘、虚拟化管理、公有云概述

云计算基础 实验图例 虚拟化平台安装 创建虚拟机 1、创建虚拟机 2cpu,4G内存(默认用户名: root 密码: a) 2、验证 ecs 是否支持虚拟化 [rootecs ~]# grep -Po "vmx|svm" /proc/cpuinfovmx... ...[rootecs ~]# lsmod |grep kvm…

【算法专题】前缀和(附图解、代码)

📑前言 本文主要是前缀和的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 🌄每日一句:努力一点&…

Orion-14B-Chat-Plugin本地部署的解决方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

WebSocket 整合 记录用法

WebSocket 介绍 WebSocket 是基于tcp的一种新的网络协议,可以让浏览器 和 服务器进行通信,然后区别于http需要三次握手,websocket只用一次握手,就可以创建持久性的连接,并进行双向数据传输 Http和WebSocket的区别 Http是短连接,WebSocket’是长连接Http通信是单向的,基于请求…

互联网加竞赛 基于深度学习的人脸表情识别

文章目录 0 前言1 技术介绍1.1 技术概括1.2 目前表情识别实现技术 2 实现效果3 深度学习表情识别实现过程3.1 网络架构3.2 数据3.3 实现流程3.4 部分实现代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的人脸表情识别 该项目较…

HiveSQL题——排序函数(row_number/rank/dense_rank)

一、窗口函数的知识点 1.1 窗户函数的定义 窗口函数可以拆分为【窗口函数】。窗口函数官网指路: LanguageManual WindowingAndAnalytics - Apache Hive - Apache Software Foundationhttps://cwiki.apache.org/confluence/display/Hive/LanguageManual%20Windowin…

【Algorithms 4】算法(第4版)学习笔记 01 - 1.5 案例研究:union-find算法

文章目录 前言参考目录学习笔记1:动态连通性2:UF 实现 1:快速查找 quick-find2.1:demo 演示 12.2:demo 演示 22.3:quick-find 代码实现3:UF 实现 2:快速合并 quick-union3.1&#xf…

【Java 数据结构】二叉树

二叉树 1. 树型结构(了解)1.1 概念1.2 概念(重要)1.3 树的表示形式(了解)1.4 树的应用 2. 二叉树(重点)2.1 概念2.2 两种特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储2.5 二叉树的…

【人工智能课程】计算机科学博士作业二

使用TensorFlow1.x版本来实现手势识别任务中,并用图像增强的方式改进,基准训练准确率0.92,测试准确率0.77,改进后,训练准确率0.97,测试准确率0.88。 1 导入包 import math import warnings warnings.filt…

SpringBoot---创建项目

介绍 此项目SpringBoot使用的是2.6.1版本,由于这个项目使用的是maven聚合方式创建的,所以第二步是我在聚合方式下需要添加的依赖,完整的pom.xml内容放到了最下面。 第一步:创建Maven项目 这个里什么也不勾选,直接点…

JDK Locale的妙用:探索多语言和地区设置的强大功能

文章目录 前言应用场景国际化(Internationalization)格式化(Formatting)日期格式化数字格式化金额格式化百分比形式格式化 获取Locale信息 前言 JDK(Java Development Kit)的Locale类用于表示特定的地理、…

openGauss学习笔记-210 openGauss 数据库运维-常见故障定位案例-谓词下推引起的查询报错

文章目录 openGauss学习笔记-210 openGauss 数据库运维-常见故障定位案例-谓词下推引起的查询报错210.1 谓词下推引起的查询报错210.1.1 问题现象210.1.2 原因分析210.1.3 处理办法 openGauss学习笔记-210 openGauss 数据库运维-常见故障定位案例-谓词下推引起的查询报错 210.…

8-小程序数据promise化、共享、分包、自定义tabbar

小程序API Promise化 wx.requet 官网入口 默认情况下,小程序官方异步API都是基于回调函数实现的 wx.request({method: , url: , data: {},header: {content-type: application/json // 默认值},success (res) {console.log(res.data)},fail () {},complete () { }…

ANAPF有源电力滤波器选型计算——安科瑞赵嘉敏

配电系统中谐波电流的计算涉及很多因素。对于改造项目,可使用专业电能质量分析仪测得所需谐波数据;对于新建项目,设计人员并不能直接获得供电系统的的谐波数据,因此,我司研发人员通过众多不同行业、不同类型的项目&…

JSP仓储管理系统myeclipse定制开发SQLServer数据库网页模式java编程jdbc

一、源码特点 JSP仓储管理系统系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库 ,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为SQLServer2008&#x…

扩展学习|一文明晰推荐系统应用开发核心技术发展

文献来源:Lu J, Wu D, Mao M, et al. Recommender system application developments: a survey[J]. Decision support systems, 2015, 74: 12-32. 主题:关于推荐系统应用开发的调查研究 关键词:推荐系统、电子服务个性化、电子商务、电子学习、电子政务 …

除了Adobe之外,还有什么方法可以将Excel转为PDF?

前言 Java是一种广泛使用的编程语言,它在企业级应用开发中发挥着重要作用。而在实际的开发过程中,我们常常需要处理各种数据格式转换的需求。今天小编为大家介绍下如何使用葡萄城公司的的Java API 组件GrapeCity Documents for Excel(以下简…

BL808学习日志-3-DPI-RGB屏幕使用-LVGL D0

一、DPI-RGB驱动 BL808的手册上显示是支持RGB565屏幕显示输出的,但是一直没找到网上的使用例程。且官方的SDK显示也是能够使用的,只是缺少了驱动。这一部分驱动在SIPEED的SDK中已经内置了,今天就是简单的点亮一个800*480 RGB565的屏幕。 二、…

Java基础数据结构之Lambda表达式

一.语法 基本语法:(parameters)->expression或者(parameters)->{statements;} parameters:类似方法中的形参列表,这里的参数是函数式接口里面的参数。这里的参数可以明确说明,也可以不声明而由JVM隐含的推断。当只有一个推…

C++实习报告(集合交,并,差运算的实现)

一、问题描述 1、问题描述 集合元素类型可以是整数、字符串和小数,实现集合的交、并、差运算。 2、功能要求 (1)用户能够输入两个集合元素; (2)能够完成集合的交、并、差运算; (3&a…