You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Several roll-out strategies can be used with `system-upgrade-controller` which are not illustrated here in this example. For instance, it can be specified in the number of hosts which are running the upgrades, filtering by labels, and more. [Refer to the project documentation](https://github.com/rancher/system-upgrade-controller) on how to create efficient strategies to roll plans on the nodes. In the example above, the plans are applied to every host of the cluster, one-by-one in sequence.
Note that the extensions MUST have a `/usr/lib/extension-release.d/extension-release.NAME` file in which the NAME needs to match the sysext NAME (extension is ignored). This is an enforcement by systemd to ensure the sysext is correctly identified and some sanity checks are done with the info in that file.
Copy file name to clipboardExpand all lines: content/en/docs/Architecture/network.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ To address these challenges, Kairos provides an easy and robust solution for dep
14
14
15
15
In this document, we will examine the advantages of using Kairos to deploy Kubernetes clusters at the edge, and how p2p technology facilitates self-coordination for a zero-touch configuration experience. We will also explore how Kairos' highly adaptable and container-based approach, combined with an immutable OS and meta-distribution, makes it an excellent choice for edge deployments.
16
16
17
-
{{% alert title="Note" %}}
17
+
{{% alert title="Note" color="success" %}}
18
18
You can also watch our [Kairos and libp2p video]({{< relref "../media/#how-kairos-uses-libp2p" >}} "Media") in the [Media Section]({{< relref "../media" >}} "Media")
Copy file name to clipboardExpand all lines: content/en/docs/Development/nvidia.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ description: This page contains a reference on how to run Kairos on Nvidia Jetso
10
10
Despite the Flavor you may have selected to look into the docs. The Nvidia AGX Orin only works with Ubuntu 20.04
11
11
{{% /alert %}}
12
12
13
-
{{% alert title="Note" %}}
13
+
{{% alert title="Note" color="success" %}}
14
14
Please note that the following page contains only development reference. At the time of writing, we have tried porting Kairos to Jetson Nano eMMC without success. This is due to the old kernel supported (4.9), not properly working with `EFISTUB` and `U-boot` (you can see the [issue here](https://github.com/kairos-io/kairos/issues/45)). However, the steps outlined _should_ be a good reference to port Kairos to those architecture _when_ a new kernel version is available. We have tested, and have successfully booted a Jetson Nano with the 5.15 kernel, however, due to the lack of driver support, eMMC partitions are not properly recognized.
Copy file name to clipboardExpand all lines: content/en/docs/Examples/airgap.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ description: This section describe examples on how to use AuroraBoot and Kairos
7
7
8
8
If you want to create an [airgap K3s installation](https://docs.k3s.io/installation/airgap), Kairos provides a convenient way to do so using AuroraBoot. In this guide, we will go through the process of creating a custom ISO of Kairos that contains a configuration file and a [bundle]({{< relref "../advanced/bundles" >}}) that executes preparatory steps after installation. The bundle will overlay new files in the system and prepare the node for having an airgapped K3s installation.
9
9
10
-
{{% alert title="Note" %}}
10
+
{{% alert title="Note" color="success" %}}
11
11
If you already have a Kubernetes cluster, you can use the osbuilder controller to generate container images with your additional files already inside.
Copy file name to clipboardExpand all lines: content/en/docs/Examples/localai.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@ And that's it! You should now have LocalAI and K3s set up on your Kairos node.
50
50
51
51
The first thing you want to check is which models you have available. By default, the LocalAI Kairos bundle downloads the `ggml-gpt4all-j.bin` model available from [gpt4all](https://github.com/nomic-ai/gpt4all).
Copy file name to clipboardExpand all lines: content/en/docs/Examples/multi-node-p2p-ha-kubevip.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ date: 2022-11-13
6
6
description: This guide walks through the process of deploying a highly-available, P2P self-coordinated k3s cluster with KubeVIP, which provides a high available Elastic IP for the control plane.
7
7
---
8
8
9
-
{{% alert title="Note" %}}
9
+
{{% alert title="Warning" color="warning" %}}
10
10
11
11
This feature is crazy and experimental! Do not run in production servers.
12
12
Feedback and bug reports are welcome, as we are improving the p2p aspects of Kairos.
@@ -71,4 +71,4 @@ When configuring the `p2p` section, start by adding your desired `network_token`
71
71
72
72
Next, set up an Elastic IP (`kubevip.eip`) with a free IP in your network. KubeVIP will advertise this IP, so make sure to select an IP that is available for use on your network.
73
73
74
-
In the VPN configuration, the create and use options are disabled, so the VPN setup is skipped and not used to route any traffic into.
74
+
In the VPN configuration, the create and use options are disabled, so the VPN setup is skipped and not used to route any traffic into.
Copy file name to clipboardExpand all lines: content/en/docs/Examples/multi-node-p2p-ha.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ date: 2022-11-13
6
6
description: Kairos makes it easy to configure automatic High Availability (HA) in your cluster by using cloud-config. With just a few simple steps, you can have a fully-functioning HA setup in your cluster.
7
7
---
8
8
9
-
{{% alert title="Note" %}}
9
+
{{% alert title="Warning" color="warning" %}}
10
10
11
11
This feature is crazy and experimental! Do not run in production servers.
12
12
Feedback and bug reports are welcome, as we are improving the p2p aspects of Kairos.
Copy file name to clipboardExpand all lines: content/en/docs/Examples/multi-node-p2p.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ date: 2022-11-13
6
6
description: Install Kairos with p2p support, on a multi-node cluster
7
7
---
8
8
9
-
{{% alert title="Note" %}}
9
+
{{% alert title="Warning" color="warning" %}}
10
10
11
11
This feature is crazy and experimental! Do not run in production servers.
12
12
Feedback and bug reports are welcome, as we are improving the p2p aspects of Kairos.
@@ -43,4 +43,4 @@ To set up a multi-node P2P scenario with non-HA in Kairos, start by adding your
43
43
44
44
Be sure to set `disable_dht` to true. This will ensure that coordination to discover nodes only happens on the local network.
45
45
46
-
Once you done with the above step, you can also customize the hostname to your liking by modifying the `hostname` field, adding your github user to the `ssh_authorized_keys` field, and adding any other necessary configurations.
46
+
Once you done with the above step, you can also customize the hostname to your liking by modifying the `hostname` field, adding your github user to the `ssh_authorized_keys` field, and adding any other necessary configurations.
Copy file name to clipboardExpand all lines: content/en/docs/Examples/p2p_e2e.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ date: 2023-02-15
6
6
description: Full end to end example to bootstrap a self-coordinated cluster with Kairos and AuroraBoot
7
7
---
8
8
9
-
{{% alert title="Note" %}}
9
+
{{% alert title="Note" color="success" %}}
10
10
11
11
The p2p feature of Kairos is crazy and experimental! Do not run in production servers.
12
12
Feedback and bug reports are welcome, as we are improving the p2p aspects of Kairos.
@@ -17,7 +17,7 @@ Deploying Kubernetes at the Edge can be a complex and time-consuming process, es
17
17
18
18
To leverage p2p self-coordination capabilities of Kairos, you will need to configure the `network_token` under the `p2p` configuration block in your cloud-config file. Once you have set this, Kairos will handle the configuration of each node.
19
19
20
-
{{% alert title="Note" %}}
20
+
{{% alert title="Note" color="success" %}}
21
21
You can see this example live in the [Kairos and libp2p video]({{< relref "Media#how-kairos-uses-libp2p" >}} "Media") in the [Media Section]({{< relref "Media" >}} "Media")
Copy file name to clipboardExpand all lines: content/en/docs/Examples/single-node-p2p.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ date: 2022-11-13
6
6
description: This documentation page provides instructions on how to install Kairos with P2P support on a single-node cluster
7
7
---
8
8
9
-
{{% alert title="Note" color="warning" %}}
9
+
{{% alert title="Warning" color="warning" %}}
10
10
11
11
This feature is crazy and experimental! Do not run in production servers.
12
12
Feedback and bug reports are welcome, as we are improving the p2p aspects of Kairos.
@@ -39,7 +39,7 @@ p2p:
39
39
40
40
```
41
41
42
-
{{% alert title="Note" %}}
42
+
{{% alert title="Warning" color="warning" %}}
43
43
44
44
One important note is that this example requires the YAML format when editing the configuration file, and that the indentation needs to be accurate, otherwise the configuration will fail.
Copy file name to clipboardExpand all lines: content/en/docs/Getting started/_index.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ description: |
8
8
Step-by-step guide to deploying Kairos, the best immutable Linux distribution for edge Kubernetes clusters.
9
9
---
10
10
11
-
{{% alert title="Objective" %}}
11
+
{{% alert title="Objective" color="success" %}}
12
12
This guide will teach you how easy it is to deploy a Kubernetes cluster using Kairos. To make this guide quick and effective we will make some decisions for you. We will do a traditional, interactive installation, of a single node cluster on a virtual machine (VM) on x86_64 architecture. At the end of the guide we will provide you with links to do many other different setups.
Copy file name to clipboardExpand all lines: content/en/docs/Getting started/building-and-upgrading.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ description: |
6
6
Kairos is an immutable OS so we cannot install new packages on a running system. Instead, adding packages is achieved by building a container image and upgrading the node with it.
7
7
---
8
8
9
-
{{% alert title="Objective" %}}
9
+
{{% alert title="Objective" color="success" %}}
10
10
This guide will walk you through the steps to build a new Kairos container image and add additional packages. You will then use the newly built image to upgrade a Kairos node manually.
Copy file name to clipboardExpand all lines: content/en/docs/Getting started/configuration.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ description: |
6
6
Learn the basics of configuring an immutable OS like Kairos
7
7
---
8
8
9
-
{{% alert title="Objective" %}}
9
+
{{% alert title="Objective" color="success" %}}
10
10
This guide will teach you the basics about immutability and configuration in Kairos. We will achieve this by configuring the hostname of your Kairos node.
Once the ISO is created, you can attach it to your machine and boot up as usual, along with the Kairos ISO.
71
71
72
-
{{% alert title="Warning" %}}
72
+
{{% alert title="Warning" color="warning" %}}
73
73
For security reasons, when Kairos is installed in [trusted boot mode]({{< relref "../Installation/trustedboot.md" >}}), datasources are not parsed after installation. This prevents someone from plugging a usb stick on an edge device, applying arbitrary configuration to the system post-installation. To force parsing of the datasources after installation, you can set add the `kairos.pull_datasources` option to the cmdline. This requires extending the cmdline when building the installation medium with AuroraBoot ([read more]({{< relref "../Installation/trustedboot.md#additional-efi-entries" >}})).
74
74
75
75
This security feature is only enabled when the system boots in trusted boot mode and only after installation (they are parsed in "live" mode). On "plain" boot mode, datasources are always parsed.
@@ -93,7 +93,7 @@ To create a custom ISO, you will need Docker installed on your machine.
93
93
94
94
Here's an example of how you might do this:
95
95
96
-
{{% alert title="Warning" %}}
96
+
{{% alert title="Warning" color="warning" %}}
97
97
The image passed to the auroraboot image, needs to have one of the accepted schemes: `docker`, `oci`, `file`, `dir` or `channel`.
98
98
99
99
If you don't pass one, we will make an attempt to read it as a web URL but depending on your URL this might throw an error.
In the case of Auroraboot, make sure that the cloud config that you are mounting in the container (`-v $PWD/cloud_init.yaml:/cloud_init.yaml`) exists. Otherwise docker will create an empty directory to mount it on the container without any warnings and you will end up with an empty cloud config.
Copy file name to clipboardExpand all lines: content/en/docs/Installation/nvidia_agx_orin.md
+4-4
Original file line number
Diff line number
Diff line change
@@ -111,7 +111,7 @@ docker run --privileged \
111
111
112
112
After running any of the commands above, the generated images files required for flashing will be inside the `bootloader` directory (`bootloader/efi.img`, `bootloader/recovery_partition.img`, `bootloader/state_partition.img`, `bootloader/oem.img`, `bootloader/persistent.img` ).
113
113
114
-
{{% alert title="Note" %}}
114
+
{{% alert title="Note" color="success" %}}
115
115
The persistent image is optional, as you can store the system persistent data rather in an SD card or an NVME disk. The default `persistent.img` is of 2GB size. To create a persistent image manually of the size you prefer instead you can run:
If you are editing the partition sizes and generating the images manually, use the example config file as a baseline and edit the `size` accordingly to the corresponding partitions (find the respective `filename` and compare the file size, see the notes below).
135
135
136
-
{{% alert title="Note on editing the parition layout manually" %}}
136
+
{{% alert title="Note on editing the parition layout manually" color="success" %}}
137
137
138
138
If you want to use the original file, identify the `sdmmc_user` section ( e.g. `<device type="sdmmc_user" instance="3" sector_size="512" num_sectors="INT_NUM_SECTORS" >` ), inside there is an "APP" partition ( `<partition name="APP" id="1" type="data">` ), remove it , and add the following instead:
139
139
@@ -192,11 +192,11 @@ Be mindful also to change the esp partition or add it if required:
192
192
You can also remove the other partitions under `sdmmc_user` as not effectively used by Kairos during boot.
193
193
{{% /alert %}}
194
194
195
-
{{% alert title="Note" %}}
195
+
{{% alert title="Note" color="success" %}}
196
196
The `COS_PERSISTENT` partition is optional. You can also use an SD card, or an nvme drive instead. The only requirement is to have the partition labeled as `COS_PERSISTENT`.
197
197
{{% /alert %}}
198
198
199
-
{{% alert title="Note" %}}
199
+
{{% alert title="Note" color="success" %}}
200
200
If modifiying the parition sizes, you need to replace the size inside the `<size></size>` tags of each partition in the XML:
Copy file name to clipboardExpand all lines: content/en/docs/Installation/p2p.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ date: 2022-11-13
6
6
description: Install Kairos with p2p support
7
7
---
8
8
9
-
{{% alert title="Note" %}}
9
+
{{% alert title="Note" color="success" %}}
10
10
11
11
This feature is crazy and experimental! Do not run in production servers.
12
12
Feedback and bug reports are welcome, as we are improving the p2p aspects of Kairos.
@@ -73,7 +73,7 @@ p2p:
73
73
74
74
The `p2p` block is used to configure settings related to the mesh functionalities. The minimum required argument is the `network_token` and there is no need to configure `k3s` manually with the `k3s` block as it is already implied.
75
75
76
-
{{% alert title="Note" %}}
76
+
{{% alert title="Note" color="success" %}}
77
77
78
78
The `k3s` block can still be used to override other `k3s` settings, e.g. `args`.
- The `--device` flag determines the specific drive where Kairos will be installed. Replace `/dev/sda` with your drive. Any existing data will be overwritten, so please be cautious.
64
64
- The `--config` flag is used to specify the config file used by the installation process.
65
65
66
-
{{% alert title="Note" %}}
66
+
{{% alert title="Note" color="success" %}}
67
67
By default, the CLI will automatically take a screenshot to get the QR code. Make sure it fits into the screen. Alternatively, an image path or a token can be supplied via arguments (e.g. `kairosctl register /img/path` or `kairosctl register <token>`).
0 commit comments