From df1be47c9000de40a9bd79ecc8a61eaddeb80a82 Mon Sep 17 00:00:00 2001 From: sujiba Date: Wed, 7 May 2025 10:27:29 +0200 Subject: [PATCH] feat: add cilium cni deployment --- talos/README.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/talos/README.md b/talos/README.md index 86a7888..1e7dc16 100644 --- a/talos/README.md +++ b/talos/README.md @@ -10,6 +10,9 @@ - [talhelper genconfig](#talhelper-genconfig) - [talconfig.yaml](#talconfigyaml) - [Talos image factory](#talos-image-factory) +- [Boot Image](#boot-image) +- [Cluster bootstrap](#cluster-bootstrap) +- [Cilium CNI](#cilium-cni) # Required packages ```bash @@ -90,3 +93,34 @@ Vist the website https://factory.talos.dev 5. Customization: skip 6. Schematic Ready: Download the iso +# Boot Image + +# Cluster bootstrap +```bash +talosctl apply-config --insecure -n 10.10.10.3 --file clusterconfig/home-cluster-talos-01.yaml +talosctl bootstrap -n 10.10.10.4 -e 10.10.10.4 --talosconfig talosconfig +``` + +# Cilium CNI +After applying the machine config and bootstrapping Talos will appear to hang on phase 18/19 with the message: retrying error: node not ready. This happens because nodes in Kubernetes are only marked as ready once the CNI is up. As there is no CNI defined, the boot process is pending and will reboot the node to retry after 10 minutes, this is expected behavior. + +During this window you can install Cilium manually by running the following: + +```bash +helm repo add cilium https://helm.cilium.io/ +helm repo update + +helm install \ + cilium \ + cilium/cilium \ + --version 1.17.3 \ + --namespace kube-system \ + --set ipam.mode=kubernetes \ + --set kubeProxyReplacement=true \ + --set securityContext.capabilities.ciliumAgent="{CHOWN,KILL,NET_ADMIN,NET_RAW,IPC_LOCK,SYS_ADMIN,SYS_RESOURCE,DAC_OVERRIDE,FOWNER,SETGID,SETUID}" \ + --set securityContext.capabilities.cleanCiliumState="{NET_ADMIN,SYS_ADMIN,SYS_RESOURCE}" \ + --set cgroup.autoMount.enabled=false \ + --set cgroup.hostRoot=/sys/fs/cgroup \ + --set k8sServiceHost=localhost \ + --set k8sServicePort=7445 +``` \ No newline at end of file