Skip to content

Commit 0b4ef5f

Browse files
committed
Clarify steps and add drop-down menu
Signed-off-by: manuelbuil <[email protected]>
1 parent f42510b commit 0b4ef5f

File tree

1 file changed

+32
-14
lines changed

1 file changed

+32
-14
lines changed

docs/installation/airgap.md

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,14 @@ This method requires you to manually deploy the necessary images to each node, a
3636

3737
#### Prepare the Images Directory and Airgap Image Tarball
3838

39-
1. Obtain the images archive for your architecture from the [releases](https://github.com/k3s-io/k3s/releases) page for the version of K3s you will be running.
40-
2. Download the images archive to the agent's images directory, for example:
39+
1. On internet accessible machine, download the images archive for your architecture from the [releases](https://github.com/k3s-io/k3s/releases) page for the version of K3s you will be running. For example:
40+
```bash
41+
curl -L -o k3s-airgap-images-amd64.tar.zst "https://github.com/k3s-io/k3s/releases/download/v1.33.1%2Bk3s1/k3s-airgap-images-amd64.tar.zst"
42+
```
43+
2. Transfer the images archive to the airgap nodes. Place them in the agent's image directory, for example:
4144
```bash
4245
sudo mkdir -p /var/lib/rancher/k3s/agent/images/
43-
sudo curl -L -o /var/lib/rancher/k3s/agent/images/k3s-airgap-images-amd64.tar.zst "https://github.com/k3s-io/k3s/releases/download/v1.33.1%2Bk3s1/k3s-airgap-images-amd64.tar.zst"
46+
cp k3s-airgap-images-amd64.tar.zst /var/lib/rancher/k3s/agent/images/k3s-airgap-images-amd64.tar.zst
4447
```
4548
3. Proceed to the [Install K3s](#2-install-k3s) section below.
4649

@@ -86,22 +89,34 @@ For more information on enabling the embedded distributed registry mirror, see t
8689

8790
Before installing K3s, choose one of the [Load Images](#1-load-images) options above to prepopulate the images that K3s needs to install.
8891

89-
#### Binaries
92+
#### Download binary and script
9093
- Download the K3s binary from the [releases](https://github.com/k3s-io/k3s/releases) page, matching the same version used to get the airgap images. Place the binary in `/usr/local/bin` on each air-gapped node and ensure it is executable.
94+
```bash
95+
sudo curl -Lo /usr/local/bin/k3s https://github.com/k3s-io/k3s/releases/download/v1.33.3%2Bk3s1/k3s
96+
sudo chmod +x /usr/local/bin//k3s
97+
```
98+
9199
- Download the K3s install script at [get.k3s.io](https://get.k3s.io). Place the install script anywhere on each air-gapped node, and name it `install.sh`.
100+
```bash
101+
curl -Lo install.sh https://get.k3s.io
102+
chmod +x install.sh
103+
```
92104

93-
#### Default Network Route
94-
If your nodes do not have an interface with a default route, a default route must be configured; even a black-hole route via a dummy interface will suffice. K3s requires a default route in order to auto-detect the node's primary IP, and for kube-proxy ClusterIP routing to function properly. To add a dummy route, do the following:
95-
```
96-
ip link add dummy0 type dummy
97-
ip link set dummy0 up
98-
ip addr add 203.0.113.254/31 dev dummy0
99-
ip route add default via 203.0.113.255 dev dummy0 metric 1000
100-
```
101105

102-
When running the K3s script with the `INSTALL_K3S_SKIP_DOWNLOAD` environment variable, K3s will use the local version of the script and binary.
106+
<details>
107+
<summary>**Set Default Network Route**</summary>
108+
109+
If your nodes do not have an interface with a default route, a default route must be configured; even a black-hole route via a dummy interface will suffice. K3s requires a default route in order to auto-detect the node's primary IP, and for kube-proxy ClusterIP routing to function properly. To add a dummy route, do the following:
110+
```bash
111+
ip link add dummy0 type dummy
112+
ip link set dummy0 up
113+
ip addr add 203.0.113.254/31 dev dummy0
114+
ip route add default via 203.0.113.255 dev dummy0 metric 1000
115+
```
116+
</details>
103117

104-
#### SELinux RPM
118+
<details>
119+
<summary>**Download SELinux RPM**</summary>
105120

106121
If running on an air-gapped node with SELinux enabled, you must manually install the k3s-selinux RPM before installing K3s. This RPM includes the necessary SELinux policies for K3s to run properly. The latest version of the RPM can be found [here](https://github.com/k3s-io/k3s-selinux/releases/latest). For example, on CentOS 8:
107122

@@ -119,6 +134,9 @@ The k3s-selinux RPM installation requires the following dependencies to be avail
119134

120135
See the [SELinux](../advanced.md#selinux-support) section for more information.
121136

137+
</details>
138+
139+
122140
### Running Install Script
123141

124142
You can install K3s on one or more servers as described below.

0 commit comments

Comments
 (0)