root
e1c1372ee6
|
5 years ago | |
---|---|---|
inventory | 5 years ago | |
roles/lxc_swarm | 5 years ago | |
DOC.md | 5 years ago | |
INSTALL.md | 5 years ago | |
LICENSE | 5 years ago | |
Makefile | 5 years ago | |
README.md | 5 years ago | |
ansible.cfg | 5 years ago | |
ansible_install.sh | 5 years ago | |
ansible_provisioning.sh | 5 years ago | |
ansible_swarm_config.sh | 5 years ago | |
clean.sh | 5 years ago | |
environment_bnode_script.sh | 5 years ago | |
stack.yaml | 5 years ago | |
swarm-galera.yml | 5 years ago |
README.md
In this virtual lab we used mainly the following tools:
- Docker swarm for service creation and container orchestration.
- Linux Containers (LXC) for swarm worker nodes instead of managing new VMs.
- Ansible for infrastructure deployment automation, provisioning and configuration management.
- Mariadb galera swarm image for MariaDB automatic clustering with healthchecks and other features, which is already available & build as a Dockerfile.
As an operating system we used the same for all docker (manager & worker) nodes (Host machine & LXC containers):
- Debian 9 (Stretch) with Linux Kernel 4.9.0-5-amd64 (9.3 for host machine, 9.12 for LXC).
In more detail, the manager node is running on the host machine itself, while the provisioning of LXC containers permits the creation of multiple worker nodes on which the galera cluster runs as a service, which are running on the same host and are sharing the same Linux Kernel without the need for other separate or dedicated worker machines/VMs.
Ansible is used for the total automation of the deployment process, which is constituted after by the usage of Makefile, in the specific case of the combination of LXC with Docker swarm and Galera cluster, provided that all the necessary modules are available with the latest version of ansible which is installed automatically by make.