kind is a tool for running local Kubernetes clusters using Docker container "nodes".
kind is primarily designed for testing Kubernetes 1.11+, initially targeting the conformance tests.
kind consists of:
- Go packages implementing cluster creation, image build, etc.
- A command line interface (
kind) built on these packages.
- Docker image(s) written to run systemd, Kubernetes, etc.
kubetestintegration also built on these packages (WIP)
NOTE: kind is still a work in progress, see the 1.0 roadmap.
Installation and usage
You can install kind with
GO111MODULE="on" go get firstname.lastname@example.org.
NOTE: please use the latest go to do this, ideally go 1.12.7 or greater.
This will put
$(go env GOPATH)/bin. If you encounter the error
kind: command not found after installation then you may need to either add that directory to your
$PATH as shown here or do a manual installation by cloning the repo and run
make build from the repository.
Without installing go, kind can be built reproducibly with docker using
Stable binaries are also available on the releases page. Stable releases are generally recommended for CI usage in particular. To install, download the binary for your platform from "Assets" and place this into your
$PATH. E.G. for macOS:
curl -Lo ./kind-darwin-amd64 https://github.com/kubernetes-sigs/kind/releases/download/v0.4.0/kind-darwin-amd64 chmod +x ./kind-darwin-amd64 mv ./kind-darwin-amd64 /some-dir-in-your-PATH/kind
To use kind, you will 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:
- ensure that Kubernetes is cloned in
$(go env GOPATH)/src/k8s.io/kubernetes
- build a node image and create a cluster with
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 docs or run
kind [command] --help
Community, discussion, contribution, and support
Please reach out for bugs, feature requests, and other issues!
The maintainers of this project are reachable via:
- Kubernetes Slack in the #kind channel
- filing an issue against this repo
- The Kubernetes SIG-Testing Mailing List
Pull Requests are very welcome!
See the issue tracker if you're unsure where to start, or feel free to reach out to discuss.
- kind supports multi-node (including HA) clusters
- kind supports building Kubernetes release builds from source
- support for make / bash / docker, bazel, or installing from apt, in addition to pre-published builds.
- kind is written in go, can be used as a library, has stable releases
- kind supports Windows in addition to MacOS and Linux
- kind is a CNCF certified conformant Kubernetes installer
Some other open source projects with slightly different but overlapping use cases, features etc.
Code of conduct
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.