klimax vs. other tools
klimax isn't trying to replace your Docker runtime — it's a purpose-built multi-cluster kind lab. Here's how it lines up against the usual macOS options, and why it's designed to run alongside them.
The short version
klimax is the only one of these focused on running many kind clusters at once with pure L3 routing (real pod and LoadBalancer IPs) and MetalLB in every cluster. The others are great Docker/Kubernetes runtimes, but they're single-cluster and route via port-mapping.
Capability matrix
| Aspect | klimax | Rancher Desktop | Colima | OrbStack |
|---|---|---|---|---|
| Primary purpose | Multi-cluster kind lab | Docker/k3s desktop | Docker/containerd | Docker/K8s/VMs |
| Multiple clusters at once | ✓ (up to 99) | — | — | — |
| Kubernetes flavor | kind (any version) | k3s | k3s (optional) | k3s |
| Host→pod/Service routing | Pure L3, no SNAT | port-mapped | port-mapped | custom stack |
| MetalLB in every cluster | ✓ | — | — | — |
| Built-in registry mirrors | ✓ (docker/quay/gcr) | configurable | — | — |
| Coexists with other tools | ✓ | ✓ | ✓ | ✓ |
klimax is open source under the MIT license. For the others, capabilities — not pricing or licensing — are what matter when you're deciding what to run, so that's what the matrix compares.
Designed to coexist
Lima mirrors every guest TCP port to 127.0.0.1 on the host.
That's a convenience in isolation, but two Lima-based tools that both
manage kind clusters will race to mirror the same API-server
port (e.g. 7001) to 127.0.0.1 — and the
kubeconfigs end up pointing at the wrong cluster.
klimax avoids this by default:
network.disablePortMirroring is true out of the
box. With mirroring off, klimax kubeconfigs use the VM's direct
lima0 IP instead of 127.0.0.1, and every other
Lima tool keeps mirroring its own ports unaffected — no configuration
needed. Set it to false only if you run a single klimax VM
and prefer stable 127.0.0.1 kubeconfigs:
$ klimax config edit # set network.disablePortMirroring: false
$ klimax destroy && klimax up # VM-level setting; needs a fresh VM
For OrbStack, Docker Desktop, and Podman Desktop there's nothing to configure either — each uses its own VM/bridge and coexists with klimax out of the box. See how this works.
When to pick klimax
- You want several kind clusters at once — multi-team, multi-env, chaos testing.
- You need pods and LoadBalancers reachable by real IP, without port-forward.
- You want MetalLB and registry mirrors set up for you, in every cluster.
- You're on Apple Silicon and want it self-contained — no separate Lima install.
When another tool fits better
If you just need one Docker runtime or a single small cluster, a general-purpose runtime — OrbStack, Colima, or Rancher Desktop — is simpler. klimax earns its keep once you're juggling several clusters and want real, routable IPs across all of them.
See also
- Networking & L3 routing — how pure L3 routing and
disablePortMirroringactually work. - Getting started — from an empty Mac to a routable multi-cluster lab.