Skip to content

Architecture#

High-level#

From a high-level perspective, KOF consists of three layers:

  • the Collection layer, where the statistics and events are gathered,
  • the Regional layer, which includes storage to keep track of those statistics and events,
  • and the Management layer, where you interact through the UI.
flowchart TD;
    A[Management UI, promxy] 
    A --> C[Storage Region 1]
    A --> D[Storage Region 2]
    C --> E[Collect Child 1]
    C --> F[Collect Child 2]
    D ==> G[...]

Mid-level#

Getting a little bit more detailed, it's important to undrestand that data flows upwards, from observed objects to centralized Grafana on the Management layer:

Management Cluster
kof-mothership chart
grafana-operator
victoria-metrics-operator
cluster-api-visualizer
sveltos-dashboard
k0rdent service templates
promxy
kof-operators chart
opentelemetry-operator
prometheus-operator-crds
Cloud 1..N
Region 1..M
Regional Cluster
kof-storage chart
grafana-operator
victoria-metrics-operator
victoria-logs-single
external-dns
cert-manager of grafana and vmauth
ingress-nginx
Child Cluster 1
cert-manager of OTel-operator
kof-operators chart
opentelemetry-operator
OpenTelemetryCollector
prometheus-operator-crds
kof-collectors chart
opencost
kube-state-metrics
prometheus-node-exporter
observed objects

Low-level#

At a low level, you can see how logs and traces work their way around the system.

kof-architecture