Ansible role for installing k3s as either a standalone server or HA cluster.
Go to file
2019-06-15 17:44:09 +01:00
defaults Initial commit and release 2019-03-09 20:54:44 +00:00
handlers Initial commit and release 2019-03-09 20:54:44 +00:00
meta Tested against Debian Buster, confirmed working. 2019-06-15 17:44:09 +01:00
tasks static import 2019-05-13 06:54:54 +03:00
templates Initial commit and release 2019-03-09 20:54:44 +00:00
tests Tested against Debian Buster, confirmed working. 2019-06-15 17:44:09 +01:00
vars Add support for armv7l arch 2019-04-24 16:15:39 -07:00
.gitignore Initial commit and release 2019-03-09 20:54:44 +00:00
LICENSE Bugfix variable on Docker install, updated README.md and added LICENSE 2019-03-10 14:53:52 +00:00
README.md Bugfix variable on Docker install, updated README.md and added LICENSE 2019-03-10 14:53:52 +00:00

Ansible Role: k3s

Ansible role for installing Racher Labs k3s ("Lightweight Kubernetes") as either a standalone server or cluster.

Requirements

This role has been tested on Ansible 2.6.0+ against the following Linux Distributions:

  • CentOS 7
  • Debian 9
  • Ubuntu 18.04 LTS

Disclaimer

⚠️ Not suitable for production use.

Whilst Rancher Labs are awesome, k3s is a fairly new project and not yet a v1.0 release so extreme caution and operational rigor is recommended before using this role for any serious development.

Role Variables

Group Variables

Below are variables that are set against all of the play hosts for environment consistency.

Variable Description Default Value
k3s_release_version Use a specific version of k3s, eg. v0.2.0. Specify false for latest. false
k3s_github_url Set the GitHub URL to install k3s from. https://github.com/rancher/k3s
k3s_install_dir Installation directory for k3s. /usr/local/bin
k3s_control_workers Are control hosts also workers? true
k3s_ensure_docker_installed Use Docker rather than Containerd? false

Important note about k3s_release_version

If you do not set a k3s_release_version the latest version of k3s will be installed. If you are developing against a specific version of k3s you must ensure this is set in your Ansible configuration, eg:

k3s_release_version: v0.2.0

Host Variables

Below are variables that are set against specific hosts in your inventory.

Variable Description Default Value
k3s_control_node Define the host as a control plane node, (True/False). false

Important note about k3s_control_node

Currently only one host can be defined as a control node, if multiple hosts are set to true the play will fail.

If you do not set a host as a control node, the role will automatically delegate the first play host as a control node.

Dependencies

No dependencies on other roles.

Example Playbook

Example playbook:

- hosts: k3s_nodes
  roles:
     - { role: xanmanning.k3s, k3s_release_version: v0.2.0 }

License

BSD

Author Information

Xan Manning