Last active
May 9, 2018 20:29
-
-
Save sokil/850ec8a9e11962f9a643ec95e52b8a76 to your computer and use it in GitHub Desktop.
Build consul cluster, register DNS service
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# network | |
docker network create consulnet | |
# servers | |
docker run --network="consulnet" -p 8500:8500 --rm --name=consulServer1 consul agent --node=server1 --client=0.0.0.0 --bootstrap --server --ui | |
docker run --network="consulnet" --rm --name=consulServer2 consul agent --node=server2 --client=0.0.0.0 -join=172.18.0.2 --server | |
docker run --network="consulnet" --rm --name=consulServer3 consul agent --node=server3 --client=0.0.0.0 -join=172.18.0.2 --server | |
# agents | |
docker run --net="consulnet" --rm --name=consulClient1 consul agent --node=client1 --client=0.0.0.0 -join=172.18.0.2 | |
docker run --net="consulnet" --rm --name=consulClient2 consul agent --node=client2 --client=0.0.0.0 -join=172.18.0.2 | |
docker run --net="consulnet" --rm --name=consulClient3 consul agent --node=client3 --client=0.0.0.0 -join=172.18.0.2 | |
# status | |
docker exec server1 consul members | |
# raft leader | |
docker exec server1 consul operator raft list-peers | |
# load dns service | |
service='{"service": {"name": "dns", "address": "8.8.8.8", "port": 53}}' | |
docker exec server1 sh -c "echo '$service' > /consul/config/dns.json" | |
docker exec server1 consul reload | |
# test dns service | |
sleep 1 # wait for reload | |
curl 127.0.0.4:8503/v1/catalog/service/dns?pretty |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment