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.

Post-Install

Post-install related tasks, see postinstall.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.yaml

The 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 validation.yaml

Role 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.