Skip to main content

Talos Kubernetes Cluster

API VIP: 192.168.86.100 | CP: .101 (tower1) | Workers: .111 (thinkcentre2), .112 (thinkcentre3), .113 (zotac)

Talos Linux is an immutable, API-driven Kubernetes OS. No SSH -- all management through talosctl and kubectl.

Nodes

RoleIPVM IDHostResources
Control Plane192.168.86.101400tower12 cores, 4GB RAM, 50GB (Ceph)
Worker 0192.168.86.111410thinkcentre24 cores, 8GB RAM, 100GB (Ceph)
Worker 1192.168.86.112411thinkcentre34 cores, 8GB RAM, 100GB (Ceph)
Worker 2192.168.86.113412zotac4 cores, 8GB RAM, 100GB (Ceph)

Bootstrap

export CLUSTER_VIP="192.168.86.100"
export CONTROLPLANE_IPS="192.168.86.101"
export WORKER_IPS="192.168.86.111,192.168.86.112,192.168.86.113"
make bootstrap
make kubeconfig

Verify

export KUBECONFIG=talos/_out/kubeconfig
kubectl get nodes
talosctl --talosconfig talos/_out/talosconfig health

Namespaces

  • ingress-system -- Traefik / Ingress controllers
  • apps -- Application workloads
  • monitoring -- kube-state-metrics, node-exporter
  • metallb-system -- MetalLB L2 load balancer

MetalLB

L2 mode, IP pool: 192.168.86.150 - 192.168.86.199

make k8s-base-metallb

Upgrades

talosctl upgrade --nodes 192.168.86.101 --image ghcr.io/siderolabs/installer:v1.12.5
# Then workers one at a time