تێپەڕبوون بۆ ناوەڕۆکی سەرەکی

Deployment — Kubernetes en omgevingen

Richting gegeven door het platformplan: Kubernetes op eigen infra (bare metal/VM), gescheiden workloads (ingest, app, data, observability), geen verplichting tot public cloud.

Omgevingen (minimum)

OmgevingDoel
devLokale ontwikkeling (Docker Compose)
testCI / automatische tests
stagingRepresentatieve config, integratietests
productionKlanten
perf / stressLoad tests (zie load-test-plan.md) — gescheiden data waar mogelijk
dr-testJaarlijkse restore-oefening — zie backup-dr-policy-template.md

Kubernetes-indeling (richting)

  • Namespace telematics-ingest: gateway pods, HPA op TCP connections/CPU.
  • Namespace user-platform: API, web static server of CDN-in-cluster.
  • Namespace data: operators voor Postgres, Redis, Kafka/Redpanda, ClickHouse (of managed equivalents op eigen netwerk).
  • Namespace observability: Prometheus, Grafana, log stack.
  • Namespace batch: report workers, notification senders.

Netwerkpolicy: alleen gateway-poorten vanaf load balancer; databases geen publiek internet.

Edge

TLS en WAF op Ingress + eigen LoadBalancer / MetalLB — geen Cloudflare/AWS CDN als architectuurvereiste.

GitOps / releases

  • Vaste image tags per release; geen :latest in productie.
  • Secrets via sealed-secrets of vault naar keuze (niet in git plaintext).

Referentiebestanden

Zie deploy/k8s/README.md voor minimale voorbeeld-manifesten (namespace).