Announcing ctlptl: Mess Around with Local Kubernetes without Consequences
At Tilt, we want to make Kubernetes an approachable environment for local dev.
We found ourselves spending a lot of time helping teams debug misconfigurations with their local cluster.
We wrote docs like Choosing a local dev cluster and example repos like kind-local, minikube-local, and k3d-local to help people get set up.
ctlptl
is a culmination of what we’ve learned.
What is ctlptl
?
ctlptl
is a CLI for declaratively setting up local Kubernetes clusters.
Inspired by kubectl
and
ClusterAPI’s clusterctl
, you
declare your local cluster with YAML and use ctlptl
to set it up.
How should I pronounce ctlptl
?
We’ve talked a lot about this. We’re not any closer to a single answer. We’ve decided that these are all acceptable pronounciations:
- Cattle paddle
- Control pedal
- Cartel patrol
- Cuddle petal
- Cuttle puddle
Who is ctlptl
for?
ctlptl
is a building block for platform teams setting up a multi-service dev environments locally.
To have a consistent environment across machines, you need to be able to stitch together:
- a dev cluster
- a dev registry
- storage
- mounts
- cpu
- memory
If one of these is off (e.g., one dev accidentally set their CPU too low), the environment is awful and uncomfortable.
ctlptl
helps a single dev easily set up their dev environment according to
best practices. A maintainer can give their team a one-liner for easy cluster
setup.
Where do I start?
Check out ctlptl on GitHub for installation instructions and example configs.
To learn more about the pros and cons of different local dev clusters, Ellen Körbes can teach you how to break it down on dex.dev.