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.


Use the standard images which contain k3s.

Follow the Installation documentation, and use the following cloud config file with Kairos:


hostname: metal-{{ trunc 4 .MachineID }}
- name: kairos
  # Change to your pass here
  passwd: kairos
  # Replace with your github user and un-comment the line below:
  # - github:mudler

  enabled: true
  - --disable=traefik,servicelb


  • We use the k3s block to disable traefik and servicelb (the default k3s load balancer).
  • In a single-node setup, you may wish to use a non-generated node name. This can be achieved with these options:
      enabled: true
      replace_args: true
      - --node-name=my-node
  • We use write_files to write manifests to the default k3s manifest directory (/var/lib/rancher/k3s/server/manifests/) see docs to deploy MetalLB and configure it with the IP range. Make sure to pick up a range which doesn’t interfere with your local DHCP network.

Last modified February 23, 2024: Reduce sizes and remove warnings (0e183ae)