consul安装配置,生产环境部署高可用环境

CentOS系统下Nginx服务的完整部署与配置指南 Nginx作为高性能的HTTP和反向代理服务器,在现代Web架构中扮演着核心角色。其轻量级设计和高并发处理能力使其成为企业级应用的首选。本文从Nginx的基本概念出发,详细解析了其在CentOS系统上的部署流程、核心配置原理及性能调优技巧。通过Yum仓库安装、官方仓库安装和源码编译安装三种方式,开发者可以根据实际需求灵活选择。重点介绍了虚拟主机配置、HTTPS加密实现以及安全防护措施,帮助用户构建安全高效的Web服务。针对生产环境,提供了性能监控、日志分析和自动化维护的实用方案,是运维工程师和开发者的必备参 阅读详情

原文:https://blog.youkuaiyun.com/achenyuan/article/details/80389410

前言
window下安装
linux下安装
修改默认端口
方法一
方法二
公网可以访问
查看集群节点信息
consul agent常用命令解读
创建server服务器
阿里云服务器部署高可用集群
consul概念
前言
有时发现点明一些理论知识,有助于我们理解概念。 
consul和eureka一样,是用于分页式系统中服务注册和发现。与其他分布式服务注册与发现的方案,Consul的方案更”一站式”,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。与docker容器无疑配合。 
Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件。

Consul 的使用场景 
1. docker 实例的注册与配置共享 
2. coreos 实例的注册与配置共享 
3. vitess 集群 
4. SaaS 应用的配置共享 
5. 与 confd 服务集成,动态生成 nginx 和 haproxy 配置文件

window下安装
官方下载地址下载window版,解压得到一个可执行文件。 
设置环境变量,让我们直接在cmd里可直接使用consul使命。在path后面添加consul所在目录例如D:\soft\consul_1.1.0_windows_amd64 
启动consul命

consul agent -dev -ui -node=cy
1
-dev开发服务器模式启动,-node结点名为cy,-ui可以用界面访问,默认能访问。 
测试地址

http://localhost:8500
1
出现界面即成功。 
window下的使用到此即可,因为只会存在开发环境,而且能使用。不需要server和群集等概念。

linux下安装
官方下载地址下载linux版,上传到云服务器目录/home/soft 
解压unzip consul_1.1.0_linux_amd64.zip,得到一个文件consul。 
复制consul:cp consul /usr/local/bin/,可以直接使用访问consul命令。 
启动

consul agent -dev
1
结果如下: 

有几个consul agent输出的重要信息: 
节点名称:这是代理的唯一名称。默认情况下,这是机器的主机名,但您可以使用该-node标志对其进行自定义 。 
数据中心:这是配置代理运行的数据中心。每个节点都必须设置其它向数据中心报告。-datacenter 标志可用于设置数据中心。对于单DC配置,代理将默认为“dc1”。 
服务器:这表明代理是以服务器还是客户端模式运行。Server: false (bootstrap: false),表示不是以服务器模式运行,事实上-dev是开发服务器模式。 
客户端地址:这是用于代理的客户端接口的地址。这包括HTTP和DNS接口的端口。默认情况下,它只绑定到localhost。 
群集地址:这是用于集群中的Consul代理之间通信的地址和端口集。并非所有集群中的Consul代理都必须使用相同的端口,但该地址必须可供所有其他节点访问。 
-dev:该模式不能用于生产环境,因为该模式下不会持久化任何状态,该启动模式仅仅是为了快速便捷的启动单节点consul

修改默认端口
方法一
使用-http-port命令行参数,例如修改成8080端口

consul agent -dev -http-port 8080
1
方法二
使用-config-dir命令行参数,指定配置文件 
就是指定加载置文件的目录,该目录下所有的以.json结尾配置文件加载进去,它的加载顺序是根据26个字母的顺序加进行加载配置文件的。目录必需为consul.d,文件内容都是json格式的数据。默认后面文件定义配置会覆盖前面文件定义的配置。 
例如/etc/consul.d目录下合建base-config.json:

{  
    "ports": {    
        "http": 8080
    }  
} 
1
2
3
4
5
其它默认端口 
dns : 默认8600. 
http :默认8500. 
https: 默认-1 (disabled). 
serf_lan:默认8301. 
serf_wan: 默认 8302. 
server: 默认8300. 
例如: 
{ 
“ports”: { 
“http”: 8080, 
“dns”: 8601, 
“serf_lan”: 8311, 
“serf_wan”: 8312, 
“server”: 8310 
} 
}

启动命令

consul agent -dev -config-dir /etc/consul.d/
1
公网可以访问
使用-client 0.0.0.0 
例如:

consul agent -dev -http-port 8080 -client 0.0.0.0
1
查看集群节点信息
命令:

consul members
1
结果如下:

Node  Address         Status  Type    Build  Protocol  DC   Segment
n3    127.0.0.0:8301  alive   server  1.1.0  2         dc1  <all>
1
2
node:节点名
Address:节点地址
Status:alive表示节点健康
Type:server运行状态是server状态
DC:dc1表示该节点属于DataCenter1
consul agent常用命令解读
-data-dir 
作用:指定agent储存状态的数据目录,这是所有agent都必须的,对server尤其重要,因为他们必须持久化集群的状态

-config-dir 
作用:指定service的配置文件和检查定义所在的位置。目录必需为consul.d,文件内容都是json格式的数据。配置详解见官方

-config-file 
作用:指定一个要装载的配置文件

-dev 
作用:开发服务器模式,虽然是server模式,但不用于生产环境,因为不会有任何持久化操作,即不会有任何数据写入到磁盘

-bootstrap-expect 
作用: 参数表明该服务运行时最低开始进行选举的节点数,当设置为1时,则意味允许节点为一个时也进行选举;当设置为3时,则等到3台节点同时运行consul并加入到server才能参与选举,选举完集群才能够正常工作。 一般建议服务器结点3-5个。

-node 
作用:指定节点在集群中的名称,该名称在集群中必须是唯一的(默认这是机器的主机名),直接采用机器的IP

-bind 
作用:指明节点的IP地址,一般是0.0.0.0或者云服务器内网地址,不能写阿里云外网地址。这是Consul侦听的地址,它必须可以被集群中的所有其他节点访问。虽然绑定地址不是绝对必要的,但最好提供一个。

-server 
作用:指定节点为server,每个数据中心(DC)的server数推荐3-5个。

-client 
作用:指定节点为client,指定客户端接口的绑定地址,包括:HTTP、DNS、RPC 
默认是127.0.0.1,只允许回环接口访问

10.-datacenter 
作用:指定机器加入到哪一个数据中心中。老版本叫-dc,-dc已经失效

创建server服务器
上面的例子都是以-dev开发者服务器模式运行的,生产环境不是我想要的。下面以server模式运行consul.

consul agent -server -ui -bootstrap-expect=1 -data-dir=/tmp/consul -node=agent-one -advertise=116.62.184.190 -bind=0.0.0.0 -client=0.0.0.0
1
-server:服务器模式 
-ui:能webui展示 
-bootstrap-expect:server为1时即选择server集群leader 
-data-dir:consul状态存储文件地址 
-node:指定结点名 
advertise:本地ip地址 
-client:指定可访问这个服务结点的ip 
结果如下: 

注意 Cluster Addr集群地址是我们上面advertise指定的ip地址

阿里云服务器部署高可用集群
2台阿里云服务器 
云1:116.62.184.190和云2:139.196.123.97 
在云1上创建consul服务器agent-one:

consul agent -server -ui -bootstrap-expect=1 -data-dir=/tmp/consul -node=agent-one -advertise=116.62.184.190 -bind=0.0.0.0 -client=0.0.0.0
1
在云2上创建consul服务器agent-two:

consul agent -server -ui -bootstrap-expect=1 -data-dir=/tmp/consul -node=agent-two -advertise=139.196.123.97 -bind=0.0.0.0 -client=0.0.0.0
1
在云1上执行命令,将agent-one添加到agent-two:

consul join 139.196.123.97
1
表示当前consul服务器添加到139.196.123.97上面consul服务器 
执行结果为Successfully joined cluster by contacting 1 nodes.表示添加成功,在云1或云2任意一台机器上执行consul members都会得到如下结果:

Node       Address              Status  Type    Build  Protocol  DC   Segment
agent-one  116.62.184.190:8301  alive   server  1.1.0  2         dc1  <all>
agent-two  139.196.123.97:8301  alive   server  1.1.0  2         dc1  <all>
1
2
3
访问http://139.196.123.97:8500,注意阿里云安全组里允许访问8500端口 

成功展示2台consul服务器。

consul概念
Agent: Consul集群中长时间运行的守护进程,以consul agent 命令开始启动. 在客户端和服务端模式下都可以运行,可以运行DNS或者HTTP接口, 它的主要作用是运行时检查和保持服务同步。 
Client: 客户端, 无状态, 以一个极小的消耗将接口请求转发给局域网内的服务端集群. 
Server: 服务端, 保存配置信息, 高可用集群, 在局域网内与本地客户端通讯, 通过广域网与其他数据中心通讯. 每个数据中心的 server 数量推荐为 3 个或是 5 个. 
Datacenter: 数据中心,多数据中心联合工作保证数据存储安全快捷 
Consensus: 一致性协议使用的是Raft Protocol 
RPC: 远程程序通信 
Gossip: 基于 Serf 实现的 gossip 协议,负责成员、失败探测、事件广播等。通过 UDP 实现各个节点之间的消息。分为 LAN 上的和 WAN 上的两种情形。

参考 
在CentOS 7上部署Consul 0.6.4
--------------------- 
作者:陈袁 
来源:优快云 
原文:https://blog.youkuaiyun.com/achenyuan/article/details/80389410 
版权声明:本文为博主原创文章,转载请附上博文链接!

Consul安装部署(Windows环境) 2.1 bind_addr "192.168.1.43" ,绑定节点的内网 IP,用于集群内部通信(Gossip 协议)。1.2 data_dir :"C:\\consul\\data" ,指定存储持久化数据(如集群状态、KV键值)的目录,需确保目录存在且有写入权限。2.2 client_addr "0.0.0.0" ,允许客户端(如 API、DNS、UI)通过所有网络接口访问 Consul。server :true, 以服务端模式运行,参与集群选举和数据存储(单机开发可启用,生产需集群部署)。 阅读详情

相关推荐

Consul微服务配置与发现实战:从安装到生产环境部署

在微服务架构中,服务注册与发现是解决服务间通信和动态扩展的核心机制。其基本原理是通过一个中心化的注册中心,让服务提供者注册自身信息,消费者则通过查询注册中心来获取可用服务实例。这一机制的技术价值在于实现了服务的解耦、动态负载均衡和故障自动转移,从而支撑了微服务架构的弹性与高可用性。在实际应用场景中,无论是电商系统的订单服务调用用户服务,还是金融系统的支付服务发现账户服务,都依赖于稳定可靠的服务发现与配置管理。Consul作为一款集服务发现、健康检查和键值存储于一体的开源工具,通过内置的Gossip协议和Ra

weixin_34122604的博客 397

如何在 Ubuntu 14.04 上配置 Consul 在生产环境中

Consul 是一个分布式、高可用、数据中心感知的服务发现和配置系统。它可以用于以灵活和强大的接口呈现服务和节点,使客户端始终能够实时查看其所属基础设施。Consul 提供了许多不同的功能,用于提供关于基础设施的一致和可用信息。这包括服务和节点发现机制、标记系统、健康检查、基于共识的选举例程、系统范围的键/值存储等。通过在组织内利用 Consul,您可以轻松地为应用程序和服务构建复杂的感知级别。在我们的上一篇指南中,我们快速演示了 Consul 的一些功能。

rubys007的博客 1630

etcd与Consul实战:服务发现与配置中心生产部署指南

服务发现和分布式配置中心是云原生架构的核心基础设施,解决微服务动态寻址与配置集中治理两大关键问题。其底层原理依赖强一致性或最终一致性的分布式键值存储,通过自动注册、健康检查、实时发现与安全注销形成闭环。技术价值在于支撑Kubernetes调度、Istio流量治理、Spring Cloud配置热更新等高可用场景。典型应用包括容器化环境下的服务自动感知、多环境配置灰度发布、敏感信息加密管理及故障自愈。本文聚焦etcd(Raft强一致)与Consul(全栈开箱即用)的选型逻辑、TLS安全加固、三节点高可用部署及线

weixin_30896511的博客 504

生产环境Consul集群安装

文章目录Consul安装升级Consul目录规划Consul安装创建相应目录下载程序包并解压Consul配置命令行Consul启动参数配置Consul-Server配置Consul-Client配置Consul启动Unit配置(CentOS 7)Consul-Server配置Consul-Client配置Consul日志配置重定向到指定文件(不推荐)使用syslog保存日志使用自带-log-file选项保存日志(新版功能)Consul启动启动Server端启动Client端配置文件配置文件模板Consul启

u011179505的博客 1139

consul config 多环境 dev test prod

consul config 多环境 dev test prod , consul 做 配置中心,多环境开支持 基于 yml 配置

AI+AB测试提升电商主图点击率实战指南

在电商运营中,主图点击率(CTR)是衡量商品吸引力的核心指标,直接影响转化率和订单增长。通过AI技术批量生成高质量主图素材,结合数据驱动的AB测试方法,可以显著提升点击率。AI工具如MidJourney和Stable Diffusion能够快速生成多样化视觉方案,而自动化处理流水线则确保素材规格统一。AB测试体系通过多维变量控制和流量分配策略,科学验证不同素材效果。这种方法特别适用于需要快速迭代的电商场景,某女装店铺案例显示CTR从1.2%提升至3.8%,验证了AI+数据协同优化的技术价值。

weixin_29058331的博客 298

consul 配置参数大全

参考文章https://www.cnblogs.com/sunsky303/p/9209024.html 以下选项全部在命令行中指定。 -advertise- 通告地址用于更改我们通告给集群中其他节点的地址。默认情况下,-bind地址是通告的。但是,在某些情况下,可能存在无法绑定的可路由地址。这个标志使闲聊不同的地址来支持这一点。如果此地址不可路由,则节点将处于持续振荡状态,因为其他节...

sujosu的专栏 877

VINS技术路线与代码详解

VINS技术路线 写在前面:本文整和自己的思路,希望对学习VINS或者VIO的同学有所帮助,如果你觉得文章写的对你的理解有一点帮助,可以推荐给周围的小伙伴们,当然,如果你有任何问题想要交流,欢迎随时探讨。话不多说,下面上正文。 VINS代码地址:https://github.com/HKUST-Aerial-Robotics/VINS-Mono 参考文档:1.VINS-Mono A R...

wangshuailpp的博客 7万+

consul安装与配置

consul安装与配置

qq23001186的博客 2827

python全栈入门到实战【基础篇 02】环境搭建:Python解释器与PyCharm、VSCode编辑器安装配置详解

本文详解Python环境搭建步骤。首先安装解释器(运行代码核心),需从官网下载,选3.8及以上版本(勿选2.x)。Windows安装必勾“Add Python.exe to PATH”,验证用`python --version`;Mac选universal2安装包,验证用`python3 --version`。 编辑器二选一:PyCharm社区版(免费,新手推荐),安装后需配置解释器路径;VSCode轻量,需装Python插件并选择解释器。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 5万+

人工智能大语言模型微调技术:SFT 监督微调、LoRA 微调方法、P-tuning v2 微调方法、Freeze 监督微调方法

人工智能大语言模型微调技术:SFT 监督微调、LoRA 微调方法、P-tuning v2 微调方法、Freeze 监督微调方法

丨汀、的博客 4万+

conda export 深度指南:多格式环境导出的原理、参数与插件化实现

本篇围绕 `conda export` 命令展开:它如何将一个已安装的 conda 环境导出为可移植、可复现的文件。读完你可以掌握四种内置导出格式(environment-yaml、environment-json、explicit、requirements)的选型方法,`--file`、`--format`、`--platform`、`--from-history` 等关键参数的精确语义,以及该

gitblog_00294的博客 1099

【Dify】PPT生成工具应用

本文介绍了一款自动化PPT生成工具,通过智能接口将文本内容高效转化为结构化演示文档。该系统采用三阶段工作流(内容输入、HTTP请求上传、文件输出),无需复杂操作即可生成专业PPT。工具适用于教学课件、产品发布、企业培训等场景,能显著提升内容表达效率,特别适合初学者快速制作演示材料。文章详细说明了核心节点、应用场景及开发资源,为文本到PPT的自动化转换提供了实用解决方案。

Mr数据杨 1218

Consul 生产环境部署实战:从零搭建持久化与系统服务

本文详细介绍了在生产环境中部署Consul的实战指南,重点解决数据持久化、高可用性和服务自愈等核心挑战。通过Windows Server环境下的配置持久化、系统服务注册及集群化部署等步骤,确保Consul作为分布式服务网格组件的稳定运行。文章还涵盖了性能调优、监控告警及灾难恢复等关键生产实践,助力企业实现高效的Consul生产环境部署。

weixin_30565327的博客 328

全景相机APP

以下是一款**全景相机APP**的完整源码,支持全景照片拍摄(多帧拼接)、全景预览、鱼眼矫正、图片保存/分享、360°全景查看等核心功能,基于Android原生Camera2 API(替代过时的Camera API) + OpenCV(图像拼接) + GLSurfaceView(全景预览)实现,适配Android 8.0+设备,可直接编译运行。runOnUiThread(() -> tvFrameCount.setText("已拍摄:" + frameCount + "帧"));// X轴旋转(上下)

寒寒豆豆软件公司的博客 181

学Simulink--基础微电网场景实例:基于Simulink的微电网经济调度优化策略仿真

指标传统调度PSO经济调度(本文)目标值总运行成本(元/h)45.232.5(工况1)降低≥20%调度响应时间(s)25<30储能SOC范围(%)50~50(不变)28~56(动态优化)20~80弃风弃光率(%)0(强制满发)0(优化消纳)0原理:微电网经济调度通过PSO算法优化各单元出力,以总成本最小化为目标,平衡功率平衡与设备约束;建模:Simulink中用实现PSO控制器,结合PV/WT/DG/ESS模型,完成闭环优化;验证。

amy_mhd的博客 68

从零构建微服务治理:Consul服务注册发现与配置中心实战指南

在微服务架构中,服务注册与发现是解决服务间动态寻址和健康管理的核心技术,而配置中心则实现了应用配置的集中管理与动态刷新。其原理在于通过一个中心化的注册表(如Consul)来维护所有服务实例的网络位置和健康状态,服务启动时自动注册,消费者通过查询注册表获取可用实例,从而解耦服务间的硬编码依赖。这项技术的核心价值在于提升了系统的弹性、可观测性和运维效率,使得服务扩缩容、故障迁移对调用方透明。典型的应用场景包括微服务架构中的服务治理、多环境配置管理以及云原生应用的生命周期管理。本文将以Consul这一集服务注册发

weixin_30425949的博客 327

SecOC专题之新鲜值TripCnt

本系列为一步步拆解新鲜值的分发及管理而撰写文章属于原创,根据自身开发经验及理解撰写,若有错误请指出Trip Counter是新鲜值中变化最慢的一个part,并且自增到最大值时,会从头开始翻转计数。Trip Counter需要收发双方都保存,由于其变化较慢,所以不会经常进行同步该值。这就要求开发过程中保证每次对该值的读写必须要正确。

qq_22969363的博客 1156

V8 语言特性发布流程完全指南:从 TC39/Wasm CG 提案到 Chromium 正式上线

本文系统讲解 V8 实现并发布 JavaScript / WebAssembly 语言特性的完整流程:从 TC39 与 WebAssembly Community Group(Wasm CG)的标准化共识、Blink Intent 流程,到 V8 内部的特性开关分级、强制性 Fuzzing 与 Chromestatus 评审门禁,直至最终在 Chrome 稳定版中默认启用。读完本文,你将掌握一条语

gitblog_00669的博客 814

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

KMonitor监控系统从零部署指南:关键步骤与避坑技巧

本文详细介绍了KMonitor监控系统的从零部署指南,包括关键步骤与避坑技巧。从部署前的准备工作、安装包解压与目录结构配置,到数据库用户与权限设置、监控脚本配置,再到系统启动与管理、告警配置与可视化,最后是常见问题排查和生产环境最佳实践。帮助用户顺利完成KMonitor的安装部署,并避免常见错误。

weixin_29306571的博客 209

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Dkron:分布式容错作业调度系统终极指南

Dkron 是一个分布式、容错的作业调度系统(分布式 cron),专为云原生环境设计。它采用 Go 语言开发,能够跨多个节点可靠地调度和执行定时任务,确保系统在节点故障时仍能继续运行。无论是简单的脚本执行还是复杂的分布式任务,Dkron 都能提供强大的调度能力和高可用性。 [![Dkron 项目宣传图](https://raw.gitcode.com/gh_mirrors/dk/dkron/ra

gitblog_00341的博客 838

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

HashiCorp Consul 部署指南:从入门到生产环境实践

HashiCorp Consul 部署指南:从入门到生产环境实践 【免费下载链接】consul Consul is a distributed, highly available, and data center aware solution to connect and configure applications a...

gitblog_00435的博客 613

【Consul】CONSUL环境部署

Consul是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由HashiCorp公司用Go语言开发,基于Mozilla Public License 2.0的协议进行开源。Consul支持健康检查,并允许HTTP和DNS协议调用 API 存储键值对。...

渡江客涂鸦板 1万+

Linux部署Consul单机和集群

Consul是由HashiCorp基于Go语言开发的支持多数据中心的分布式高可用服务发布和注册软件, 采用Raft算法保持服务的一致性, 且支持健康检查,Consul和Eureka的侵入式服务中心不同的是, Consul是以独立的软件形式运行, 对项目侵入性小, 更方便部署。Consul是微服务架构中,解决服务发现、配置中心的分布式中间件。

qq_34360059的博客 2922

prometheus服务发现-consul生产环境服务部署

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34219944的博客 657
上一篇: nginx使用stream反向代理mysql
下一篇: Ubuntu apt 本地源 离线安装
L_小乌鸦
博客等级 码龄11年 75粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值