Kubernetes-Plattform

Überblick

Die Plattform besteht aus mehreren unabhängigen Kubernetes-Clustern.

Jeder Cluster wird vollständig über GitOps verwaltet und folgt denselben Architekturprinzipien.

Gemeinsame Technologien:

  • Talos Linux

  • Kubernetes

  • FluxCD

  • Cilium

  • Gateway API

  • Piraeus Datastore

  • Velero

Cluster-Rollen

Jeder Cluster besitzt einen klar definierten Schwerpunkt und wird eigenständig betrieben.

Es existiert kein klassisches Environment-Modell mit Dev-, Test-, Staging- und Produktionsumgebungen.

Änderungen werden nicht zwangsläufig zwischen Clustern promotet.

Talos Cluster Management

Talos Cluster werden deklarativ verwaltet.

Die Cluster-Konfiguration wird versioniert und durch wiederverwendbare Patches beschrieben.

Bootstrap, Konfigurationsänderungen und Talos Upgrades erfolgen über TOPF.

Dadurch bleiben Konfigurationen reproduzierbar, reviewbar und zwischen Clustern wiederverwendbar.

Plattform-Layer

Die Plattform ist in mehrere Schichten unterteilt.

Applications
        |
        v
Platform Services
        |
        v
Kubernetes
        |
        v
Talos Linux
        |
        v
Hardware / VPS

Plattformdienste

Folgende Dienste bilden die gemeinsame Plattformbasis:

  • FluxCD

  • Cilium

  • Cert Manager

  • Piraeus Datastore

  • Velero

Diese Komponenten werden clusterübergreifend verwendet.

Netzwerk

Die Plattform verwendet:

  • IPv6 First

  • Dual Stack Betrieb

  • Cilium

  • Gateway API

Storage

Persistente Daten werden über Piraeus Datastore bereitgestellt.

Eigenschaften:

  • CSI Storage

  • VolumeSnapshots

  • Replizierter Storage

  • RWX über NFS

GitOps

Die Plattform folgt dem OpenGitOps Modell.

Eigenschaften:

  • Deklarative Konfiguration

  • Git als Source of Truth

  • Pull-basierte Deployments

  • Kontinuierliche Drift-Korrektur

Backup

Backups erfolgen über mehrere Mechanismen:

  • Velero

  • CloudNativePG Backups

Observability

Die Plattform verwendet Monitoring- und Logging-Komponenten.

Beispiele:

  • Victoria Metrics

  • Victoria Logs

Zielbild

Die Plattform soll:

  • Reproduzierbar sein

  • Vollständig GitOps-basiert sein

  • Mehrere Cluster unterstützen

  • Selbstheilend arbeiten

  • Hochautomatisiert betrieben werden