@@ -16,7 +16,7 @@ Damit trennen wir fachliche Logik (Core, Agents) von Basisdiensten (Messaging, D
...
@@ -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.
- 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/.`)
- 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.
- 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`.
- Control Plane (Fleet) liegt im Namespace `cattle-fleet-system`.
- Runtime-Services liegen in eigenen Namespaces (core, agents, nats, postgres, monitoring).
- 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
...
@@ -29,8 +29,9 @@ Damit trennen wir fachliche Logik (Core, Agents) von Basisdiensten (Messaging, D
- Namespace monitoring: ermöglicht Observability durch Loki/Promtail/Grafana.
- Namespace monitoring: ermöglicht Observability durch Loki/Promtail/Grafana.
### Kommunikationsmuster
### 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:).
- 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: ???
## :red_circle: ???
...
@@ -61,6 +62,7 @@ Damit trennen wir fachliche Logik (Core, Agents) von Basisdiensten (Messaging, D
...
@@ -61,6 +62,7 @@ Damit trennen wir fachliche Logik (Core, Agents) von Basisdiensten (Messaging, D
## Erweiterbarkeit (Beispiel zu Monitoring)
## Erweiterbarkeit (Beispiel zu Monitoring)
Ein grosser Vorteil der Architektur ist die einfache Erweiterbarkeit:
Ein grosser Vorteil der Architektur ist die einfache Erweiterbarkeit:
- Prometheus/Alertmanager oder OpenTelemetry Collector koennen analog zu Loki/Grafana als eigene Bundles im Namespace monitoring hunzugefuegt werden.
- Prometheus/Alertmanager oder OpenTelemetry Collector koennen analog zu Loki/Grafana als eigene Bundles im Namespace monitoring hunzugefuegt werden.
- Dank GitOps genügt ein zusätzlicher Eintrag im Repo (`gitops/infra/monitoring/prometheus`), und Fleet übernimmt das Deployment und die Steuerung.
- Dank GitOps genügt ein zusätzlicher Eintrag im Repo (`gitops/infra/monitoring/prometheus`), und Fleet übernimmt das Deployment und die Steuerung.
- Keine strukturelle Änderungen nötig: Die Monitoring-Komponenten wären genauso lose gekoppelt wie heute Loki/Promtail.
- Keine strukturelle Änderungen nötig: Die Monitoring-Komponenten wären genauso lose gekoppelt wie heute Loki/Promtail.
...
@@ -74,3 +76,125 @@ Damit Zeigt sich: Auch wenn Monitoring aktuell nur Logging abdeckt, ist ide Erwe
...
@@ -74,3 +76,125 @@ Damit Zeigt sich: Auch wenn Monitoring aktuell nur Logging abdeckt, ist ide Erwe
- Fachliche profitieren wir von Entkopplung, Erweiterbarkeit und Transparenz.
- Fachliche profitieren wir von Entkopplung, Erweiterbarkeit und Transparenz.
- Der Aufbau ist zukunftssicher: zusätzliche Monitoring-/Tracing-Komponenten können problemlos integriert werden.
- Der Aufbau ist zukunftssicher: zusätzliche Monitoring-/Tracing-Komponenten können problemlos integriert werden.
- :red_circle: Das alles hilft dem Unternemen stabile und einsehbare Deployments and die Kunden auszuliefern.
- :red_circle: Das alles hilft dem Unternemen stabile und einsehbare Deployments and die Kunden auszuliefern.