Single Node k3s cluster
This section describe examples on how to deploy Kairos with k3s as a single-node cluster
In the example below we will use a bare metal host to provision a Kairos node in the local network with K3s.
Installation
Use the standard images which contain k3s
.
Follow the Installation documentation, and use the following cloud config file with Kairos:
#cloud-config
hostname: metal-{{ trunc 4 .MachineID }}
users:
- name: kairos
# Change to your pass here
passwd: kairos
ssh_authorized_keys:
# Replace with your github user and un-comment the line below:
# - github:mudler
k3s:
enabled: true
args:
- --disable=traefik,servicelb
Notably:
- We use the
k3s
block to disabletraefik
andservicelb
(the defaultk3s
load balancer). - In a single-node setup, you may wish to use a non-generated node name. This can be achieved with these options:
k3s: enabled: true replace_args: true args: - --node-name=my-node
Note
replace_args
replaces all arguments otherwise passed to k3s by Kairos with those supplied here. Make sure you pass all the arguments you need. - We use
write_files
to write manifests to the defaultk3s
manifest directory (/var/lib/rancher/k3s/server/manifests/
) see docs to deployMetalLB
and configure it with the192.168.1.10-192.168.1.20
IP range. Make sure to pick up a range which doesn’t interfere with your local DHCP network.
Feedback
Was this page helpful?
Awesome! Glad to hear it! Please tell us how we can improve.
Oh snap! Sorry to hear that. Please tell us how we can improve.