This repository hosts a collection of tools, including Kubespray Inventory and various Ansible-based playbooks and roles, designed to setup of Kubernetes clusters on bare-metal or VPS servers.
Setting up the entire cluster with additional services takes up to 30 minutes.
The basic setup of the cluster relies on Kubespray and its tweaked inventory. Kubespray handles the installation of essential components like the Rancher Local-Path provisioner, Nginx ingress controller and Cert-manager. This configuration ensures that these components are smoothly integrated into the cluster setup, making it easier to manage and utilize Kubernetes.
- Monitoring:
- Continuous Deployment:
- Continuous Integration:
- Image Registry:
- Misc:
VENVDIR=kubespray-venv
KUBESPRAYDIR=kubespray
python3 -m venv $VENVDIR
source $VENVDIR/bin/activate
cd $KUBESPRAYDIR
pip install -U -r requirements.txt
Run in Kubespray
directory:
Clean up old Kubernetes cluster with Ansible Playbook:
ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root reset.yml
Deploy cluster with Ansible Playbook
ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml
kubespray
: This directory contains Kubespray files with modified inventory file.ansible
: This directory constains custom Ansible roles and playbooks written to setup cluster infrastucture like Grafana etc.tofu
: This directory contains OpenTofu configuration files for provisioning infrastructure (GCP).docs
: This directory contains the documentation of the project.