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
From v1.9 onwards Cilium does no longer provide a one-liner install manifest that can be used to install Cilium on a node via `kubectl apply -f` or passing it in as an extra url in the `urls` part in the Talos machine configuration.
8
+
> Cilium can be installed either via the `cilium` cli or using `helm`.
9
9
10
-
> Installing Cilium the new way via the `cilium` cli is broken, so we'll be using `helm` to install Cilium.
11
-
For more information: [Install with CLI fails, works with Helm](https://github.com/cilium/cilium-cli/issues/505)
12
-
13
-
Refer to [Installing with Helm](https://docs.cilium.io/en/v1.11/gettingstarted/k8s-install-helm/) for more information.
14
-
15
-
First we'll need to add the helm repo for Cilium.
16
-
17
-
```bash
18
-
helm repo add cilium https://helm.cilium.io/
19
-
helm repo update
20
-
```
21
-
22
-
This documentation will outline installing Cilium CNI v1.11.2 on Talos in four different ways.
23
-
Adhering to Talos principles we'll deploy Cilium with IPAM mode set to Kubernetes.
24
-
Each method can either install Cilium using kube proxy (default) or without: [Kubernetes Without kube-proxy](https://docs.cilium.io/en/v1.11/gettingstarted/kubeproxy-free/)
10
+
This documentation will outline installing Cilium CNI v1.13.0 on Talos in six different ways.
11
+
Adhering to Talos principles we'll deploy Cilium with IPAM mode set to Kubernetes, and using the `cgroupv2` mount that talos already provides.
12
+
As Talos does not allow loading kernel modules by Kubernetes workloads, `SYS_MODULE` capability needs to be dropped from the Cilium default set of values, this override can be seen in the helm/cilium cli install commands.
13
+
Each method can either install Cilium using kube proxy (default) or without: [Kubernetes Without kube-proxy](https://docs.cilium.io/en/v1.13/network/kubernetes/kubeproxy-free/)
25
14
26
15
## Machine config preparation
27
16
28
17
When generating the machine config for a node set the CNI to none.
29
18
For example using a config patch:
30
19
20
+
Create a `patch.yaml` file with the following contents:
> Note: It is recommended to template the cilium manifest using helm and use it as part of Talos machine config, but if you want to install Cilium using the Cilium CLI, you can follow the steps below.
57
+
58
+
Install the [Cilium CLI](https://docs.cilium.io/en/v1.13/gettingstarted/k8s-install-default/#install-the-cilium-cli) following the steps here.
After generating `cilium.yaml` using `helm template`, instead of applying this manifest directly during the Talos boot window (before the reboot timeout).
110
191
You can also host this file somewhere and patch the machine config to apply this manifest automatically during bootstrap.
111
192
To do this patch your machine configuration to include this config instead of the above:
112
193
194
+
Create a `patch.yaml` file with the following contents:
To do so patch this into your machine configuration:
@@ -181,28 +284,12 @@ As the inline manifest is processed from top to bottom make sure to manually put
181
284
182
285
## Known issues
183
286
184
-
- Currently there is an interaction between a Kubespan enabled Talos cluster and Cilium that results in the cluster going down during bootstrap after applying the Cilium manifests.
185
-
For more details: [Kubespan and Cilium compatiblity: etcd is failing](https://github.com/siderolabs/talos/issues/4836)
186
-
187
287
- There are some gotchas when using Talos and Cilium on the Google cloud platform when using internal load balancers.
188
288
For more details: [GCP ILB support / support scope local routes to be configured](https://github.com/siderolabs/talos/issues/4109)
189
289
190
-
- Some kernel values changed by kube-proxy are not set to good defaults when running the cilium kernel-proxy alternative.
191
-
For more details: [Kernel default values (sysctl)](https://github.com/siderolabs/talos/issues/4654)
192
-
193
290
## Other things to know
194
291
195
292
- Talos has full kernel module support for eBPF, See:
196
-
- [Cilium System Requirements](https://docs.cilium.io/en/v1.11/operations/system_requirements/)
This allows you to set `--set enableXTSocketFallback=false` on the helm install/template command preventing Cilium from disabling the `ip_early_demux` kernel feature.
208
-
This will win back some performance.
293
+
- [Cilium System Requirements](https://docs.cilium.io/en/v1.13/operations/system_requirements/)
0 commit comments