Может ли версия Docker Desktop работать с Kubernetes?

Насколько я понимаю, Kubernetes kubelet общается с CRI (Container Runtime Interface) для запуска контейнеров. Таким образом, каждая среда выполнения контейнера, которая используется в Kubernetes, должна соответствовать реализации CRI (https://www.ianlewis.org/en/container-runtimes-part-4-kubernetes-container-run). Версия Docker Desktop не запускает ни dockerd, ни containerd. Он запускает HyperKit для виртуализации высокого уровня. Соответствует ли он CRI и может ли он использоваться с Kubernetes?


person sn.anurag    schedule 29.05.2019    source источник


Ответы (1)


Hyperkit - это не CRI, это гипервизор, такой как VirtualBox, который используется для Docker Desktop for Mac. Из официальной документации Docker

Docker Desktop для Mac использует HyperKit вместо Virtual Box. Hyperkit - это легкое решение для виртуализации macOS, построенное на основе Hypervisor.framework в macOS 10.10 Yosemite и выше.

Если вы посмотрите этот блог, он очень хорошо объясняет отношения между гипервизорами и CRI.

Подключение к Docker-Hyperkit

Как вы можете видеть на изображении выше, Docker Container Engine (или containerd) находится в верхней части ядра Linux, поэтому он не имеет ничего общего с гипервизорами. В этом основное различие между виртуальными машинами и контейнерами. Если у вас есть ядро ​​Linux, вы можете запустить там свой CRI.

Итак, Docker Desktop с Hyperkit будет работать с Kubernetes.

Надеюсь, это поможет!

person coolinuxoid    schedule 03.06.2019
comment
Да .. понял. :) - person sn.anurag; 06.06.2019
comment
Итак, насколько я понимаю этот пост, Docker Engine работает внутри встроенного Linux (внутри Hyperkit). На Mac доступен только двоичный файл клиента докера и /var/run/docker.sock. contianerd и containerd.sock должны быть на встроенном Linux Hyperkit. Установка Kubernetes на Mac определит, что CRI - это докер из docker.sock, а использование двоичного файла клиента докера будет выполнять все операции. Я правильно понимаю? - person sn.anurag; 06.06.2019
comment
Частично да, но движок Docker не работает во встроенном Linux Hyperkit, он работает в операционной системе виртуальной машины, созданной Hyperkit (гипервизор). Если ответ был полезен, примите его - person coolinuxoid; 06.06.2019