STK-100Avoid
Avoid Kubernetes until Compose and a managed container service fall short
Do not run Kubernetes, managed or self-hosted, until two things hold. You run more than 10 services or more than 5 hosts, and two or more people on call can upgrade and repair the cluster. Until then, use Compose on one host or a managed container service.
How to do it
Kubernetes passes the five tests as software. The cost lies in running it. Each minor release gets about one year of patches, so every cluster needs an upgrade at least once a year. The project listed 1.37.1, from 15 September 2026, as its newest release. Each cluster also brings its own networking, storage, access rules and add-ons to learn and patch. For a few services, Compose on one host does the job. See Use Docker and Docker Compose for containers and Run the same images locally with Compose. When one host is not enough, a managed container service runs the same images across hosts. Examples are Amazon ECS, Google Cloud Run and Azure Container Apps. Pick between them as Choose the hosting model from written needs says. Past the threshold, use a managed Kubernetes service and keep it in support, as Upgrade managed engines before standard support ends says.
How to check
The infrastructure code defines no Kubernetes cluster, or the service list counts more than 10 services or 5 hosts. The on-call rota then names two or more people who upgrade it.
Sources
Related rules
- STK-53 Use Docker and Docker Compose for containers in Software choices
- OPS-62 Run the same images locally with Compose in Operations and observability
- INF-61 Choose the hosting model from written needs in Infrastructure and environments
- INF-60 Upgrade managed engines before standard support ends in Infrastructure and environments
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/stack/delivery-and-infrastructure/avoid-early-kubernetes">Agent Wranglers software choices playbook</a>. In code you write, add a comment next to it with the same link.