Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luceast/sprinkle
Sprinkle is an open-source project aimed at making RKE2 Kubernetes cluster deployment and management easy and automated.
https://github.com/luceast/sprinkle
ansible k8s kubernetes rke2 sprinkle
Last synced: 12 days ago
JSON representation
Sprinkle is an open-source project aimed at making RKE2 Kubernetes cluster deployment and management easy and automated.
- Host: GitHub
- URL: https://github.com/luceast/sprinkle
- Owner: LucEast
- License: mit
- Created: 2024-10-27T21:54:13.000Z (17 days ago)
- Default Branch: main
- Last Pushed: 2024-11-01T14:10:02.000Z (13 days ago)
- Last Synced: 2024-11-01T15:19:48.893Z (13 days ago)
- Topics: ansible, k8s, kubernetes, rke2, sprinkle
- Language: Jinja
- Homepage:
- Size: 35.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sprinkle - Simplified RKE2 Cluster Deployment
Sprinkle is an open-source project aimed at making RKE2 Kubernetes cluster deployment and management easy and automated. Inspired by Kubespray and based on Ansible playbooks, Sprinkle enables you to set up and manage RKE2 clusters on various infrastructures quickly and efficiently.
## Features
- Automated Deployment: Fully automated RKE2 installation using pre-configured Ansible playbooks.
- Multi-Cloud Support: Leverages Ansible’s flexibility to deploy clusters across multiple infrastructures, including Bare Metal, vSphere, OpenStack, AWS, and more.
- Flexibility & Customization: Configurable options for cluster size, node roles, networking, and more.
- Scalability: Supports creating and managing high-availability clusters, from small setups to production-grade environments.
- Supports most popular Linux distributions## Prerequisites
- Ansible: Sprinkle is based on Ansible and uses playbooks for installation and configuration.
- Target Infrastructure: Supports physical servers and several cloud providers.
- Access: SSH access and the necessary permissions on target machines.## Installation
This playbook requires ansible.utils to run properly. Please see for more information about how to install this.
1. Clone the Repository:
```bash
git clone
cd Sprinkle
```2. Install requirements:
```bash
ansible-galaxy install -r galaxy.yml
```3. Install Ansible and Dependencies
4. Configure Inventory: Copy `inventory/sample` as `inventory/mycluster````bash
cp -rfp inventory/sample inventory/mycluster
```5. Update Ansible inventory file
6. Review and change parameters under `inventory/mycluster/group_vars`
7. Deploy the Cluster:```bash
ansible-playbook -i inventory.yml deploy.yml
```## Usage
- Cluster Deployment: After configuration, deploy the cluster using the deploy.yml playbook.
- Cluster Management: Sprinkle offers optional playbooks for adding/removing nodes and updating the cluster.## Configuration
Configuration is primarily done in the inventory.yml file, where you can set:
- Cluster Nodes: List of nodes to be included in the cluster.
- Node Roles: Assign roles (Control Plane, Worker) to each node.
- Network Configuration: Define settings for Pod and Service networks.
- Storage: Configure the storage backend (e.g., Longhorn).## Roadmap
- Additional Cloud Provider Support: Further support for specific cloud providers and infrastructure.
- Enhanced Cluster Features: Adding monitoring, logging, and security features.
- Community Support: Expanding documentation and example use cases.## Contributing
Contributions are welcome! Fork the repository, create a new branch, and submit a pull request.
## License
Sprinkle is licensed under the [MIT License](LICENSE).
Let me know if you’d like to fine-tune any part or add more details!