Creating k3s cluster with Ansible

Build a Kubernetes cluster using Ansible with k3s. The goal is easily install a Kubernetes cluster on machines running:
  • Debian
  • Ubuntu
  • CentOS
on processor architecture:
  • x64
  • arm64
  • armhf

System requirements

Deployment environment must have Ansible 2.4.0+ Master and nodes must have passwordless SSH access

Usage

First create a new directory based on the sample directory within the inventory directory:
cp -R inventory/sample inventory/my-cluster
Second, edit inventory/my-cluster/hosts.ini to match the system information gathered above. For example:
[master]
192.16.35.12
​
[node]
192.16.35.[10:11]
​
[k3s_cluster:children]
master
node
​
If needed, you can also edit inventory/my-cluster/group_vars/all.yml to match your environment.
Start provisioning of the cluster using the following command:
ansible-playbook site.yml -i inventory/my-cluster/hosts.ini

Kubeconfig

To get access to your Kubernetes cluster just
scp [email protected]_ip:~/.kube/config ~/.kube/config