使用 Consul Cli迁移 KV
引入问题
如果旧 Consul 配置中心的机器因为各种原因不使用了, 需要迁移, 那么很多开发者第一时间想到的就是手动去 Consul 去 Consul UI 里一个一个去复制配置文件到新的机器, 这种方式就比较繁琐了, 还浪费大量时间, 而且配置一多, 需要的时间则更长
解决问题
使用 Consul 提供的 CLI 即可解决上面提到的问题, 只需要在新机器上安装 Consul CLI 即可, 然后使用两条命令即可完成上面提到的繁杂的步骤
使用
安装
参考https://github.com/kubesun/docker-deploy/consul/cli的 shell 命令
使用
导出原配置中心的数据
consul kv export -http-addr=<IP:PORT> ecommerce/ > consul-kv.json
新配置中心导入数据: 方式一: 在按照了 consul cli 的工具导入到新配置中心(快捷)
cat consul-kv.json | consul kv import -http-addr=<IP:PORT> -
方式二: 在新机器按照 consul cli并导入
consul kv import @consul-kv.json
TLS:
kubectl get secret -n consul
kubectl get secret consul-root-ca-secret -n consul -o jsonpath='{.data.tls\.crt}' | base64 -d > consul-final-ca.crt
cat consul-local-kv.json | consul kv import \
-http-addr=https://consul.sumery.com:443 \
-ca-file=consul-final-ca.crt -
输出:
