TOPF

TOPF ist das primäre Werkzeug zur Verwaltung der Talos Linux Cluster.

Es automatisiert Bootstrap, Konfigurationsänderungen und Talos Upgrades.

Referenzen:

Zweck

TOPF dient als Verwaltungsschicht für Talos Linux.

Ziele:

  • deklarative Cluster-Verwaltung

  • reproduzierbare Konfigurationen

  • wiederverwendbare Konfigurationsbausteine

  • vereinfachte Talos Upgrades

  • nachvollziehbare Änderungen im Git Repository

Konfigurationsmodell

Jeder Cluster wird durch eine Clusterdefinition und eine Sammlung von Patches beschrieben.

topf.yaml
        |
        v
all/
        |
        v
control-plane/
        |
        v
Talos Machine Configuration

TOPF erzeugt daraus die endgültige Talos Konfiguration.

Cluster-Struktur

Jeder Cluster besitzt ein eigenes Verzeichnis.

kubernetes-cluster/

├── home.tamay.cloud
├── tamay.cloud
└── test.tamay.cloud

Ein Cluster besteht typischerweise aus:

topf.yaml
schematic.yaml
secrets.yaml
all/
control-plane/

Clusterdefinition

Die Datei topf.yaml beschreibt die grundlegenden Eigenschaften eines Clusters.

Beispiele:

  • Kubernetes Version

  • Talos Version

  • Cluster Endpoint

  • Cluster Name

  • Nodes

  • Talos Schematic

kubernetesVersion: 1.35.6
talosVersion: 1.13.5
clusterName: home-tamay-cloud

Patches

Gemeinsame Patches

Das Verzeichnis all/ enthält Konfigurationen für alle Nodes eines Clusters.

Beispiele:

  • Netzwerk

  • Storage

  • NTP

  • DRBD

  • Pod- und Service-Netze

Rollen-Patches

Das Verzeichnis control-plane/ enthält Konfigurationen für Control-Plane Nodes.

Beispiele:

  • API Server

  • etcd

  • Scheduling

  • VIP Konfiguration

  • CNI Einstellungen

Schematics

Talos System Extensions werden über Schematics definiert.

Verwendete Erweiterungen:

  • DRBD

  • ZFS

  • iSCSI Tools

  • Intel Firmware

  • qemu-guest-agent

Die verwendeten Extensions unterscheiden sich je nach Cluster.

Secrets Management

Cluster-Secrets werden verschlüsselt gespeichert.

Dateien:

secrets.yaml
.sops.yaml

Die Entschlüsselung erfolgt über SOPS und PGP.

Betrieb

Bootstrap

TOPF erzeugt die Talos Konfiguration und bootstrapped den Cluster.

topf apply --auto-bootstrap

Konfigurationsänderungen

Änderungen erfolgen über die Patch-Dateien des jeweiligen Clusters.

topf apply

kubeconfig erzeugen

topf kubeconfig

talosconfig erzeugen

topf talosconfig

Vorteile

  • Wiederverwendbare Konfigurationsbausteine

  • Kleine und reviewbare Änderungen

  • Konsistente Talos Verwaltung

  • Deklarative Cluster-Konfiguration

  • Vereinfachte Talos Upgrades

Einschränkungen

  • Verwaltung eines Clusters pro Ausführung

  • Keine kontinuierliche Reconciliation

  • Kein Kubernetes Operator

  • Kubernetes Upgrades erfolgen weiterhin über Talos