Как использовать локальные образы докеров с microk8s?

Я использую Minikube для локального тестирования Kubernetes. В minikube мы можем использовать локальные образы докеров, используя eval $(minikube docker-env) команда.

Я начал изучать microk8s. Установил microk8s с помощью оснастки на моей машине, работающей на Ubuntu 18.

Есть ли способ использовать локальные образы докеров с microk8s, как мы используем minikube для тестирования и разработки, кроме создания локального реестра докеров?

microk8s.docker Команда также не работает, она показывает:

Команда 'microk8s.docker' не найдена, но может быть установлена ​​с помощью:

быстро установить microk8s

но его уже установили.

1 ответ

Microk 8s имеет частный реестр, который можно использовать для этой цели.

Вы должны предварительно включить реестр с помощью следующей команды

$ microk8s.enable registry

Реестр сопоставляет трафик с портом 32000, поэтому вам придется отправить образ докера в реестр. Если изображение уже присутствует на локальном компьютере, вы можете использовать команду docker tag. $docker tag localhost:32000/ $docker push localhost:32000/.

используйте https://microk8s.io/docs/registry-built-in для получения дополнительной информации.

К сожалению, вы не предоставили версию microk8 и ваши шаги.

Я предполагал, что ты использовал sudo snap install microk8s --classic Команда для установки. В настоящее время он загрузит v1.14.0.
Вы можете проверить свою версию, используя snap info microk8s

Версия 1.14.0 внесла изменения в microk8s.daemon-docker и изменила его на microk8s.daemon-containerd. Из-за этого изменения microk8s не может выполнять команды Docker. Microk8s содержит демон-докер между версиями 1.11 и 1.13.

Если вы привыкли использовать Docker, установите microk8s v1.13 sudo snap install microk8s --classic --channel=1.13/stable

Для будущего использования:

1) Установите microk8s - sudo snap install microk8s --classic --channel=1.13/stable (если все еще хотите использовать докер)

2) Убедитесь, что microk8s запущен - microk8s.start (Вы можете остановить это microk8s.stop)

3) Проверьте, какие службы запущены - microk8s.inspect

4) Команды в microk8s отличаются префиксом, т.е. вместо - kubectl get all --all-namespaces вам нужно использовать microk8s.kubectl get all --all-namespaces (позже вы можете использовать псевдонимы, чтобы изменить его)

5) Вы можете создать изображение через Dockerfile, используя microk8s.docker build . (не забудьте иметь Dockerfile и "." в конце команды).

Вы всегда можете проверить документацию Microk8s

Другие вопросы по тегам