Как использовать локальные образы докеров с 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