Concept to deploy to a cluster:

  1. Write Kubernetes config files (YAML)
  2. Tell Kubernetes:
  3. Kubernetes:
Spring Boot Code
    ↓
Maven build (JAR)
    ↓
Docker Image
    ↓
Kubernetes Deployment
    ↓
Service (Expose it)

From docker-compose.yml to Kubernetes:

If docker-compose.yml contains:

Category Services
Core app backend
Datastore postgres, redis
Messaging zookeeper, kafka
Dev tools pgadmin, mailhog, kafka-ui
Observability prometheus, grafana

To map in Kurbernetes, need these:

Namespace
├── backend: Deployment + Service
├── postgres: Stateful Deployment + PVC + Service
├── redis: Deployment + Service
├── kafka + zookeeper (Stateful-ish)
├── prometheus: Deployment + PVC + Service + Configmap (prometheus.yml)
├── grafana: Deployment + PVC + Service + ConfigMap (datasource.yml)
├── ConfigMaps
├── Secrets