Skip to content

7. Deployment view

7.1 Kubernetes topology (state after sub-project 3)

flowchart LR
    U[Clients / administrators] --> ING[Ingress geoserver<br/>cookie affinity]
    ING --> SVC[Service geoserver :8080]
    SVC --> D[Deployment geoserver<br/>replicas N ≥ 3<br/>emptyDir data dir]
    D --- HZ[Headless Service geoserver-hz :5701]
    D --- PVC[(PVC RWX geoserver-wps)]
    D --> DBS[(TimescaleDB Service<br/>existing, shared)]
    D --> S3[(S3 object storage<br/>gwc-tiles · rasters)]
    subgraph Config
        S1[(Secret geoserver-db)]
        S2[(Secret meteo-reader)]
        S3[(Secret geoserver-admin)]
        C1[ConfigMap geoserver-env]
        C2[ConfigMap geoserver-cluster-env]
    end
    Config -.-> D
    J[Jobs init-geoserver-db / grant-reader] --> DBS
    SA[(Secret db-admin)] -.-> J
    PDB[PodDisruptionBudget minAvailable 1] -.-> D
Hold "Alt" / "Option" to enable pan & zoom
Object Role Sub-project
Jobs init-geoserver-db, grant-meteo-reader + Secret db-admin Database initialization (pre-install / PreSync hook) 1
Secrets geoserver-db, meteo-reader, geoserver-admin Application accounts 1, 2
ConfigMaps geoserver-env, geoserver-cluster-env Non-secret variables (JNDI, control-flow, cluster, WPS) 2, 3
Deployment geoserver N replicas, reproducible image, emptyDir data dir, probes 2, 3
Service geoserver ClusterIP HTTP 2
Headless Service geoserver-hz Hazelcast discovery through DNS 3
Ingress geoserver Exposure + session affinity 3
PVC geoserver-wps (RWX) Shared WPS results 3
PodDisruptionBudget At least 1 replica during maintenance operations 3
Secret s3-credentials S3 endpoint, keys, buckets (optional: without it, ephemeral local cache) 4

To be completed: ingestion service (5).

7.2 Platform requirements

  • Kubernetes with an Ingress controller supporting session affinity (or HZ_SESSION_SHARING=true).
  • RWX storage for asynchronous WPS.
  • Internal DNS access to the headless Service (standard).
  • Existing TimescaleDB/PostGIS database, with an admin account provided for the initialization Job.
  • S3-compatible object storage (path-style) with two buckets and one key pair.
  • Image registry and artifact repository (ADR-0007).