kubernetes,

Multiple ways to run Kubernetes clusters locally

Jan 20, 2022 · 2 mins read · Post a comment
Multiple ways to run Kubernetes clusters locally

Kubernetes, the most popular container orchestration platform out there, needs no introduction. Let’s explore a couple of ways and tools on deploying K8s clusters on your local machine.

Minikube

Minikube is kind of an entry level and best tool for local K8s app development, which comes with the following features:

  • It’s free and open source.
  • Works with Linux, macOS and Windows.
  • You can deploy it as a VM, a container, or even bare-metal. Supports multiple drivers depending on the underlying OS, including: KVM2, VBox, VMWare, HyperV, Docker, Podman, etc.
  • Supports advanced features, like LoadBalancers.
  • Multiple container runtimes.

On a side note, it’s a bit difficult for first-time setup, since you must be familiar with the underlying VM drivers.

Official documentation: https://minikube.sigs.k8s.io/docs/

Docker Desktop

Docker Desktop is a GUI-based application for developing and building containerized apps locally. It’s only available for macOS and Windows though. Other than that:

  • It’s easy to install and use (just enable the K8s feature).
  • If something breaks, just restart the app.
  • Uses docker-shim as container runtime.
  • Might consume most of your memory/CPU.

Official documentation: https://docs.docker.com/desktop/

kind

Kind runs Kubernetes inside a Docker container hence being the most lightweight choise. Few things about it:

  • Free and open source.
  • Deploying cluster is super fast.
  • Uses containerd as a runtime (docker-shim is depricated).
  • Can be run in CI environments.

Official documentation: https://kind.sigs.k8s.io

Rancher Desktop

Rancher Desktop can be looked as an alternative to Docker Desktop, but on a positive note, it runs on Linux as well. What’s great about Rancher Desktop:

  • Free and open source.
  • Easy to install and setup.
  • Uses k3s under the hood.
  • Supports containerd and dockerd as a container runtimes.

Official documentation https://docs.rancherdesktop.io

Worthy alternatives

Conclusion

If you are beginner and not being comfortable with the CLI yet, the best one to start with will probably be Docker / Rancher Desktop. Alternately, kind is the way to go.
Feel free to leave a comment below and if you find this tutorial useful, follow our official channel on Telegram.