Files
gitops/talos
2024-02-16 20:28:43 +00:00
..
2024-02-16 20:28:43 +00:00

Set up

Prerequisites

Boot from talos iso memory stick (dd mode in rufus).

Commands

Talos

  • talosctl -n 192.168.1.101 apply-config -f controlplane.yaml --insecure
  • talosctl -n 192.168.1.101 -e 192.168.1.101 --talosconfig=./talosconfig bootstrap
  • talosctl -n 192.168.1.101 -e 192.168.1.101 --talosconfig ./talosconfig kubeconfig

Cilium

  • helm repo add cilium https://helm.cilium.io/
  • helm repo update
helm install \
    cilium \
    cilium/cilium \
    --version 1.14.0 \
    --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

Flux

  • flux bootstrap git --private-key-file=/config/.ssh/gitea --url ssh://git@gitea.home.joemonk.co.uk:2222/joe/gitops.git --branch main --path=clusters/talos

Resetting

Boot the above memory stick and click reset installation, then carry on as above.

Patching

First create the patch file i.e.

cluster:
  network:
    cni:
      name: none

Then apply the patch to the control plane yaml

talosctl machineconfig patch controlplane.yaml --patch @patch.yaml -o controlplane.yaml

And apply that control plane yaml with

talosctl -n 192.168.1.101 -e 192.168.1.101 --talosconfig ./talosconfig apply-config -f controlplane.yaml

Cilium

helm repo add cilium https://helm.cilium.io/ helm repo update

helm install \
    cilium \
    cilium/cilium \
    --version 1.15.0 \
    --namespace kube-system \
    --set ipam.mode=kubernetes \
    --set=kubeProxyReplacement=disabled \
    --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

Flux

flux bootstrap git --private-key-file=/config/.ssh/gitea --url ssh://git@gitea.home.joemonk.co.uk:2222/joe/gitops.git --branch ma in --path=clusters/talos