Kubernetes (self-managed) → Fly.io
mediumFly.io manages the underlying infra. Machines API replaces Deployments/Pods. Much simpler ops, global edge deployment, significantly cheaper for small-medium workloads.
curl -L https://fly.io/install.sh | sh && fly auth login
Fly detects your Dockerfile automatically. It creates fly.toml config.
fly launch
Edit fly.toml: [[services]] replaces Kubernetes Service. [[services.ports]] for port mapping. [[mounts]] for persistent volumes.
Postgres: use Fly Postgres or bring your own (managed). Redis: Upstash Redis works well with Fly.
kubectl secrets → fly secrets. Env vars injected at runtime.
fly secrets set DATABASE_URL=postgres://...
fly deploy && fly scale count 2 --region iad,fra
What this migration involves
Moving from Kubernetes (self-managed) to Fly.io is rated medium and takes about 4-12h on a typical project. The guide breaks it into 6 steps, 4 of which ship with runnable commands and 1 with a verification check.
Related migrations
FAQ
How long does migrating from Kubernetes (self-managed) to Fly.io take?
Around 4-12h for a typical project — 6 steps, difficulty rated medium, 4 of them with copy-paste commands.
Is moving from Kubernetes (self-managed) to Fly.io reversible?
No reverse guide is tracked yet, so treat this as a one-way move and keep a full export of your Kubernetes (self-managed) data before you start.
What does Fly.io cost compared to Kubernetes (self-managed)?
Fly.io: freemium from $0/mo, free plan available.