Нужен ли Docker для Kubernetes? - PullRequest
0 голосов
/ 02 июля 2018

Сценарий:

Мне нужно создать веб-приложение, из которого я могу запустить / sop / delete / и т.д. контейнеры в кластере. Поэтому я установил Kubernetes и протестировал API с консоли. Кажется, все работает и выглядит хорошо.

Следуя Документам, они пишут о Докере, но мне это обязательно нужно?

Я имею в виду, что мне пришлось отключить Hyper-V, чтобы заставить Minikube работать, и после перезагрузки Docker (который обычно запускается при запуске) говорит, что "что-то пошло не так ... бла-бла" ... но я могу создавать развертывания и proxys на Minikube.
Это как-то сбивает с толку.

Может кто-нибудь объяснить это, пожалуйста, для чайников?

Ответы [ 3 ]

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

Если вы используете minikube в OSX или Linux, вы можете настроить Docker для использования среды minikube , запустив

eval $(minikube docker-env)

Когда вы делаете это, вам не нужно отдельное настольное приложение Docker. Технически вы все еще используете Docker и Kubernetes, но вы не будете использовать установку со значком «кит» в OSX.

По сути, Kubernetes берет на себя ответственность за запуск и управление контейнерами Docker. (Или, возможно, другие вещи, но почти всегда контейнеры Docker.) Это более сложный и более мощный инструмент, аналогичный Docker Compose и Docker Swarm. Minikube - очень маленький кластер Kubernetes, который работает внутри виртуальной машины; если вы запустите kubectl get nodes, вы увидите один узел виртуальной машины, включая копию Docker.

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

Как уже упоминалось выше, вам нужен любой контейнер времени выполнения. Кубернетес и докер являются частью экосистемы. Оба имеют разные обязанности: kubernetes управляет работоспособностью кластера и запускает контейнеры приложений в Docker.

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

Технически, вам нужно время выполнения контейнера , которое учитывает CRI (интерфейс выполнения контейнера) .

https://d3vv6lp55qjaqc.cloudfront.net/items/0I3X2U0S0W3r1D1z2O0Q/Image%202016-12-19%20at%2017.13.16.png

Именно поэтому у вас есть CRI-O , который обеспечивает путь интеграции между средами выполнения, совместимыми с OCI, и кублетом.
См. « CRI-O, проект по запуску контейнеров без докера, достигший 1,0 » Сьюзен Холл .

Проект «открывает дверь для более простого подключения альтернативных контейнеров в кубеле , вместо того, чтобы полагаться на среду выполнения докера по умолчанию.

Эти новые среды выполнения могут включать в себя виртуальные машины, такие как runv и Clear Containers , или стандартные среды выполнения контейнеров Linux, такие как rkt, ” Red Hat старший инженер Антонио Мурдака написал в Project Atomic blog .


Но в вашем случае ваша проблема заключается в том, чтобы заставить Minikube работать с HyperV: см. « Minikube в Windows 10 с Hyper-V » от Джок Рид .
Хитрость заключается в том, чтобы создать новый (внешний) виртуальный сетевой коммутатор с именем «Основной виртуальный коммутатор» и запустить Minikube с помощью:

minikube start --vm-driver hyperv --hyperv-virtual-switch "Primary Virtual Switch"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...