5.3 KiB
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.
If you have go (1.11+) and docker installed GO111MODULE="on" go get sigs.k8s.io/kind@v0.5.1 && kind create cluster is all you need!
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)
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 get sigs.k8s.io/kind. 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:
- 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 user guide 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
Current maintainers are @BenTheElder and @munnerz - feel free to reach out if you have any questions!
Pull Requests are very welcome!
See the issue tracker 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?
- kind supports multi-node (including HA) clusters
- kind supports building Kubernetes release builds from source
- support for make / bash / docker, or bazel, in addition to pre-published builds
- kind supports Windows in addition to MacOS and Linux
- kind is a CNCF certified conformant Kubernetes installer
Alternatives
Some other open source projects with slightly different but overlapping use cases, features etc.
- https://github.com/bsycorp/kind
- https://github.com/ubuntu/microk8s
- https://github.com/kinvolk/kube-spawn
- https://github.com/kubernetes/minikube
- https://github.com/kubernetes-sigs/kubeadm-dind-cluster
Code of conduct
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.
