Миникуб против Кубернетеса в Docker для Windows - PullRequest
0 голосов
/ 06 июля 2018

В большинстве учебных пособий, которые я видел для разработки с Kubernetes, локально используется Minikube. В последней версии Edge Docker для Windows вы также можете включить Kubernetes. Я пытаюсь понять разницу между ними и тем, что мне следует использовать.

  1. Minikube позволяет выбрать желаемую версию Kubernetes. Может ли Docker для Windows это сделать? Я не вижу способа его настройки.
  2. В Minikube есть команды CLI для включения панели инструментов, heapster, входа и других дополнений. Я не уверен почему, потому что мое понимание состоит в том, что они просто выполняют kubectl apply -f http://....
  3. С Minikube я могу сделать minikube ip, чтобы получить IP-адрес кластера для входа, как я могу сделать это с Docker для Windows?
  4. Есть ли что-то другое, о чем я должен заботиться.

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Вот часть документации Docker :

Kubernetes доступен только в Docker для Windows 18.02 CE Edge.Поддержка Kubernetes не включена в Docker для Windows 18.02 CE Stable.Чтобы узнать больше о каналах Stable и Edge и о том, как переключаться между ними, см. Общая конфигурация.

Docker для Windows 18.02 CE Edge включает в себя автономный сервер и клиент Kubernetes, а также интеграцию Docker CLI.Сервер Kubernetes работает локально в вашем экземпляре Docker, не настраивается и представляет собой кластер с одним узлом.

Сервер Kubernetes работает в контейнере Docker в вашей локальной системе и предназначен только для локального тестирования.Когда поддержка Kubernetes включена, вы можете параллельно развертывать свои рабочие нагрузки на Kubernetes, Swarm и как отдельные контейнеры.Включение или отключение сервера Kubernetes не влияет на другие ваши рабочие нагрузки.

См. Docker для Windows> Начало работы , чтобы включить Kubernetes и начать тестирование развертывания ваших рабочих нагрузок в Kubernetes.

Если у вас достаточно ресурсов ЦП и ОЗУ, вы можете легко располагать и minikube и docker-for-desktop на одном компьютере и переключаться между ними, выбирая контекст, например:

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

В настоящее время нет места для выбора версии Kubernetes для docker-for-desktop .Это предварительно выбранный в дистрибутиве Docker.

К сожалению, версия docker внутри мини-куба отстает по сравнению с доступной на сайте докера, и некоторые функции могут отсутствовать , но если вас интересует среда Kubernetes, в большинстве случаев это не имеет значения.

Некоторые функции Kubernetes зависят от внешних ресурсов и могут быть недоступны для вас при локальной установке,Например, вам нужна возможность создать Cloud Load Balancer для использования некоторых типов объектов Ingress или Service.

Но другие ресурсы можно легко запустить внутри minikube или docker-for-desktop.использование kubectl create/apply.

Для внешнего доступа к ресурсам кластера вы можете использовать Контроллер входа Webhook Relay .
Вот ссылка на руководство по установке.

0 голосов
/ 06 июля 2018

Я чувствую, что вы в значительной степени понимаете пространство и в основном уже имеете ответы на свои вопросы. Вы можете найти Docker для Mac против Docker Toolbox в информативном прочтении, даже если речь идет об эквиваленте Mac, а не Windows, и о Docker, упакованном как ВМ, а не как Kubernetes.

  1. На самом деле вы застряли в конкретной версии Kubernetes, которую публикует дистрибутив Docker Edge для настольных систем.

  2. ответ на вопрос.

  3. Я считаю, что службы типа NodePort публикуются на IP-адресе вашего хоста; промежуточный виртуальный адрес отсутствует, как в Docker Toolbox.

  4. Docker Toolbox и minikube всегда используют полноценную виртуальную машину с готовым гипервизором. Настольное приложение Docker может использовать более легковесный механизм виртуализации, если таковой имеется.

  5. Kubernetes может включать в себя некоторые важные фоновые работы. Если вы используете Kubernetes-in-Docker, трудно «отключить» Kubernetes и все еще иметь Docker в наличии; но если у вас есть отдельная виртуальная машина Minikube, вы можете просто остановить ее.

...