kind is a tool for running local Kubernetes clusters using Docker container “nodes”.
kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI.

If you have go 1.16+ and docker, podman or nerdctl installed go install && kind create cluster is all you need!

kind consists of:

kind bootstraps each “node” with kubeadm. For more details see the design documentation.

NOTE: kind is still a work in progress, see the 1.0 roadmap.

Installation and usage 🔗︎

For more detailed instructions see the user guide.

You can install kind with go install (for go 1.17+). This will put kind in $(go env GOPATH)/bin. You may need to add that directory to your $PATH as shown here if you encounter the error kind: command not found after installation.

To use kind, you will also need to install docker.
Once you have docker running you can create a cluster with:

kind create cluster

To delete your cluster use:

kind delete cluster

To create a cluster from Kubernetes source:

kind build node-image
kind create cluster --image kindest/node:latest

Multi-node clusters and other advanced features may be configured with a config file, for more usage see the user guide or run kind [command] --help

Community 🔗︎

Please reach out for bugs, feature requests, and other issues!
The maintainers of this project are reachable via:

Current maintainers are @aojea and @BenTheElder – feel free to reach out directly if you have any questions!

Pull Requests are very welcome!
If you’re planning a new feature, please file an issue to discuss first.

Check the issue tracker for help wanted issues if you’re unsure where to start, or feel free to reach out to discuss. 🙂

See also: our own contributor guide and the Kubernetes community page.

Why kind? 🔗︎

Code of conduct 🔗︎

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.