Не удается получить локальный Kubernetes (minikube) для извлечения из локального реестра Docker

#docker #kubernetes #docker-registry #minikube

#docker #kubernetes #docker-registry #minikube

Вопрос:

Я чувствую себя здесь довольно глупо. Я хочу, чтобы K8s извлекал образы Docker из локального реестра, чтобы обеспечить максимально быстрый цикл разработки.

Я настроил локальный реестр в соответствии с инструкциями и использую небезопасный реестр. Я загрузил в него изображения и подтвердил, что они находятся в реестре, заглянув в него, используя расширение Docker от VS Code:

Изображения Docker

Я действительно не знал, использовать ли localhost , $MACHINE_NAME или $LOCAL_IP_ADDRESS , поэтому я сделал все три.

Я могу успешно извлечь изображение из этих реестров через командную строку. Однако, когда K8s (запущенный через minikube) пытается извлечь данные, происходит сбой:

Не удалось извлечь изображение «localhost: 5000 / service1»: ошибка rpc: код = неизвестен desc = Ответ с ошибкой от daemon: Gethttp://localhost:5000/v2 /: набрать tcp 127.0.0.1: 5000: подключиться: соединение отклонено

Почему это и как я могу исправить?

Комментарии:

1. вместо использования localhost вы должны использовать IP-адрес, который сопоставляет minikube с localhost хост-компьютера. Обычно это 10.0.2.2 или 10.0.2.15 зависит от вашего драйвера виртуальной машины. Вы можете определить, используя запуск ifconfig внутри minikube, и проверить ip в форме 10.0.2.* Эта проблема с github может помочь: github.com/kubernetes/minikube/issues/2735

Ответ №1:

Возможно, вы захотите прочитать этот блог, в котором содержатся отличные подробности о том, как настроить реестр на minikube.

https://blog.hasura.io/sharing-a-local-registry-for-minikube-37c7240d0615/

Идея здесь заключается в том, чтобы демон docker на minikube мог извлекать данные из реестра с именем localhost: 5000. Это достигается фактическим запуском реестра на minikube, а затем настройкой прокси-сервера таким образом, чтобы порт 5000 виртуальной машины minikube соответствовал порту 5000 реестра.