ConsulManager/docs/Consul部署说明.md

91 lines
2.1 KiB
Markdown
Raw Normal View History

2022-07-12 19:23:38 +00:00
#### 安装
2023-07-25 18:49:58 +00:00
> 以下为CentOS7安装说明,其它系统安装部分请参考官网:
> https://developer.hashicorp.com/consul/downloads
2022-06-14 13:23:25 +00:00
```bash
# 使用yum部署consul
yum install -y yum-utils
yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
2023-07-25 18:49:58 +00:00
yum -y install consul
2022-11-14 21:10:50 +00:00
# 如果yum下载失败可以直接下载RPM包安装
2023-07-25 18:49:58 +00:00
wget https://rpm.releases.hashicorp.com/RHEL/7/x86_64/stable/consul-1.16.0-1.x86_64.rpm
rpm -ivh ./consul-1.16.0-1.x86_64.rpm
2022-07-07 04:06:51 +00:00
```
2022-06-14 13:23:25 +00:00
2022-07-12 19:23:38 +00:00
#### 配置
2023-07-25 18:49:58 +00:00
> 执行以下命令获取UUID,填写到下面配置末尾部分,作为最高权限的token
```bash
uuidgen
```
2023-07-26 06:59:06 +00:00
> `/etc/consul.d/consul.hcl`完整配置内容
2022-06-14 13:23:25 +00:00
```bash
data_dir = "/opt/consul"
2023-07-26 06:15:46 +00:00
log_level = "error"
2023-07-25 18:49:58 +00:00
2023-07-26 06:58:00 +00:00
# 服务器有多个IP启动会报错请增加这行配置填写服务器IP。
2023-07-25 18:49:58 +00:00
advertise_addr = "192.168.x.x"
2022-06-14 13:23:25 +00:00
client_addr = "0.0.0.0"
ui_config{
enabled = true
}
2023-07-26 06:15:46 +00:00
ports = {
grpc = -1
https = -1
dns = -1
grpc_tls = -1
serf_wan = -1
}
2023-07-26 06:58:00 +00:00
peering {
enabled = false
}
connect {
enabled = false
}
2022-06-14 13:23:25 +00:00
server = true
2023-07-25 18:49:58 +00:00
bootstrap_expect=1
2022-06-14 13:23:25 +00:00
acl = {
enabled = true
default_policy = "deny"
enable_token_persistence = true
2023-07-26 03:24:00 +00:00
tokens {
2023-07-25 18:49:58 +00:00
initial_management = "生成的UUID"
agent = "生成的UUID,和上面保持一致"
}
2022-06-14 13:23:25 +00:00
}
```
2022-07-12 19:23:38 +00:00
#### 启动服务
2022-06-14 13:23:25 +00:00
```bash
2023-03-09 22:04:36 +00:00
mkdir /opt/consul
2023-07-25 18:59:17 +00:00
chown -R consul:consul /opt/consul
2023-07-26 07:04:32 +00:00
sed -i 's/Type=notify/Type=exec/g' /usr/lib/systemd/system/consul.service
systemctl daemon-reload
2022-06-14 13:23:25 +00:00
systemctl enable consul.service
2023-07-26 07:04:32 +00:00
systemctl restart consul.service
2022-07-12 19:23:38 +00:00
```
2022-06-14 13:23:25 +00:00
2022-11-14 21:05:52 +00:00
### consul kv 备份还原
```
2023-02-28 02:25:16 +00:00
consul kv export --http-addr=http://127.0.0.1:8500 -token=xxxxxxxx '' > consul_kv_bak.json
consul kv import --http-addr=http://127.0.0.1:8500 -token=xxxxxxxx @consul_kv_bak.json
2022-11-14 21:05:52 +00:00
```
2023-08-02 08:16:19 +00:00
---
## 历史版本配置记录
### 安装后首次获取登录Token记录SecretID即为Consul登录的Token
```bash
consul acl bootstrap|grep SecretID
```
### 忘记global-management Token重新生成
```
# 记录最后的reset index: xx
consul acl bootstrap
# 进入consul数据目录执行
echo 13 > acl-bootstrap-reset
# 重新创建一个global-management Token
consul acl bootstrap
```