Talos Installation

Vorbereitung

Talos home-tamay-cloud

Jetzt kann die Talos Konfiguration erstellt und angewendet werden

# Generate talos config
talosctl gen secrets -o secrets/secrets.yaml
talosctl gen config home-tamay-cloud https://[fdc8:8e7b:9ade::20]:6443 \
  --output talos \
  --with-secrets secrets/secrets.yaml \
  --config-patch-control-plane @patches/controlplane/allow-scheduling.yaml \
  --config-patch-control-plane @patches/controlplane/disable-proxy-and-cni.yaml \
  --config-patch-control-plane @patches/controlplane/dualstack.yaml \
  --config-patch-control-plane @patches/controlplane/etcd.yaml \
  --config-patch @patches/all/installer.yaml \
  --config-patch @patches/all/multihoming.yaml \
  --config-patch @patches/all/ntp.yaml \
  --config-patch @patches/all/piraeus.yaml \
  --config-patch @patches/all/pod-service-subnet.yaml \
  --config-patch @patches/all/spegel.yaml

# Apply talos config to nodes
talosctl apply-config -n 192.168.0.156 \
  --insecure \
  --file talos/controlplane.yaml \
  --config-patch @patches/nodes/k8s-home-01.yaml

talosctl apply-config -n 192.168.0.157 \
  --insecure \
  --file talos/controlplane.yaml \
  --config-patch @patches/nodes/k8s-home-02.yaml

talosctl apply-config -n 192.168.0.155 \
  --insecure \
  --file talos/controlplane.yaml \
  --config-patch @patches/nodes/k8s-home-03.yaml

export TALOSCONFIG=$(realpath ./talos/talosconfig)
talosctl config endpoint fdc8:8e7b:9ade::21 fdc8:8e7b:9ade::22 fdc8:8e7b:9ade::23
talosctl -n fdc8:8e7b:9ade::21 bootstrap
talosctl -n fdc8:8e7b:9ade::21 kubeconfig ./kubeconfig
export KUBECONFIG=./kubeconfig

Talos Installation tamay-cloud

Vorbereitung

curl --silent -X POST --data-binary @schematics/netcup.yaml https://factory.talos.dev/schematics|jq -r ".id"
{"id":"29b34a6496de6642109966c43c69c6915f8adeddeba129e0ee627d67c888f713"}
  • Qcow2 Image runterladen

  • In NetCup Server Control Panel anmelden

  • Image hochladen (Medien -> Images -> Eigenes Image hochladen)

  • Nach dem Hochladen das Image auswählen und installieren

  • Server muss manuell gestartet werden

Bootstrap

# Generate configuration
talosctl gen secrets -o secrets/secrets.yaml
talosctl gen config tamay-cloud https://92.60.36.251:6443 \
  --output talos \
  --with-secrets secrets/secrets.yaml \
  --config-patch-control-plane @patches/controlplane/allow-scheduling.yaml \
  --config-patch-control-plane @patches/controlplane/disable-proxy-and-cni.yaml \
  --config-patch-control-plane @patches/controlplane/etcd-backup.yaml \
  --config-patch @patches/all/installer.yaml \
  --config-patch @patches/all/ntp.yaml \
  --config-patch @patches/all/pod-service-subnet.yaml

# Apply configuration to node k8s-01
talosctl -n 92.60.36.251 apply-config\
  --insecure \
  --file talos/controlplane.yaml \
  --config-patch @patches/all/piraeus.yaml
  --config-patch @patches/nodes/k8s-01.yaml

# Save talosconfig to ~/.talos and export it
cp talos/talosconfig ~/.talos/talosconfig-tamay-cloud.yaml
export TALOSCONFIG=~/.talos/talosconfig-tamay-cloud.yaml

# Bootstrap cluster
talosctl config endpoint 92.60.36.251
talosctl -n 92.60.36.251 bootstrap

# Get kubeconfig
talosctl -n 92.60.36.251 kubeconfig ~/.kube/kubeconfig-tamay-cloud.yaml
export KUBECONFIG=~/.kube/kubeconfig-tamay-cloud.yaml

Cilium

helm upgrade --install cilium \
    oci://quay.io/cilium/charts/cilium \
    --namespace kube-system \
    --values cilium/values.yaml
kubectl apply -f cilium/l2-announement-policy.yaml
kubectl apply -f cilium/loadbalancer-ippool.yaml

Talos Installation test-tamay-cloud

Vorbereitung

Talos

Jetzt kann die Talos Konfiguration erstellt und angewendet werden

# Generate talos config
talosctl gen secrets -o secrets/secrets.yaml
talosctl gen config test-tamay-cloud https://[2a03:4000:6:2a10::53]:6443 \
  --output talos \
  --with-secrets secrets/secrets.yaml \
  --config-patch-control-plane @patches/controlplane/allow-scheduling.yaml \
  --config-patch-control-plane @patches/controlplane/disable-proxy-and-cni.yaml \
  --config-patch-control-plane @patches/controlplane/dualstack.yaml \
  --config-patch @patches/all/installer.yaml \
  --config-patch @patches/all/ntp.yaml \
  --config-patch @patches/all/piraeus.yaml \
  --config-patch @patches/all/pod-service-subnet.yaml

# Apply talos config to nodes
talosctl apply-config -n 5.45.108.53 \
  --insecure \
  --file talos/controlplane.yaml \
  --config-patch @patches/nodes/k8s-test-01.yaml

export TALOSCONFIG=$(realpath ./talos/talosconfig)
talosctl config endpoint 2a03:4000:6:2a10::53
talosctl -n 2a03:4000:6:2a10::53 bootstrap
talosctl -n 2a03:4000:6:2a10::53 kubeconfig ./kubeconfig
export KUBECONFIG=./kubeconfig
kubectl apply --server-side -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.6.0/experimental-install.yaml
helm upgrade --install \
    cilium oci://quay.io/cilium/charts/cilium \
    --namespace kube-system \
    --values apps/cilium/values.yaml
kubectl apply -f apps/cilium/cilium-lb-l2.yaml
kubectl apply -f apps/gateway.yaml