Die Lösung basiert auf einer GitOps-gesteuerte, verteilten Architektur. Alle relevanten Komponenten (Core, Agents, Infrastruktur wie NATS/Postgres, sowie Monitoring) werden zentral im Git-Repository versmoniert über Fleet automatisch in das Kubernetes-Cluster ausgerollt.
Die Lösung basiert auf einer GitOps-gesteuerte, verteilten Architektur. Alle relevanten Komponenten (Core, Agents, Infrastruktur wie NATS/Postgres, sowie Monitoring) werden zentral im Git-Repository versmoniert über Fleet automatisch in das Kubernetes-Cluster ausgerollt.
Damit trennen wir fachliche Logik (Core, Agents) von Basisdiensten (Messaging, Datenbank, Monitoring) und erhalten eine klare Struktur inNamespaces.
...
...
@@ -16,7 +16,7 @@ Damit trennen wir fachliche Logik (Core, Agents) von Basisdiensten (Messaging, D
- Gitjob: holt den Code aus dem Git-Repository, damit Fleet die Inhalte verarbeiten kann.
- Helmops: rendert und installiert Helm-Chart, basierend auf den Source-Code (:red_circle: das in `/gitops/.`)
- Fleet-Agent: bietet das Bindeglied zwischen Fleet und Namespaces und spielt die Manifeste in die Ziel-Namespaes ein und reportiert Status zurück.
- Trennung Control Plait <-> Runtime
- Trennung Control Plait \<-\> Runtime
- Control Plane (Fleet) liegt im Namespace `cattle-fleet-system`.
- Runtime-Services liegen in eigenen Namespaces (core, agents, nats, postgres, monitoring).
...
...
@@ -29,8 +29,9 @@ Damit trennen wir fachliche Logik (Core, Agents) von Basisdiensten (Messaging, D
- Namespace monitoring: ermöglicht Observability durch Loki/Promtail/Grafana.
### Kommunikationsmuster
- Agents <-> Core: Die Kommunikation ähnelt dem RPC-Pattern einfach über NATS. Die Agents senden einen Request und der Core antwortet darauf. Der Core imitiert keine Kommunikation.
- Core <-> Postgres: klassisches Read/Write mit DB-Connection
- Agents \<-\> Core: Die Kommunikation ähnelt dem RPC-Pattern einfach über NATS. Die Agents senden einen Request und der Core antwortet darauf. Der Core imitiert keine Kommunikation.
- Core \<-\> Postgres: klassisches Read/Write mit DB-Connection
- Logging: Promtail sammelt Container-Logs und pusht sie an Loki. Grafana visualisiert die Daten über Loki als Datasource (ausführlichere Beschreibung hier zu finden :link: LINK :red_circle:).
## :red_circle: ???
...
...
@@ -49,7 +50,7 @@ Damit trennen wir fachliche Logik (Core, Agents) von Basisdiensten (Messaging, D
- Nachvollziehbarkeit: Jede Änderung im Cluster als Commit im Git-Repo nachvollziehbar.