An open API service indexing awesome lists of open source software.

https://github.com/clementlecorre/swarm_gen

Bash script to deploy a swarm infrastructure using docker-machine
https://github.com/clementlecorre/swarm_gen

bash docker docker-machine swarm virtualbox

Last synced: 24 days ago
JSON representation

Bash script to deploy a swarm infrastructure using docker-machine

Awesome Lists containing this project

README

          

# swarm_gen

Bash script to deploy a swarm infrastructure using docker-machine (virtualbox)

## how tu use

```
$ ./swarm_gen.sh
Bash script to deploy a swarm infrastructure using docker-machine

./swarm_gen.sh
-h --help
--action=remove deploy evalconfig
-n --managers=3
-n --workers=3
```

#### action : deploy

```
$ ./swarm_gen.sh --action=deploy -m=3 -w=2
=> Creating 3 manager ...
=> Creating manager1 ...
Running pre-create checks...
...
=> Creating manager2 ...
Running pre-create checks...
...
=> Creating manager3 ...
Running pre-create checks...
...
=> Creating 2 worker ...
=> Creating worker1 machine ...
Running pre-create checks...
...
=> Creating worker2 machine ...
Running pre-create checks...
...
=> Initializing first swarm manager ...
...

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

=> manager2 joining swarm as manager ...
This node joined a swarm as a manager.
=> manager3 joining swarm as manager ...
This node joined a swarm as a manager.
=> worker1 joining swarm as worker ...
This node joined a swarm as a worker.
=> worker2 joining swarm as worker ...
This node joined a swarm as a worker.
m_token: SWMTKN-1-4m2zantbjn19p0uls9p9...
w_token: SWMTKN-1-4m2zantbjn19p0uls9p9...
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
c15se2qhgpv430on7anxyh100 * manager1 Ready Active Leader
j2jq8q7bz0kr3wm9w6nsj7jhx manager2 Ready Active Reachable
wzodnidkwqa5qrgbpg8vfvmkp manager3 Ready Active Reachable
kg3a1civpnp0a4qnbnp2tchud worker1 Ready Active
ahj9fdensazeym9ycxbjkl47f worker2 Ready Active
```

#### action : remove

```
$ ./swarm_gen.sh --action=remove -m=3 -w=2
=> Remove 3 manager machines ...
=> Remove manager1 machine ...
...
=> Remove manager2 machine ...
...
=> Remove manager3 machine ...
...
=> Remove 2 worker machines ...
=> Remove worker1 machine ...
...
=> Remove worker2 machine ...
...
```

#### action : evalconfig

```
$ ./swarm_gen.sh --action=evalconfig
=> Get docker config ...
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/cl3m3nt666/.docker/machine/machines/manager1"
export DOCKER_MACHINE_NAME="manager1"
# Run this command to configure your shell:
# eval $(docker-machine env --shell bash manager1)
```