Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Minikube vs Kubernetes in Docker for Windows

Most tutorials I've seen for developing with Kubernetes locally use Minikube. In the latest Edge release of Docker for Windows, you can also enable Kubernetes. I'm trying to understand the differences between the two and which I should use.

  1. Minikube lets you choose the version of Kubernetes you want, can Docker for Windows do that? I don't see a way to configure it.
  2. Minikube has CLI commands to enable the dashboard, heapster, ingress and other addons. I'm not sure why because my undertstanding is that these are simply executing kubectl apply -f http://....
  3. With Minikube I can do a minikube ip to get the cluster IP address for ingress, how can I do this with Docker for Windows?
  4. Is there anything else different that I should care about.
like image 733
Muhammad Rehan Saeed Avatar asked Jul 06 '18 11:07

Muhammad Rehan Saeed


People also ask

Is Docker desktop using minikube?

We got rid of Docker Desktop and replaced it with Hyperkit (Podman for M1) and Minikube. We can still use the Docker API to manage Dockerfiles and deploy apps in a local Kubernetes cluster.

Can minikube run on Windows?

Minikube follows the same logic as Docker for Windows. If WSL 2 has been installed, it will be used by default. If WSL 2 isn't available, Minikube will try to use the same Hyper-V virtual machine created by Docker for Windows.

Is Windows Good for Kubernetes?

In order to run Windows containers, your Kubernetes cluster must include multiple operating systems. While you can only run the control plane on Linux, you can deploy worker nodes running either Windows or Linux. Windows nodes are supported provided that the operating system is Windows Server 2019.

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 the difference between minikube and Kubernetes?

On the other hand, Minikube has more complete Kubernetes support with multiple add-ons and driver support (e.g. VirtualBox) at the cost of a more complicated configuration. Kubernetes is available in Docker for Mac for 18.06 Stable or higher and includes a Kubernetes server and client, as well as integration with the Docker executable.

Do I need both minikube and Docker for local development?

Docker desktop and minikube are popular options for local development. Do you need both installed for local development or can you save some RAM and run a only one of them. Below are some questions to help you decide which one to use in your situation. Which version of Kubernetes are you running in production?

Can I run Windows Containers with Kubernetes?

If you want to run Windows Containers then: In addition, at the time of writing, Kubernetes is only available in Docker for Windows 18.06 CE Edge. Docker for Windows 18.06 CE Edge includes a standalone Kubernetes server and client, as well as Docker CLI integration.

How to install Kubernetes on Docker?

After a successful installation, you need to explicitly enable Kubernetes support. Click the Docker icon in the status bar, go to “Preferences”, and on the “Kubernetes” tab check “Enable Kubernetes” as shown in the figure below. This will start a single node Kubernetes cluster for you and install the kubectl command line utility as well.


1 Answers

I feel like you largely understand the space, and mostly have answers to your questions already. You might find Docker for Mac vs. Docker Toolbox an informative read, even if it's about the Mac equivalent rather than Windows and about Docker packaged as a VM rather than Kubernetes specifically.

  1. In fact you are stuck with the specific version of Kubernetes the Docker Edge desktop distribution publishes.

  2. is answered in the question.

  3. I believe NodePort-type Services are published on your host's IP address; there isn't an intermediate VM address like there is with Docker Toolbox.

  4. Docker Toolbox and minikube always use a full-blown virtual machine with an off-the-shelf hypervisor. The Docker desktop application might use a lighter-weight virtualization engine if one is available.

  5. Kubernetes can involve some significant background work. If you're using Kubernetes-in-Docker it's hard to "turn off" Kubernetes and still have Docker available; but if you have a separate minikube VM you can just stop it.

like image 127
David Maze Avatar answered Sep 21 '22 04:09

David Maze