Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there major difference between Minikube and Kind?

Tags:

kubernetes

I know Kind needs Docker, and Minikube needs Virtual Box - but for learning Kubernetes features are they the same?

Thank you.

like image 785
Angkan J Avatar asked Jun 25 '20 23:06

Angkan J


People also ask

What is the difference between minikube and Kubernetes?

Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. On the other hand, minikube is detailed as "Local Kubernetes engine".

What is a kind in Kubernetes?

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.

What is the difference between minikube and MicroK8s?

Minikube is the easiest overall to use, but it's not a production-grade solution. K3s is the easier production-grade lightweight distribution. MicroK8s provides the greatest degree of control, but it's a bit harder to install and configure than the other distributions.


1 Answers

In terms of learning Kubernetes features, they are the same. You will get the same Kubernetes and Kubernetes resources in both: Pod, Deployments, ConfigMaps, StatefulSets, Secrets, etc. assuming they both have the same Kubernetes version.

Under the hood they very similar too with some implementation differences.

  • Minikube

    • Runs K8s in VM (1.7.0 vesion now supports running minikube on Docker)
    • Support multiple Hypervisors (VirtualBox, Hyperkit, parallels, etc)
    • You need to ssh to VM to run docker. (minikube ssh)
    • On the positive side, if you are using VMs, you get the VM isolation which is 'more secure' per se.
    • Update: It does support running in docker with --driver=docker
  • Kind

    • Runs Docker in a VM (Part of the docker desktop installation for Mac, or Windows)
    • Runs Kubernetes in that "Docker" VM
    • Supports Hyperkit (Mac) or Hyper-V (Windows) hypervisors.
    • Has the convenience that you can run the docker client from your Mac or Windows.
    • You can actually run it in Linux with no need to use a VM (It's a docker native installation on Linux)
    • It runs all K8s components in a single container.
like image 94
Rico Avatar answered Sep 20 '22 18:09

Rico