安装脚本
CONSUL_SERVER="${1:-"xxxxx"}"
mkdir -p /etc/consul/
wget https://releases.hashicorp.com/consul-template/0.39.1/consul-template_0.39.1_linux_amd64.zip
unzip consul-template_0.39.1_linux_amd64.zip
mv consul-template /usr/bin/
cat > /etc/consul/config.hcl <<EOF
consul {
address = "$CONSUL_SERVER:30491"
token = "e180dbae-6d96-55a5-7238-50acab878bdb"
}
template {
source = "/etc/consul/tcp-proxy.tpl"
destination = "/etc/nginx/conf.d/tcp-proxy.conf"
command = "cat /etc/nginx/conf.d/tcp-proxy.conf && nginx -t && nginx -s reload || echo error"
}
EOF
cat > /etc/consul/tcp-proxy.tpl <<EOF
{{ with \$d := key "taiguo-prod"|parseYAML }}
{{ range \$d }}
upstream {{ .name }} {
{{ range .server }}
server {{ . }};
{{ end }}
}
server {
listen {{ .port }};
location / {
proxy_pass http://{{ .name }};
}
}
{{ end }}
{{ end }}
EOF
cat > /lib/systemd/system/consul-template.service <<EOF
[Unit]
Description=Consul Template Service
After=network.target
[Service]
ExecStart=/usr/bin/consul-template -config /etc/consul/config.hcl
Restart=always
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl start consul-template
sudo systemctl enable consul-template
sudo systemctl status consul-template