K3s
K3s is a highly available, certified Kubernetes distribution designed for production workloads, packaged as a single binary that reduces the dependencies and steps needed to install.
The k3s role performs various tasks related to OS configuration, K3s cluster deployment, reset and validation.
Tip
Role deployments are performed at global level, using the Provisioning playbook. Upgrades can be performed at role level, see the instructions detailed below.
Role Tasks
See the related role tasks, listed below.
Configuration
Configuration related facts, see configuration.yaml for details.
Facts
Ansible facts, see facts.yaml for details.
Load Balancer
Load balancer related tasks, see loadbalancer.yaml for details.
Main
Main role related tasks, see main.yaml for details.
Reset
Reset related tasks, see reset.yaml for details.
Tip
A reset is performed at global level only, review the Reset playbook instructions.
Upgrade
Upgrade related tasks, see upgrade.yaml for details. Run the following command, to perform a role upgrade:
ansible-playbook --ask-vault-pass --tags=k3s upgrade.yamlThe upgrade will trigger the Kured role execution, performing safe automatic node reboots.
Validation
Validation related tasks, see validation.yaml for details. Run the following command, to perform all role related validation tasks:
ansible-playbook --ask-vault-pass --tags=k3s validation.yamlRole Templates
See the related role templates, listed below.
Configuration
Cluster
Cluster configuration template, see config.j2 for details.
HAProxy
HAProxy configuration template, see haproxy.j2 for details.
KeepAlived
KeepAlived configuration template, see keepalived.j2 for details.
Registries
Registries configuration template, see registries.j2 for details.
Service
Service configuration template, see service.j2 for details.
Role Variables
Important
A role upgrade is required, in order to apply any changes related to role variables.
See the related role variables, defined into main.yaml defaults file. Review the README.md file, for additional details.
Tip
Use Renovate to automate release pull requests and keep dependencies up-to-date.
Support
If you encounter any role related problems or want to suggest a new feature, feel free to open an issue. For general questions or feedback, please use the discussions.