Table of Contents
KiND - Kubernetes in Docker
See Kubernetes in Docker KiND on VMware Workstation Pro
Return to K8S See also MiniKube
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.11+) and docker installed GO111MODULE=“on” go get sigs.k8s.io/kind@v0.11.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. kubetest integration 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 a complete install guide see the documentation here.
You can install kind with GO111MODULE=“on” go get sigs.k8s.io/kind@v0.11.1.
NOTE: please use the latest go to do this, ideally go 1.13 or greater.
NOTE: go get should not be run from a Go modules enabled project directory, as go get inside a Go modules enabled project updates dependencies / behaves differently. Try for example cd $HOME first.
This will put kind in $(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 make build.
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:
Linux
On Linux:
- curl -Lo ./kind “https://kind.sigs.k8s.io/dl/v0.11.1/kind-$(uname)-amd64”
- chmod +x ./kind
- mv ./kind /some-dir-in-your-PATH/kind
macOS
Windows
On Windows:
Chocolatey
via Chocolatey (https://chocolatey.org/packages/kind)
- choco install kind
choco install kind -y
Installing the following packages:
kind
By installing, you accept licenses for the packages.
Progress: Downloading kind 0.11.1… 100%
kind v0.11.1 [Approved]
kind package files install completed. Performing other installation steps.
Downloading kind 64 bit from 'https://github.com/[[kubernetes-sigs]]/kind/releases/download/v0.11.1/kind-[[windows-amd64]]'
Progress: 100% - Completed download of \ProgramData\chocolatey\lib\kind\kind.exe (6.58 MB).
Download of kind.exe (6.58 MB) completed.
ShimGen has successfully created a shim for kind.exe
The install of kind was successful.
Software install location not explicitly set, it could be in package or default install location of installer.
Chocolatey installed 1/1 packages.
See the Chocolatey log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Using KiND
To use kind, you will need to install Docker. Once you have docker running you can create a Kubernetes cluster with:
To delete your Kubernetes cluster use:
To create a Kubernetes cluster from Kubernetes source:
build a node image and create a cluster with:
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 KiND docs or run kind help via kind [command] –help
Community
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, @munnerz, @aojea, and @amwat - feel free to reach out 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?
- kind supports multi-node clusters (including HA clusters)
- kind supports building Kubernetes release builds from source
- kind is a CNCF certified conformant Kubernetes installer