mirror of
https://github.com/PyratLabs/ansible-role-k3s
synced 2024-11-10 07:23:30 +01:00
83 lines
2.9 KiB
Markdown
83 lines
2.9 KiB
Markdown
# Ansible Role: k3s
|
|
|
|
Ansible role for installing [Racher Labs k3s](https://k3s.io/) ("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
|
|
|
|
:warning: 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:
|
|
|
|
```yaml
|
|
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:
|
|
|
|
```yaml
|
|
- hosts: k3s_nodes
|
|
roles:
|
|
- { role: xanmanning.k3s, k3s_release_version: v0.2.0 }
|
|
```
|
|
|
|
## License
|
|
|
|
BSD
|
|
|
|
## Author Information
|
|
|
|
[Xan Manning](https://xanmanning.co.uk/)
|