Created
July 15, 2016 17:04
-
-
Save hutchic/84a4a2b121fac807b3bf3943a6cf64fe to your computer and use it in GitHub Desktop.
Creating a consul cluster using docker-machine on AWS
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
| docker-machine create \ | |
| --driver amazonec2 \ | |
| --amazonec2-access-key ${AWS_ACCESS_KEY_ID} \ | |
| --amazonec2-secret-key ${AWS_SECRET_ACCESS_KEY} \ | |
| --amazonec2-region ${AWS_REGION} \ | |
| --amazonec2-vpc-id ${AWS_VPC_ID} \ | |
| --amazonec2-subnet-id ${AWS_SUBNET_ID} \ | |
| --amazonec2-zone ${AWS_ZONE} \ | |
| consul1 | |
| docker-machine create \ | |
| --driver amazonec2 \ | |
| --amazonec2-access-key ${AWS_ACCESS_KEY_ID} \ | |
| --amazonec2-secret-key ${AWS_SECRET_ACCESS_KEY} \ | |
| --amazonec2-region ${AWS_REGION} \ | |
| --amazonec2-vpc-id ${AWS_VPC_ID} \ | |
| --amazonec2-subnet-id ${AWS_SUBNET_ID} \ | |
| --amazonec2-zone ${AWS_ZONE} \ | |
| consul2 | |
| docker-machine create \ | |
| --driver amazonec2 \ | |
| --amazonec2-access-key ${AWS_ACCESS_KEY_ID} \ | |
| --amazonec2-secret-key ${AWS_SECRET_ACCESS_KEY} \ | |
| --amazonec2-region ${AWS_REGION} \ | |
| --amazonec2-vpc-id ${AWS_VPC_ID} \ | |
| --amazonec2-subnet-id ${AWS_SUBNET_ID} \ | |
| --amazonec2-zone ${AWS_ZONE} \ | |
| consul3 | |
| consul1_private_ip=`docker-machine inspect consul1 | grep PrivateIPAddress | cut -d":" -f2 | grep -o '"[^"]\+"' | cut -d '"' -f 2` | |
| consul2_private_ip=`docker-machine inspect consul2 | grep PrivateIPAddress | cut -d":" -f2 | grep -o '"[^"]\+"' | cut -d '"' -f 2` | |
| consul3_private_ip=`docker-machine inspect consul3 | grep PrivateIPAddress | cut -d":" -f2 | grep -o '"[^"]\+"' | cut -d '"' -f 2` | |
| eval $(docker-machine env consul1) | |
| docker run -d --name consul \ | |
| --restart=always \ | |
| --net=host \ | |
| -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' \ | |
| consul agent -server -bind=${consul1_private_ip} -bootstrap-expect=3 | |
| eval $(docker-machine env consul2) | |
| docker run -d --name consul \ | |
| --restart=always \ | |
| --net=host \ | |
| -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' \ | |
| consul agent -server -bind=${consul2_private_ip} -join ${consul1_private_ip} | |
| eval $(docker-machine env consul3) | |
| docker run -d --name consul \ | |
| --restart=always \ | |
| --net=host \ | |
| -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' \ | |
| consul agent -server -bind=${consul3_private_ip} -join ${consul1_private_ip} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment