Welcome to the ScyllaDB Cluster Ansible Role! This role automates the complex process of setting up a ScyllaDB cluster with the default configs needed, making it as simple as running a playbook. No extra configuration is needed beyond updating a few variables. Just run the role, and your cluster will be ready to go! 🎉
- 📦 Installs Scylla Server
- ⚙️ Installs Scylla Manager Agent
- 🔧 Installs Scylla Manager
- 📋 Adds the cluster to Scylla Manager
- 🏁 Optionally initializes the cluster with:
- 💽 Disk formatting
- 🏎️ Running Scylla benchmarks
- 🔧 Setting up necessary configurations
- 📦 Configures default settings for the cluster
- ✅ Tested on Ubuntu 22
- 🛠️ Zero additional configuration required!
Ensure the following prerequisites are met before running the role:
- 🐧 Ubuntu 22.04 LTS on target machines
- 🔐 SSH access to target machines
Before running the role, review and update the variables in the vars
file according to your environment and requirements. This step is crucial for the role to function correctly. Once set, you don't need to worry about any other configurations. 🎉
- Clone the repository to your Ansible roles directory.
git clone https://github.com/sinanejadebrahim/ansible_ScyllaDB_Cluster.git
- Update the Inventory.
[db_hosts]
scylla_1 ansible_host=192.168.1.1
scylla_2 ansible_host=192.168.1.2
scylla_3 ansible_host=192.168.1.3
scylla_4 ansible_host=192.168.1.4
scylla_5 ansible_host=192.168.1.5
[management_host]
manager ansible_host=192.168.1.6
- Run the playbook.
ansible-playbook -i inventory playbook.yml
After the role completes, you can verify the cluster setup using the following commands:
- On one of the Scylla nodes:
nodetool status
- On the Scylla Manager node:
sctool cluster list
Feel free to fork this repository and contribute by submitting pull requests. Any improvements or bug fixes are welcome! 🚀
This project is licensed under the Apache License - see the LICENSE file for details.