Setting up a Kubernetes cluster is getting simpler with time. There are several turnkey solutions available in the market, and no one currently does it the hard way!
Notably, Minikube has been one of the go-to clusters for developers to get started with development and testing their containers quickly. While Minikube currently supports a Multi-node cluster in an experimental phase, it isn’t GA yet.
Therefore, this becomes a limitation for integration and component testing, and most organisations rely on cloud-based managed Kubernetes services for that.
Integrating Kubernetes in the CI/CD pipeline and doing a test requires multiple tools, such as Terraform, a dependency on a cloud provider, and of course a CI/CD tool such as Jenkins, GitLab, or GitHub.
While these are viable options for large-scale companies that have the budget, developers are often looking for something that can get them started quickly. Spinning up a Kubernetes cluster on the cloud also takes some time (~10 mins), which might be a hindrance for CI, where you need to get builds quickly.
Kubernetes in Docker, or KinD, is an implementation of a Docker-in-Docker (DinD) approach for Kubernetes. This tool creates containers to act as Kubernetes nodes, and all you need is Docker installed on your machine.
It allows you to spin up a multiple-node cluster in a couple of minutes with no dependency on any other tool or cloud provider. That makes it not only useful for local development but also CI/CD.
#kubernetes #docker #containers