Создание модулей kubernetes без использования публичного / частного реестра докеров
В новой версии нашего продукта мы хотим перейти на новые технологии (kubernetes), чтобы мы могли воспользоваться его услугами. у нас в приложении работает локальное приложение kubernetes. мы сделали докатеризацию наших приложений, и теперь мы хотим использовать образы для их интеграции с kubernetes для создания кластера --pods, но мы застряли в реестре докеров, так как наш клиент не хочет иметь никакого публичного / частного репозитория докеров (реестра) где мы можем загрузить эти изображения. у нас есть попытка (сохранение в Docker и загрузка в Docker), но безуспешно (ошибка: portal-66d9f557bb-dc6kq 0/1 ImagePullBackOff) Возможно ли вообще иметь некоторую файловую систему, откуда мы можем получить доступ к этим изображениям, или любая другая альтернатива приветствуется, если это решает наши проблемы (нет частного / публичного репозитория / реестра).
1 ответ
Реестр Docker в некотором роде - все, кроме требования для запуска Kubernetes. Платный Docker Hub поддерживает частные изображения; В Google и Amazon размещены продукты реестра (соответственно, GCR и ECR); существуют сторонние реестры; или вы можете развернуть официальный образ реестра локально.
Есть альтернативный путь, где вы docker save
каждое частное изображение, на которое вы ссылаетесь в любой спецификации Kubernetes pod, docker load
это на каждом узле. Это имеет очевидные проблемы с масштабированием и обслуживанием (когда кто-либо обновляет любое изображение, вам необходимо повторно развернуть его вручную на каждом узле). Но если вам действительно нужно попробовать это, убедитесь, что ваши спецификации модуля указывают ImagePullPolicy: Never
чтобы не пытаться получить данные из реестров. (Если что-то отсутствует на узле, модуль просто не запустится.)
Реестр является "просто" службой HTTP REST с открытым исходным кодом, которая реализует API реестра Docker, если это помогает вашей истории развертывания.