Как правильно настроить Docker и Kubernetes для использования локальных image на Линуксе?
Не выходит использовать локальные имеджи на линуксе при попытке создать Pod, постоянно выдает ошибку ErrImagePull или ImagePullBackoff, а в описании пишет что имеджа не существует либо нужно логиниться для его использования, то есть постоянно идут попытки стянуть имедж с докер хаба, а не с локального хранилища. Пробовал использовать миникуб как с докер драйвером, так и с виртуалбоксом - результат одинаковый. При использовании с виртуалбоксом также использовал команду "eval $(minikube docker-env)" - результат тот же. Пробовал задавать в yaml конфиге ImagePullPolicy: IfNotPresent - не помогло. В общем работает только если на самом деле загрузить имедж на докер хаб, тогда при создании Pod-а он скачивается и Pod создается и работает без ошибок (с докер драйвером или виртуалбоксом не имеет значения - работает). Существует вообще вариант использовать локальные имеджи и не прибегать к докер хабу?
Дмитрий Шицков, я их никак не раскидываю, у меня докер работает на ноутбуке и я его использую для обучения, соответственно у меня только один нод в котором все контейнеры. Я изначально делаю имедж с тэгом 0.0.1, затем пишу yaml конфиг в котором указываю этот имедж с данным тэгом, выполняю kubectl apply -f <имя файла> после чего создается под с описанными выше ошибками. Совет комментатора перед вами совпадает с советом автора курса по которому я учусь, однако также выходит ошибка, написал её в ответе. У автора курса macOs, может на ней это и сработало бы.
Про docker registry не понял, зачем мне это вообще, для обучения такие сложности не нужны и в курсе прекрасно все работает с локальными имеджами.
Никита Белецкий, окей, я не в курсе вашей ситуации с обучением, поэтому и написал про то как принято делать в реальных условиях. При обучении это, понятное дело, без надобности.
Предположу что вы имейдж создаете на своем ноутбуке, а не на ноде в minikube. Так как minikube запускает каждую ноду в виде виртуальной машины, доступа к хранилищу имейджей на вашем ноутбуке он не имеет
Дмитрий Шицков, большое спасибо за ответ, натолкнуло написать правильный вопрос в гугле. Решением в итоге можно считать добавление имеджа в кэш minikube командой "minikube cache add имя_имеджа". Также советуют все же в конфиге добавить imagePullPolicy: Never, однако работает и без этого, в описании пода есть "Container image already present on machine", так что minikube даже не пытается соединяться с докер хабом.
Решением в итоге можно считать добавление имеджа в кэш minikube командой "minikube cache add имя_имеджа". Также советуют в конфиге добавить imagePullPolicy: Never, однако работает и без этого, в описании пода есть "Container image already present on machine", так что minikube даже не пытается соединяться с докер хабом.