kubernetes kind

kind

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 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:

COPY
kind create cluster

To delete your cluster use:

COPY
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
COPY
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