DOC: phronis-ku
STATUS: ● PUBLISHED
SYSTEM PHRONIS

Shipping It to Kubernetes: Kind + Podman + Helm

From an 11-container compose stack to 8 pods Running in under 3 minutes.

Cover image — Shipping It to Kubernetes: Kind + Podman + Helm

A docker-compose stack proves a system works on your machine. Kubernetes proves it can be deployed. Phase 10 took Phronis’s 11 services to Kubernetes with raw manifests plus a Helm chart, and surfaced the gap between “runs in Compose” and “runs in a cluster.”

// 01 — TWO WAYS TO DEPLOY

k8s/ holds raw manifests, one file per service group: namespace, configmap, secrets, and StatefulSets/Deployments for Redpanda, PostgreSQL, MinIO, RisingWave, the API, and the observability trio. helm/phronis/ wraps the same topology in a chart with a values.yaml, so production deploys are parameterized:

helm install phronis ./helm/phronis \
  --set postgres.password=... --set api.apiKey=...

// 02 — WHAT COMPOSE HID

Three things worked in Compose and broke in Kubernetes, each a small lesson in how clusters differ (all three have their own anomaly logs):

// 03 — THE RESULT

Tested with Kind on the Podman provider: after kubectl apply -f k8s/, all 8 pods reach Running in under three minutes. The platform proof is done. Phronis isn’t just a demo stack, it’s a deployable one.

TAKEAWAYS

NEXT

@frogwebp brand mark
ANTHONY PENA · @FROGWEBP
I build data systems and write about everything around them, the architecture, the failures, what each one teaches me. Documenting in public since 2021: the process, not just the result.

// NEWSLETTER — THE BUILD LOG SIGNAL

When I ship something or learn something worth keeping, it lands here first — build logs, concepts, and the honest process behind them. Come along; no spam, leave anytime.