Consul中文文档—一篇文章带你搭建Consul开发环境
Consul开发环境搭建, K8s Helm部署Consul,Dokcer部署Consul, 云主机CentOS/Linux 部署Consul, Mac安装Consul
·
转载请注明🙂,喜欢请一键三连哦 😊
系列文章目录
文章目录
前言
本篇介绍下, 在各环境搭建(Kubernetes、Docker、云主机、Mac)搭建Consul集群。
如果大家对启动命令中的各参数不熟悉的话,可以参考Consul中文文档—Consul官方部署都配置了哪些启动参数, 文章中对各参数有详细的介绍。
一、K8s部署Consul
参考文档: Consul k8s 部署官方指引
1.1 Helm安装Consul
1.1.1 配置Helm Chart
helm repo add hashicorp https://helm.releases.hashicorp.com
# "hashicorp" has been added to your repositories
1.1.2 参数配置
Helm Chart Vlue 支持高度自定义设置, 可参考Consul Helm Chart 配置文档或 Helm Chart中的values.yaml 文件进行自定义配置, 如 Server节点、镜像、反亲和、Client、ServiceMesh。
如自定义配置文件: config.yaml
, (增大了Server节点规格):
# config.yaml
# Configure global settings in this section.
global:
image: "hashicorp/consul:1.9.1"
# Configure your Consul servers in this section.
server:
# Specify the resources that servers request for placement. These values will serve a large environment.
resources: |
requests:
memory: "32Gi"
cpu: "4"
disk: "50Gi"
limits:
memory: "32Gi"
cpu: "4"
disk: "50Gi"
1.1.3 部署Consul
# helm 3.x
helm install -f config.yaml hashicorp hashicorp/consul
# helm 2.x
helm install -f config.yaml --name hashicorp hashicorp/consul
1.1.4 验证
# 确认Pod状态
kubectl get pods
# 确认 LoadBalancer Ingress 是否可用
kubectl describe services hashicorp-consul-server
# 可通过CLI or API 访问
kubectl exec <pod name> -it /bin/ash
二、Docker搭建Consul开发环境
下面是我平时开发的测试环境搭建, 由于存储呀,高可用问题都没有配置, 所以不要应用于生产环境。
参考文档: Consul-Docker
2.1 Docker启动命令
$ docker run -d -p 8500:8500 -v /data/consul:/consul/data -e CONSUL_BIND_INTERFACE='eth0' --name=consul_server_1 consul agent -server -bootstrap -ui -node=consul-server1 -client='0.0.0.0'
./consul agent -server=true -datacenter={集群名称} -bootstrap-expect={server节点数} -data-dir={数据保存路径} -config-dir={配置文件路径} -client=0.0.0.0 -log-level=debug -bind={本机IP} -ui -node={本机IP} -retry-join={另一节点IP}
参考链接: https://www.jianshu.com/p/b246ae1e1bcd
2.2 单节点安装
docker run -d -p 8500:8500 --name=consul-server1 consul agent -server -bind='172.17.0.2' -bootstrap=true -node='consul-server1' -client='0.0.0.0' -ui
2.2 集群模式安装
# 三个Server节点
docker run -d -p 8500:8500 --name=consul-server1 consul agent -server -bind='172.17.0.2' - -bootstrap-expect=3 -node='consul.node1' -client='0.0.0.0' -ui
docker run -d -p 18502:8500 --name=consul-server2 consul agent -server -bind='172.17.0.3' -join='172.17.0.2' -node='consul.node2' -client='0.0.0.0' -ui
docker run -d -p 18503:8500 --name=consul-server3 consul agent -server -bind='172.17.0.4' -join='172.17.0.2' -node='consul.node3' -client='0.0.0.0' -u
# 两个Client节点
docker run -d -p 18504:8500 --name=consul-client1 consul agent -server=false -bind='172.17.0.5' -join='172.17.0.2' -node='consul.client1' -client='0.0.0.0' -ui
docker run -d -p 18505:8500 --name=consul-client2 consul agent -server=false -bind='172.17.0.6' -join='172.17.0.2' -node='consul.client2' -client='0.0.0.0' -ui
2.4 验证
本地可以在浏览器中访问: 127.0.0.1:8500 、127.0.0.1:18502、127.0.0.1:18503…
2.5 Docker-Compose安装
可参考使用docker-compose搭建consul集群环境
三、Centos (虚机,云主机、物理机) 搭建Consul开发环境
参考: Consul安装官方指引文档
- 步骤概括: 下载,解压
export CONSUL_VERSION="1.8.0"
export CONSUL_URL="https://releases.hashicorp.com/consul"
curl --silent --remote-name \
${CONSUL_URL}/${CONSUL_VERSION}/consul_${CONSUL_VERSION}_linux_amd64.zip
unzip consul_${CONSUL_VERSION}_linux_amd64.zip
sudo mv consul /usr/bin/
- 启动
nohup consul agent -server=true -datacenter=jdsf-test -node={本机可访问的IP地址} -bootstrap=true -data-dir=./data -config-dir=./config -client=0.0.0.0 -log-level=debug -bind=127.0.0.1 -ui &
四、Mac OS搭建Consul开发环境
- 安装
brew install consul
- 启动
consul agent -server=true -datacenter=myconsul -node=127.0.0.1 -bootstrap=true -data-dir=data -config-dir=config -client=0.0.0.0 -log-level=debug -bind=127.0.0.1 -ui
- 测试
本地可以直接访问: 127.0.0.1:8500
更多推荐
已为社区贡献4条内容
所有评论(0)