Learn · Platform landscape · 📦
Docker, Kubernetes, OpenShift, k3s:what to run where.
Containers package applications; Kubernetes schedules them. Here is the stack from laptop to enterprise, and the honest answer to "do we need Kubernetes?" (often: not yet).
| Layer | Options | Use when | Skip when |
|---|---|---|---|
| Container runtime | Docker, Podman, containerd | Always — packaging standard | — |
| Single host | Docker Compose, Podman systemd | Small apps, internal tools, ≤5 services | You need HA/autoscaling |
| Lightweight K8s | k3s, k0s, MicroK8s | Edge, labs, small clusters, learning | Multi-team enterprise governance |
| Managed K8s | EKS, AKS, GKE, OKE | Production in cloud without running control planes | On-prem only |
| Enterprise on-prem | Red Hat OpenShift, Rancher/RKE2, VMware Tanzu | Regulated enterprises, many teams, VMs+containers | Small teams; cost |
| GitOps & packaging | Helm, Kustomize, Argo CD, Flux | Any serious cluster | Single-host Compose setups |
| Registry & security | Harbor, GHCR, Trivy, Falco | Supply-chain and runtime security | — |
How to read this
- Rule of thumb: Compose until you have multiple teams or need rolling deploys and autoscaling; then managed Kubernetes in cloud or k3s/RKE2 on Proxmox on-prem.
- Learn: Docker → Compose → k3s → Helm → Argo CD → CKA. That order maps to Indian job descriptions.
- Databases usually stay on VMs; stateless app tiers go to containers first.