当前位置: 首页 > ops >正文

Ubuntu手动安装Consul 的详细步骤

以下是 手动安装Consul 的详细步骤(不依赖APT仓库,直接使用二进制文件):


1. 更新系统

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl unzip
 

2. 下载Consul二进制文件

访问 Consul下载页面 或直接通过命令行获取最新版本(替换 1.18.0 为实际版本):

CONSUL_VERSION="1.18.0"
wget https://releases.hashicorp.com/consul/${CONSUL_VERSION}/consul_${CONSUL_VERSION}_linux_amd64.zip
 

3. 验证文件完整性(可选)

从同一页面下载校验文件并验证:

wget https://releases.hashicorp.com/consul/${CONSUL_VERSION}/consul_${CONSUL_VERSION}_SHA256SUMS
sha256sum -c consul_${CONSUL_VERSION}_SHA256SUMS 2>&1 | grep OK
# 应输出:consul_1.18.0_linux_amd64.zip: OK
 

4. 解压并安装到系统路径

unzip consul_${CONSUL_VERSION}_linux_amd64.zip
sudo mv consul /usr/local/bin/
sudo chmod +x /usr/local/bin/consul
 

5. 验证安装

consul --version
# 输出示例:Consul v1.18.0
 

6. 创建专用用户和目录

sudo useradd --system --home /etc/consul.d --shell /bin/false consul
sudo mkdir -p /etc/consul.d /opt/consul
sudo chown -R consul:consul /etc/consul.d /opt/consul
 

7. 创建配置文件

sudo nano /etc/consul.d/consul.hcl
 

基础配置(单节点开发模式):

datacenter = "dc1"
data_dir = "/opt/consul"
server = true
bootstrap_expect = 1
ui = true
bind_addr = "0.0.0.0"
client_addr = "0.0.0.0"
 

8. 创建Systemd服务

sudo nano /etc/systemd/system/consul.service
 

添加以下内容:

[Unit]
Description=Consul Service Discovery Agent
Documentation=https://www.consul.io/
After=network-online.target[Service]
User=consul
Group=consul
ExecStart=/usr/local/bin/consul agent -config-dir=/etc/consul.d/
ExecReload=/usr/local/bin/consul reload
KillMode=process
Restart=on-failure
RestartSec=30s
LimitNOFILE=65536[Install]
WantedBy=multi-user.target
 

9. 启动Consul服务

sudo systemctl daemon-reload
sudo systemctl enable consul
sudo systemctl start consul
sudo systemctl status consul  # 检查运行状态
 

10. 防火墙配置(如启用UFW)

sudo ufw allow 8500/tcp  # Web UI
sudo ufw allow 8600/tcp  # DNS
sudo ufw allow 8300/tcp  # Server RPC
sudo ufw allow 8301/tcp  # LAN Gossip
sudo ufw allow 8302/tcp  # WAN Gossip
 

11. 验证运行

curl localhost:8500/v1/agent/self | jq .  # 检查节点信息
# 或访问Web界面:http://<服务器IP>:8500/ui
 

手动安装 vs APT安装的区别

特性手动安装APT安装
版本控制可自由选择任意版本依赖仓库中的版本
更新管理需手动下载新版本apt upgrade 自动更新
文件位置二进制在 /usr/local/bin二进制在 /usr/bin
依赖管理需自行处理依赖自动解决依赖

卸载方法

sudo systemctl stop consul
sudo systemctl disable consul
sudo rm /etc/systemd/system/consul.service
sudo rm -rf /etc/consul.d /opt/consul
sudo rm /usr/local/bin/consul
sudo userdel consul
 

注意事项

  1. 版本更新:需定期检查 Consul Releases

  2. 生产环境:建议禁用 server = true + bootstrap_expect = 1,改用多节点集群

  3. 安全加固:通过ACL和TLS加密保护API通信

http://www.xdnf.cn/news/4473.html

相关文章:

  • 如何选择海外专线网络呢?实现业务覆盖
  • 2025安徽通信施工安全员C证精选练习题
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】6.4 时间序列分析(窗口函数处理时间数据)
  • Vue3项目,用ts写一个方法,生成1到50的随机整数,包含1和50
  • Excel表格怎样导出为csv格式
  • Selenium的driver.get_url 和 手动输入网址, 并点击的操作,有什么不同?
  • WD1016 升压转换器性能特点及应用场景分析
  • C++_MD5算法
  • python+pytest接口自动化测试--日志记录
  • Linux cp 目录A所有内容到目录B
  • 深入探索Linux命名管道(FIFO):原理、实践与高级技巧
  • 【上位机——MFC】对话框
  • C25-数组应用及练习
  • DHCP理解
  • 在scala中,转换算子和行动算子有什么区别
  • 39.电气连接口与隔离舱设计
  • 【学习笔记】机器学习(Machine Learning) | 第五章(4)| 分类与逻辑回归
  • 在线PDF阅读方案:jQuery + PDF.js
  • K8S 基于本地存储的持久卷
  • 《Python星球日记》 第44天: 线性回归与逻辑回归
  • 猫咪如厕检测与分类识别系统系列~进阶【一】视频流推流及网页实时展示
  • 电脑桌面悬浮窗便签,好用的电脑桌面便签工具
  • Android Studio根目录下创建多个可运行的模块
  • ESP32-S3 I2S音频开发实战指南
  • Nginx性能调优与深度监控
  • html css js网页制作成品——HTML+CSS珠海网页设计网页设计(4页)附源码
  • LVGL-对象 lv_obj_t
  • FAISS(Facebook AI Similarity Search)
  • STM32基础教程——软件SPI
  • 高效C/C++之七:Coverity修复问题: 打印函数切记对应类型 和 判定非空指针变量后使用