首页 > 系统相关 >Consul Windows部署

Consul Windows部署

时间:2024-09-11 17:46:42浏览次数:10  
标签:logs Windows Consul 端口 部署 config consul log

一、Consul下载

下载地址:Install | Consul | HashiCorp Developer

本次使用Windows版本

下载解压后,可看到consul.exe文件

二、Consul Server配置

为了方便使用增加server-config.hcl和server-start.bat文件

(一) server-config.hcl配置文件

# 节点名称
node_name = "my-consul-sever"

# 启用当前节点作为 Consul 服务器
server = true

# 设置预期的服务器节点数量,当达到这个数量时,集群将自动启动
bootstrap_expect = 1

# 指定 Consul 数据的存储目录
data_dir = "Data"

# 设置当前节点的绑定地址(用于集群内的通信)
bind_addr = "127.0.0.1"

# 设置允许的客户端连接地址
client_addr = "0.0.0.0"

# 启用 Consul Web UI
ui_config {
  enabled = true
}

# 配置端口
ports {
  serf_lan = 8301   # 默认 Serf LAN 端口
  serf_wan = 8302   # 默认 Serf WAN 端口
  server = 8300     # Consul 服务器端口
  http = 8500       # HTTP API 端口(UI 端口)
  dns = 8600        # DNS 端口
}

# 设置日志级别(可选,默认为 "INFO")
log_level = "INFO"

(二) 启动consul

consul agent -config-file=server-config.hcl

访问Consul UI页面

http://127.0.0.1:8500/ui/

(三) 使用bat启动脚本

@echo off
echo Starting Consul agent...

REM 设置 Consul 的路径和配置文件路径
SET CONSUL_PATH=consul.exe
SET CONFIG_FILE_PATH=server-config.hcl

REM 创建 logs 目录(如果不存在)
if not exist logs (
    mkdir logs
)

REM 启动 Consul agent,将标准输出和错误输出重定向到 logs 目录中的 consul.log
REM 仅将 Consul 启动成功与否的状态输出到控制台
%CONSUL_PATH% agent -config-file=%CONFIG_FILE_PATH% > logs\consul.log 2>&1
SET ERRORLEVEL=%ERRORLEVEL%

REM 检查是否启动成功
IF %ERRORLEVEL% NEQ 0 (
    echo Consul failed to start. Check logs\consul.log for details.
    exit /b %ERRORLEVEL%
)

echo Consul started successfully. Logs are being written to logs\consul.log
pause

三、Consul Server集群

修改配置文件,bootstrap_expect参数设置节点数量,当前有三台机器改为3

retry_join 加入另外两台需要加入的IP

retry_join = [

"<当前服务器IP>:8301", # 服务器 2 的 IP 地址

"<当前服务器IP>:8301" # 服务器 3 的 IP 地址

]

# 节点名称
node_name = "my-consul-sever2"

# 启用当前节点作为 Consul 服务器
server = true

# 设置预期的服务器节点数量,当达到这个数量时,集群将自动启动
bootstrap_expect = 3

# 指定 Consul 数据的存储目录
data_dir = "Data"

# 设置当前节点的绑定地址(用于集群内的通信)
bind_addr = "<当前服务器IP>"

# 设置允许的客户端连接地址
client_addr = "0.0.0.0"

# 启用 Consul Web UI
ui_config {
  enabled = true
}

# 配置端口
ports {
  serf_lan = 8301   # 默认 Serf LAN 端口
  serf_wan = 8302   # 默认 Serf WAN 端口
  server = 8300     # Consul 服务器端口
  http = 8500       # HTTP API 端口(UI 端口)
  dns = 8606        # DNS 端口
}

# 设置日志级别(可选,默认为 "INFO")
log_level = "INFO"

# 配置服务器节点的互联
retry_join = [
  "<当前服务器IP>:8301",  # 服务器 2 的 IP 地址
  "<当前服务器IP>:8301"   # 服务器 3 的 IP 地址
]

当Leader 不可用时将会触发选举,选出新的leader

四、Consul Client配置

(一) client-config.hcl

# 节点名称
node_name = "my-consul-client"

# 数据目录
data_dir = "Data"

# 绑定地址
bind_addr = "当前机器IP"

# 客户端监听地址
client_addr = "0.0.0.0"

# 指定需要加入的 Consul server 的 IP 地址
retry_join = ["当前机器IP:8301"]

# 启用 UI
ui_config {
  enabled = false
}

# 端口配置
ports {
  serf_lan = 8301
  serf_wan = 8302
  http = 8500  # HTTP API 端口(可以与服务器的端口不同,因为客户端通常不暴露 HTTP API)
  dns = 8600
}

# 设置日志级别(可选,默认为 "INFO")
log_level = "INFO"

(二) client-start.bat

@echo off
echo Starting Consul agent...

REM 设置 Consul 的路径和配置文件路径
SET CONSUL_PATH=consul.exe
SET CONFIG_FILE_PATH=client-config.hcl

REM 创建 logs 目录(如果不存在)
if not exist logs (
    mkdir logs
)

REM 启动 Consul agent,将标准输出和错误输出重定向到 logs 目录中的 consul.log
REM 仅将 Consul 启动成功与否的状态输出到控制台
%CONSUL_PATH% agent -config-file=%CONFIG_FILE_PATH% > logs\consul.log 2>&1
SET ERRORLEVEL=%ERRORLEVEL%

REM 检查是否启动成功
IF %ERRORLEVEL% NEQ 0 (
    echo Consul failed to start. Check logs\consul.log for details.
    exit /b %ERRORLEVEL%
)

echo Consul started successfully. Logs are being written to logs\consul.log
pause

标签:logs,Windows,Consul,端口,部署,config,consul,log
From: https://www.cnblogs.com/mchao/p/18408325

相关文章

  • 结合GPT使用k8s部署awx-oprator
    这个错误表明你尝试添加的Helm仓库URL无法访问,或者index.yaml文件不存在,可能是AWXOperator的Helm仓库已经变更或不再支持这个URL。根据AWXOperator项目的最新文档,它不再使用Helm作为主要的安装方式,而是通过直接应用Kubernetes自定义资源(CRD)和Operator来安装......
  • Windows系统这操作真绝了,功能-1,用户效率下降80%
    作为Windows十几年的老用户来说,控制面板这个界面,小白是熟悉得不能再熟悉的了!这个面板出现之后,没有配文字或者是看不懂的语言,小白也能知道自己想要的功能在哪。Windows控制面板即将退出历史舞台?这个陪伴着我们走过39年岁月的功能也将迎来了退休?没错,微软这一次的Windows更新......
  • 如何使用zabbix内置 key 配置windows服务监控
    原作者:乐维社区原出处:乐维社区原文章链接:https://forum.lwops.cn/article/618windows的服务管理工具中有许多不同类型的服务,包括系统、应用程序、驱动程序、自定义服务等。在监控这些windows服务的时候,我们可以直接使用内置的函数key去进行监控。 Zabbix的内置key(键值)系统是......
  • Windows Server 2022 rdp
    继续水一篇:2022废弃了xddm转而使用wddm,rdp的渲染有比较大的变化。高版本的unreal又需要2022支持,被迫走上魔改windows以提升2022rdp环境下抓屏帧数的道路。测试代码来自https://github.com/robmikh/Win32CaptureSample,只手动添加了输出fps逻辑。patchwindows后能在[60,90]......
  • Springboot计算机毕业设计校园失物招领系统(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表权利人,失物登记,申请领取,拾得人开题报告内容一、选题的依据及意义1.1背景分析随着高校规模的不断扩大和学生数量的增加,校园内失物与寻物的现象日益频繁。传......
  • Springboot计算机毕业设计校园社区系统(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,发布人,项目组队,项目报名,校园互助,类型,互助信息开题报告内容一、项目背景与意义1.1项目背景随着高校规模的不断扩大和社团数量的增加,校园社区管理面......
  • Springboot计算机毕业设计校园生活服务平台(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表学生,校园资讯,商品类型,卖家,二手商品开题报告内容一、选题背景与意义1.选题背景随着信息技术的飞速发展和移动互联网的普及,校园生活正逐步向智能化、便捷化......
  • Springboot计算机毕业设计校园生活互助(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,助者,类型,商品信息,互助订单,信誉分增加,信誉分减少,用户信誉分,助者信誉分,助者分减少,助者分增加,商品展示,订单信息开题报告内容一、选题背景与意义随......
  • 基于Python的黑龙江旅游景点数据分析系统 基于Flask的旅游景点爬虫可视化平台(程序+LW+
    ......
  • asp.netcore8 + vue3 + mysql 自用记账项目(四)项目部署
    一、生成后台api服务 1、在系统生成的Dockerfile基础上,添加时区标识FROMmcr.microsoft.com/dotnet/aspnet:8.0ASbaseENVTZAsia/ShanghaiRUNln-snf/usr/share/zoneinfo/$TZ/etc/localtime&&echo$TZ>/etc/timezoneWORKDIR/appEXPOSE80EXPOSE443FROMmcr.......