Hacker News new | ask | show | jobs
by selcuka 1234 days ago
Note that one can also use a lightweight Kubernetes distribution such as Minikube [1] during development so that the workflow is similar for both development and production.

[1] https://minikube.sigs.k8s.io/docs/start/

1 comments

But this often not necessary, because if you can run a production Kubernetes cluster, you can also run a dev Kubernetes cluster, so no need to run a local Kubernetes distribution.

My workflow typically looks like this:

1. Run app locally during dev without Docker

2. Build and run Docker image locally with Docker compose

3. Deploy to development Kubernetes cluster

4. Deploy to production Kubernetes cluster

> if you can run a production Kubernetes cluster, you can also run a dev Kubernetes cluster

When you have many developers, the cost for maintaining one dev cluster per developer quickly goes up. One cluster for all developers can be used for testing/staging, but not for development.

Minikube is a replacement for your step (2), except you can now use your existing tools (kubectl etc) instead of docker-compose.