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)
| Omgeving | Doel |
|---|---|
| dev | Lokale ontwikkeling (Docker Compose) |
| test | CI / automatische tests |
| staging | Representatieve config, integratietests |
| production | Klanten |
| perf / stress | Load tests (zie load-test-plan.md) — gescheiden data waar mogelijk |
| dr-test | Jaarlijkse 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
:latestin productie. - Secrets via sealed-secrets of vault naar keuze (niet in git plaintext).
Referentiebestanden
Zie deploy/k8s/README.md voor minimale voorbeeld-manifesten (namespace).