This Ansible role is used to provision a fluentd cluster. It can do so on AWS, where it provisions an NLB, or on-prem (KVM/Libvirt), where it installs and configures keeaplived/IPVS.
This project is designed to operate using clusterverse to manage the base infrastructure. Please see the README.md there for detailed instructions on its usage.
- ansible-core >= 2.17.4 (pypi >= 10.4.0)
- See docs/EXAMPLE/Dockerfile for a full list of dependencies.
Please see the EXAMPLE directory in this repository for some basic configuration. This can be copied in the root directory, and used as a starting point for your own configuration.
Cluster configuration is stored in cluster_defs/**/cluster_vars[*].yml files.
Application configuration is stored in cluster_defs/**/app_vars.yml files.
- deploy.yml - Deploys a cluster from scratch, or repairs a cluster, or scales it up (note: not down).
- e.g.
ansible-playbook -e buildenv=dev -e cloud_type=aws -e region=eu-west-1 deploy.yml
- e.g.
- redeploy.yml - Redeploys the cluster, replacing all the nodes entirely.
- e.g.
ansible-playbook -e buildenv=dev -e cloud_type=aws -e region=eu-west-1 redeploy.yml
- e.g.
- destroy.yml - Destroys the cluster,
- e.g.
ansible-playbook -e buildenv=dev -e cloud_type=aws -e region=eu-west-1 destroy.yml
- e.g.
Can also be run within the included Docker container (e.g. for CI/CD)
docker build -t ansibuild .docker run --rm --name ansibuilder_fluentd -e VAULT_PASSWORD_BUILDENV=$VAULT_PASSWORD ansibuild ansible-playbook cluster.yml -e cloud_type=aws -e region=eu-west-1 -e buildenv=dev -vvv