consul集群部署-windows单机

windows 的 Consul 单机集群搭建

1. 目标:以windows服务形式,运行consul

2. IP分配 

节点用途节点主机IPHTTPHTTPSDNSGRPCserverLANWAN
Consul-Server1本机IP8501851186018401831083118312
Consul-Server2本机IP8502851286028402832083218322
Consul-Server3本机IP8503851386038403833083318332
Consul-Agent本机IP8500851086008400830083018302

3. 准备Consul 1.8.1 

4. 将下载的Consul文件放到C:\Windows\System32 主要为了创建 windows服务时用,试过是放在了指定位置,然后在Path添加,但没启作用

5. 创建4个节点的文件夹如下图

  

6. 首先创建Server-01, 单击右键以管理员身份运行run_install.bat,如下图 

                                                                                                           

7. run_install 的内容如下:

cd /d %~dp0 //转到当前目录
set serviceName="YLSoft Consul Server-01" //服务名称
set serviceFilePath=consul agent -config-file=C:\Publish\Consul\Server-01\config\server.json //运行, -config-file需要绝对位置
set serviceDescription="裕林-发现服务-01节点" //服务描述

sc create %serviceName%  BinPath= "%serviceFilePath%" //注意Binpath后面要有空格
sc config %serviceName%  start=auto  
sc description %serviceName%  %serviceDescription%
sc start  %serviceName%
pause

 执行的时候,要把里面 // 及后面的注视去掉 

8. Server.json的内容 

{
  "node_name": "server1", //节点名
  "bootstrap_expect": 3,  //三个节点
  "datacenter": "ylsoft", //数据中心名
  "bind_addr": "192.168.0.121", //本地IP
  "client_addr":"0.0.0.0", //允许同一局域网其它电脑访问
  "data_dir": "C:\\Publish\\Consul\\Server-01\\data", //数据文件位置,绝对路径
  "ui":false, //
  "server": true,
  "log_level": "INFO", 
  "log_file": "C:\\Publish\\Consul\\Server-01\\log\\consul.log", //日志文件位置,绝对路径
  "log_rotate_duration": "24h", 
  "enable_syslog": false,
  "enable_debug": true, 
  "disable_host_node_id": true, 
  "ports": {
    "http": 8501, 
    "https": 8511, 
    "dns": 8601,
    "grpc": 8401,
    "serf_lan": 8311,
    "serf_wan": 8312,
    "server": 8310
  }, 
  "retry_join": ["192.168.0.121:8311","192.168.0.121:8321","192.168.0.121:8331"]
}

Consul-Server2, Consul-Server3 服务点按上面表格改就可以了

9. 创建代理节点, 运行脚本

cd /d %~dp0
set serviceName="YLSoft Consul Agent"
set serviceFilePath=consul agent -config-dir=C:\Publish\Consul\Client\config\client.json
set serviceDescription="裕林-发现服务-代理"

sc create %serviceName%  BinPath="%serviceFilePath%"
sc config %serviceName%  start=auto  
sc description %serviceName%  %serviceDescription%
sc start  %serviceName%
pause

client.json的内容

{
  "node_name": "client1",
  "data_dir": "C:\\Publish\\Consul\\Client\\data", 
  "server": false, 		//代理端为false
  "bind_addr": "192.168.0.121", //本地IP
  "advertise_addr":"121.37.136.160", 	 //公网可以访问的IP
  "advertise_addr_wan":"121.37.136.160", //公网可以访问的IP
  "client_addr": "0.0.0.0",
  "bootstrap": false,
  "datacenter": "ylsoft", 
  "log_level": "INFO",
  "log_file": "C:\\Publish\\Consul\\Client\\log\\consul.log",
  "log_rotate_duration": "24h", 
  "enable_syslog": false, 
  "disable_host_node_id": true, 
  "rejoin_after_leave": true,
  "ui": true,
  "ports": {
    "http": 8500,
    "https": 8510,
    "dns": 8600,
    "grpc": 8400,
    "serf_lan": 8301,
    "serf_wan": 8302,
    "server": 8300
  },
  "start_join": ["192.168.0.121:8311", "192.168.0.121:8321","192.168.0.121:8331"]
}

10. 成功可以访问客户端的http://外网ip:8500

11. 创建服务出错的话,可以在相应的log文件夹下查看日志

12,https://download.csdn.net/download/wang_peng/18503996 这是相应的文件资源

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Consul是一个开源工具,用于实现分布式系统的服务发现和配置管理。它由HashiCorp公司开发,使用Go语言编写,具有绿色、轻量级的特点。\[3\] 在使用Consul时,可以使用Consul-template来实现配置模板和Nginx配置的更新。首先,需要安装并运行Consul。可以从官网下载最新版本的Consul服务,并解压到指定目录。然后,将解压后的Consul可执行文件移动到/usr/local/bin目录下。可以使用consul --version命令来验证安装是否成功。\[1\] 接下来,可以启动Consul服务。使用consul agent命令来启动服务,并指定相关参数,如-server、-ui、-bootstrap-expect、-data-dir、-node、-client、-bind、-datacenter和-config-dir等。这些参数可以根据实际需求进行配置。\[2\] 一旦Consul服务启动成功,就可以开始使用Consul进行服务发现和配置管理了。Consul提供了一套API和命令行工具,可以用于注册和发现服务、配置管理等操作。可以通过编写Consul配置文件来定义服务和相关配置信息,并使用Consul-template来生成实际的Nginx配置文件。Consul-template使用HTTP长轮询来实现变更触发和配置更改,可以通过Consul的watch命令来实现。\[1\] 总结来说,Consul是一个分布式、高可用、可横向扩展的工具,用于实现分布式系统的服务发现和配置管理。通过安装和运行Consul,并结合Consul-template来实现Nginx配置的更新和重启功能。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [Consul的介绍、安装与使用](https://blog.csdn.net/hudeyong926/article/details/121287659)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [consul配置和使用](https://blog.csdn.net/weixin_44105468/article/details/121450170)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wang_peng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值