You are viewing the development docs which are in progress. For the latest stable documentation, click here.
Installation on Microsoft Azure
This page describes how to install Kairos on Microsoft Azure after you have created a disk image. Since release v3.3.5, Kairos pipeline is pushing a public OS image to Azure which you can use. If you want to build a custom image, you can follow the instructions in the Build Kairos appliances page.
Prerequisites
- An Azure account with permissions to create VMs.
- An Azure compatible image of Kairos. You can use the public image provided by Kairos (see below) or build your own image (for Azure, that would be the
.vhd
format) and upload it to your Azure resource group (check how the Kairos CI does it).
Deploy a VM
Visit the Community Images page in the Azure portal and search for “kairos” in the search box. Multiple results will be returned matching multiple different regions. Click on the result matching the region you intend to use for the Virtual Machine. Find the version you want to use and click on “Create VM”.
Note
To ensure you’re using a genuine Kairos image in Azure, you should ensure that the image belongs to the Azure compute gallery kairos.io
. You can inspect the image in the Web UI or you can use the Azure CLI:
az sig image-version show --gallery-name kairos.io --gallery-image-definition kairos --resource-group kairos-cloud-images --gallery-image-version <KAIROS_IMAGE_VERSION> --query 'name'
Replace <KAIROS_IMAGE_VERSION>
with the version of the image (e.g. 3.3.5
).
Note
As described below, it is possible to reset to any desired image on first boot. That’s the reason only one Kairos flavor is published in Google Cloud (Ubuntu 24.04). This allows us to save costs and time by not pushing unnecessary artifacts.There are multiple options to select for your VM. We suggest you choose a size that has:
- 16Gb of RAM or more
- 2 CPUs or more
- An OS disk size of 30Gb or more (3 times the image size + some more for persistent storage). Don’t go with the “Image default” because the disk needs to be large enough to accommodate for active, passive and recovery system.
- Public inbound port for SSH (if you intend to SSH to the machine later).
Under the “Advanced” tab, click on “Enable user data”. In the field that is opened, you can put your Kairos configuration.
When the instance boots for the first time, it will boot into “auto-reset mode” by default. This means, that Kairos will “install” itself on the first boot and then reboot. You can specify a different image to be installed using a block like the following in the cloud config section:
reset:
system:
uri: "quay.io/kairos/opensuse:leap-15.6-standard-amd64-generic-master-k3sv1.32.1-k3s1"
Make sure you also
When you are satisfied with the configuration, click on “Review + create” and then “Create”.
After the VM has been created, you can either SSH to it using the credentials you specified in the Kairos config or using the serial console in the Azure Web UI.
On first boot, Kairos will reset to the specified image (or the booted image if none was specified for reset). Make sure reset has completed and the system has rebooted into “active” mode. The following command should report “active_boot”:
kairos-agent state get boot
(It it reports recovery_boot
, the system is still in the installation process. Wait a few minutes and try again.)