Hadron Quickstart

Deploy an immutable Kubernetes cluster with Hadron by Kairos, faster than a coffee break.

Ready to launch your Kubernetes cluster with ease? Hadron by Kairos makes it simple: download the ISO, start a virtual machine (VM), and follow a few guided steps. Whether you use Linux, Windows, or macOS, you’ll have a cluster running in no time.

Prerequisites

To run Hadron, you only need virtualization software. For this quickstart, we’ll use VirtualBox, which works on all major platforms.

Here are some alternatives:

  • Windows: VMware Workstation Player
  • macOS: VMware Fusion, UTM
  • Linux: KVM (via Virt Manager or virsh), Proxmox

Prefer to watch a video?

Download an ISO

Click the following link to download: kairos-hadron-0.1.0-beta-standard-amd64-generic-v3.6.0-k3sv1.33.5+k3s1.iso

Create a Virtual Machine (VM)

  1. Click New to create a virtual machine.
  2. Fill in the VM details:
    • Name: Hadron
    • ISO Image: /path/to/previously/downloaded/iso/kairos-hadron-0.0.1-standard-amd64-generic-v3.6.1-beta1-k3sv1.34.2+k3s1.iso
    • OS: Linux
    • OS Distribution: Other Linux
    • OS Version: Other Linux (64-bit)
  3. Configure the VM resources:
    • Base Memory: 2048 MB (enough for this quickstart; for applications, consider 4 or 8 GB)
    • Number of CPUs: 1 (increase if your host has spare capacity)
    • Disk Size: 8 GB (sufficient for this quickstart; increase if you plan to deploy more workloads)
    • Use EFI: disabled
  4. In the VM list, select the Hadron VM and click Settings.
  5. Go to System and adjust the Boot Order (BIOS only) so Hard Disk is first and Optical comes after.
  6. Go to Network and configure:
    • Attached to: Bridged Adapter
  7. Click OK to save your changes.
  8. With the Hadron VM selected, click Start.
  1. Create a new VM.
  2. Assign the downloaded ISO to the CD-ROM and set it as the boot media.
  3. Configure the VM hardware according to the requirements.
  4. Start the VM.

Perform an Interactive Installation

  1. The first time you boot the VM, you will see a GRUB boot menu with multiple options. Select the option that says Interactive Install and press Enter.

  2. Wait for the system to boot up. You will be greeted with the interactive installation manager. The drive where the installation is going to proceed, for example /dev/sda, should already be selected, denoted by the > character on the left.

  3. Press Enter to select that drive.

  4. On the next page you will see a message that says: Start Install and on Finish do [nothing, reboot, poweroff].

  5. With the arrows, select poweroff.

  6. Move down to Customize further and press Enter.

  7. Select User & Password and press Enter.

  8. For the user, enter kairos, then press Tab. For the password, also enter kairos.

  9. Press Enter to save the changes and return to the previous menu.

  10. Select Configure k3s.enabled and press Enter.

  11. With the arrows, select Yes to enable k3s and press Enter. You should be taken back to the previous menu.

  12. Select Finish Customization and start Installation and press Enter.

  13. The Installation Summary should look like this:

    Selected Disk: /dev/sda
    
    Action to take when Installation is complete: poweroff
    
    Configuration Summary:
      - Username: kairos
      - SSH Keys: not set
    
    Extra options:
    
    k3s:
      enabled: true
    
  14. If everything is correct, press Enter to install. You should see a progress bar and the VM will power off automatically.

First Boot

After the reboot you will again see the GRUB boot menu. This time the options don’t include any installation; instead, you can start the system in either active, passive (fallback), or rescue mode.

We will learn more about these options in the next steps. For now, just select the first option that only says Kairos and press Enter. If you don’t touch anything, the system will boot automatically after a few seconds.

After the system finishes booting, you will see a login prompt. Log in with the user kairos and the password you set during the installation.

SSH into the system

First you need to get the IP address. Since there are no VirtualBox guest packages for Hadron, you need to do this from the VirtualBox console. Run:

ip a | grep 192

Now use the resulting IP address to access the system from your preferred terminal application:

ssh kairos@IP

Now enter the password you set during the installation.

Check Your Running Cluster

After logging in, you can check the status of the cluster with the kubectl tool. First switch to the root user with the following command:

sudo -i

Start by displaying the nodes in the system:

kubectl get nodes

You should see the k3s control-plane node listed, which is the machine you just provisioned.

NAME     STATUS   ROLES           AGE    VERSION
kairos   Ready    control-plane   164m   v1.34.2+k3s1

If you display the pods within the kube-system namespace:

kubectl get pods -n kube-system

You should see the coredns and local-path-provisioner pods running. For example:

NAME                                      READY   STATUS      RESTARTS   AGE
coredns-7f496c8d7d-mjmkp                  1/1     Running     0          170m
helm-install-traefik-crd-mqdfk            0/1     Completed   0          170m
helm-install-traefik-sr9b5                0/1     Completed   2          170m
local-path-provisioner-578895bd58-k667m   1/1     Running     0          170m
metrics-server-7b9c9c4b9c-kjdfn           1/1     Running     0          170m
svclb-traefik-fbdc293e-scdm4              2/2     Running     0          170m
traefik-6f5f87584-kjcdr                   1/1     Running     0          170m

Conclusion

Congratulations 🎉 You have successfully deployed a Kubernetes cluster using Kairos Hadron 🚀 You can now start deploying your applications and services on your new cluster.

Please refer to the K3s documentation to learn more about the Kubernetes distribution that Kairos uses in the standard images.

Frequently Asked Questions (FAQs)

How do I configure the system?

You can configure the system by editing the cloud-config file. The cloud-config file is located at /oem/90_custom.yaml. You can edit this file to add users, SSH keys, and other configurations. See the Cloud Config documentation for more information.

What is a Kairos flavor?

A Kairos flavor is a specific version of Kairos that is built on top of a specific Linux distribution. For example, the Alpine Kairos flavor is built on top of Alpine Linux. You can choose the flavor that best suits your needs. Once Hadron is stable, it will become the default flavor, but all the other flavors continue to be supported.

Can I use Kairos without Kubernetes?

Yes, absolutely! You can use Kairos as a standalone Linux distribution without Kubernetes. Just download the Kairos Core artifacts if you don’t want to use Kubernetes, or configure the Standard artifacts with the k3s option disabled.

Can I use a different Kubernetes distribution with Kairos?

Yes, you can download the standard image with k0s. Both k3s and k0s are equally supported by the Kairos team.

What’s Next?

Ready to configure and extend your newly deployed Kairos node?

Configuration

Need a highly secure system with TPM-backed attestation and trusted boot?

Trusted Boot installations

Need something that’s not included in the base Kairos image? You can extend it cleanly with systemd extensions.

Extending the system with systemd extensions
Last modified December 11, 2025: Add temporary CTAs (#506) (07e09ff)