Alternative to k3sup for deploying k3s clusters with Ansible.
See the following documentation for detailed setup instructions:
- Python Setup: Virtual environment and Python dependencies
- Ansible Configuration: Inventory setup, vault management, and cluster deployment
- Terraform Configuration: Infrastructure provisioning workflow
Deploy a k3s cluster with default settings in 4 steps:
-
Provision infrastructure:
cd terraform/ terraform init terraform plan -out tfplan terraform apply tfplan -
Generate Ansible inventory:
./scripts/generate_inventory.sh
-
Set up vault password:
skate set ansible_vault_password <YOUR_PASSWORD> export ANSIBLE_VAULT_PASSWORD_FILE="./scripts/pass.sh"
-
Deploy k3s cluster:
ansible-playbook -i inventory.yml main.yml
This creates 3 control plane nodes and 1 worker node on libvirt with embedded etcd. See the docs for customization options.
See TODO.md