The aim of this project is to deploy a Docker Swarm cluster on Vagrant instances.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
What things you need to run this Ansible playbook :
- Vagrant must be installed on your computer
- Update the Vagrant file based on your computer (CPU, memory), if needed
- Update the operating system to deploy in the Vagrant file (default: Ubuntu)
- Download the Ansible requirements:
$ ansible-galaxy install -r requirements.yml
A good point with Vagrant is that you can create, update and destroy all architecture easily with some commands.
Be aware that you need to be in the Vagrant directory to be able to run the commands.
To deploy Docker Swarm cluster on Vagrant instances, just run this command :
$ vagrant up
If everything run as expected, you should be able to list the virtual machine created :
$ vagrant status
Current machine states:
swarm01 running (virtualbox)
swarm02 running (virtualbox)
swarm03 running (virtualbox)
If everything run as expected, you should have a Docker Swarm cluster up and running on the Vagrant instances :
$ vagrant@swarm01:~$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
jmt9f8n5y7sgtsv9c9575n0et * swarm01 Ready Active Leader 18.09.0
mors1e0f2ru6x9xw8kxisz5n3 swarm02 Ready Active 18.09.0
8huolkgiv7f21ldqfurikiavq swarm03 Ready Active 18.09.0
To destroy the Vagrant resources created, just run this command :
$ vagrant destroy
This section list some simple command to use and manage the playbook and the Vagrant hosts.
To update the Docker Swarm cluster configuration with Ansible, you just have to run the Ansible playbook swarm.yml with this command :
$ ansible-playbook swarm.yml
To update the Docker Swarm cluster configuration with Vagrant, you just have to run provisioning part of the Vagrant file :
$ vagrant provision
To be able to connect to a Vagrant instance, you should use the CLI which is configured to automatically use the default SSH key :
$ vagrant ssh swarm01
Member of Wikitops : https://www.wikitops.io/
This project is licensed under the Apache License, Version 2.0. For the full text of the license, see the LICENSE file.