Создайте модуль из реестра, работающего в том же кластере
Я использую Harbor Registry на своем кластере, и у меня нет проблем с передачей и извлечением изображений из-за пределов кластера.
Теперь я хотел бы иметь возможность создать модуль из этого реестра. Что-то вроде этого:
.
kubectl run -i --tty --rm debug --image=harbor.harbor.svc.cluster.local/test/alpine:latest --restart=Never -- sh
.
Это возможно?
Обновить
Если я пытаюсь получить доступ к реестру по имени службы harbor.harbor.svc.cluster.local
это не работает, потому что имя хоста не найдено.
Как я могу ссылаться на мое изображение?
3 ответа
Как упомянуто в комментарии @Rajesh, вам нужно создать службу типа NodePort, если вы находитесь в одной подсети с вашими узлами или если вы используете какое-то облако для кластера, такого как AWS, GKE, также вы можете создать службу типа LoadBalancer и получить доступ через External Loadbalancer в ваш реестр.
Да, это возможно. Существует также концепция локального реестра, который является частью кластера, и вы можете извлекать изображения из них. Даже OpenShift поставляется с локальным реестром.
Ну, это не один вызов установки, как вы предполагаете. Существует ряд шагов (считаются предварительными условиями), которые вы должны выполнить, чтобы отсортировать это:
- Настройте локальный реестр на узле
- Настройка сертификатов докера - требуется для безопасного доступа к локальному реестру из вашего модуля
- Настройка секрета k8s, который будет частью вашего развертывания - необходим для доступа к локальному реестру на узле
- Наконец, само развертывание