kind(multi-node (including HA) clusters) for Dev and Test

Vaseem Khan
2 min readNov 6, 2020

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.

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 Linux, macOS and Windows
  • kind is a CNCF certified conformant Kubernetes installer

Installation and usage

NOTE: kind does not require kubectl, but you will not be able to perform some of the examples in our docs without it. To install kubectl see the upstream reference here https://kubernetes.io/docs/tasks/tools/install-kubectl/

On Linux

curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64

chmod +x ./kind

mv ./kind /some-dir-in-your-PATH/kind

On Mac (homebrew):

brew install kind

On Windows:

curl.exe -Lo kind-windows-amd64.exe https://kind.sigs.k8s.io/dl/v0.9.0/kind-windows-amd64

Move-Item .\kind-windows-amd64.exe c:\some-dir-in-your-PATH\kind.exe

Creating a Cluster

Creating a Kubernetes cluster is as simple as

kind create cluster

kind create cluster — name kind-2

Interacting With Your Cluster

After creating a cluster, you can use kubectl to interact with it by using the configuration file generated by kind.

By default, the cluster access configuration is stored in ${HOME}/.kube/config if $KUBECONFIG environment variable is not set.

When you list your kind clusters, you will see something like the following:

kind get clusters

kind

kind-2

In order to interact with a specific cluster, you only need to specify the cluster name as a context in kubectl:

kubectl cluster-info — context kind-kind

kubectl cluster-info — context kind-kind-2

Deleting a Cluster

If you created a cluster with kind create cluster then deleting is equally simple:

kind delete cluster

If the flag — name is not specified, kind will use the default cluster context name kind and delete that cluster.

Resources: https://kind.sigs.k8s.io/docs/user/quick-start

--

--

Vaseem Khan
0 Followers

A technology geek, learner, enthusiast, DevOps guy, working as DevOps Manager