Talos
Talos
Talos is a modern OS for Kubernetes. It is designed to be secure, immutable, and minimal. Talos is a self-hosted Kubernetes distribution that runs on bare metal or virtualized infrastructure. Talos is designed to be managed by a central Kubernetes control plane, which can be hosted on the same cluster or on a separate cluster.
talosctl config add my-cluster –endpoints 192.168.0.242
talosctl config info
talosctl config endpoint 192.168.0.242
talosctl gen config my-cluster https://192.168.0.242:6443 –output-dir ./talos-config –force
new install talos
https://www.talos.dev/v1.9/talos-guides/install/virtualized-platforms/proxmox/
talosctl gen config my-cluster https://192.168.0.218:6443 talosctl -n 192.168.0.169 get disks –insecure (check disks) talosctl config endpoint 192.168.0.218 talosctl config node 192.168.0.218
talosctl apply-config –insecure –nodes 192.168.0.218 –file controlplane.yaml
talosctl bootstrap talosctl kubeconfig . (retrieve kubeconfig) talosctl –nodes 192.168.0.218 version (verify)
export KUBECONFIG=./talos-config/kubeconfig
kubectl get nodes kubectl get pods -n kube-system kubectl get pods -n kube-system -o wide
kubectl describe pod my-postgres-postgresql-0 (is very useful in case the pod does get deployed
https://factory.talos.dev/ (create your custom image)
talosctl upgrade --nodes 10.10.10.178 --image factory.talos.dev/installer/c9078f9419961640c712a8bf2bb9174933dfcf1da383fd8ea2b7dc21493f8bac:v1.9.5
- watching nodes: [10.10.10.178]
- talosctl get extensions –nodes 10.10.10.178
NODE NAMESPACE TYPE ID VERSION NAME VERSION 10.10.10.178 runtime ExtensionStatus 0 1 iscsi-tools v0.1.6 10.10.10.178 runtime ExtensionStatus 1 1 schematic c9078f9419961640c712a8bf2bb9174933dfcf1da383fd8ea2b7dc21493f8bac
adding worker nodes
Since “longhorn” stores data on more than one node, we need to add more nodes to the cluster.
talosctl apply-config –insecure –nodes 10.10.10.166 –file worker.yaml talosctl apply-config –insecure –nodes 10.10.10.173 –file worker.yaml
kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
talos-2ho-roe Ready
label nodes
kubectl label nodes talos-v1x-9s4 node-role.kubernetes.io/worker=”” kubectl label nodes talos-2ho-roe node-role.kubernetes.io/worker=””