Minikube vs Kubernetes in Docker for Windows

后端 未结 2 2003
清歌不尽
清歌不尽 2021-01-31 16:40

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 u

2条回答
  •  离开以前
    2021-01-31 17:39

    Here is a part from Docker documentation:

    Kubernetes is only available in Docker for Windows 18.02 CE Edge. Kubernetes support is not included in Docker for Windows 18.02 CE Stable. To find out more about Stable and Edge channels and how to switch between them, see General configuration.

    Docker for Windows 18.02 CE Edge includes a standalone Kubernetes server and client, as well as Docker CLI integration. The Kubernetes server runs locally within your Docker instance, is not configurable, and is a single-node cluster.

    The Kubernetes server runs within a Docker container on your local system, and is only for local testing. When Kubernetes support is enabled, you can deploy your workloads, in parallel, on Kubernetes, Swarm, and as standalone containers. Enabling or disabling the Kubernetes server does not affect your other workloads.

    See Docker for Windows > Getting started to enable Kubernetes and begin testing the deployment of your workloads on Kubernetes.

    If you have enough CPU and RAM resources, you can easily have both, minikube and docker-for-desktop on the same machine and switch between them by selecting the context, e.g.:

    > kubectl config get-contexts
    > kubectl config use-context docker-for-desktop
    

    There is no place at the moment to choose the Kubernetes version for docker-for-desktop. It is preselected in the Docker distribution package.

    Unfortunately, version of docker inside the minikube is a step behind compared to available on the docker website, and some features could be missing, but if you are interested in Kubernetes environment, it doesn't really matter in most cases.

    Some of the features of Kubernetes rely on external resources and could be unavailable for you in case of local installation. For example, you need an ability to create Cloud Load Balancer to use some types of the Ingress or Service objects.

    But other resources can be easily started inside the minikube, or docker-for-desktop using kubectl create/apply.

    To expose your cluster resources externally, you can use Webhook Relay Ingress controller.
    Here is a link to the installation manual.

提交回复
热议问题