Kubernetes - проблема развертывания частного репозитория - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь развернуть образ докера из небезопасного репозитория с использованием Kubernetes.Я сделал несколько параметров конфигурации, чтобы объявить хранилище незащищенным, а также мог убедиться, что хранилище стало небезопасным.

Все еще пытаясь развернуть этот пример приложения из Kubernetes через

Создание Dashboard / deploy.yaml / secret pod всеми 3 способами при попытке развернуть образ докера из небезопасного частного реестра. Я вижу ошибку ниже.Просьба оказать некоторую помощь в решении этой же проблемы.

 Events:
  Type     Reason     Age                  From                  Message
  ----     ------     ----                 ----                  -------
  Normal   Scheduled  41m                  default-scheduler     Successfully assigned registry/private-insecure-reg to kube-node-2
  Warning  Failed     40m (x2 over 40m)    kubelet, kube-node-2  Failed to pull image "x.x.x.x:5000/x-xxx": rpc error: code = Unknown desc = Error response from daemon: manifest for x.x.x.x:5000/x-xxx:latest not found
  Normal   BackOff    39m (x6 over 41m)    kubelet, kube-node-2  Back-off pulling image "127.0.0.1:5000/my-ubuntu"
  Normal   Pulling    39m (x4 over 41m)    kubelet, kube-node-2  pulling image "127.0.0.1:5000/my-ubuntu"
  Warning  Failed     39m (x2 over 41m)    kubelet, kube-node-2  Failed to pull image "x.x.x.x:5000/x-xxx": rpc error: code = Unknown desc = Error response from daemon: received unexpected HTTP status: 502 Bad Gateway
  Warning  Failed     39m (x4 over 41m)    kubelet, kube-node-2  Error: ErrImagePull
  Warning  Failed     52s (x174 over 41m)  kubelet, kube-node-2  Error: ImagePullBackOff

Ответы [ 2 ]

2 голосов
/ 14 мая 2019

Вы использовали обычный докер для настройки регистрации на главном узле kubernetes. Следовательно, он доступен для localhost или 127.0.0.1 только на самом главном узле. Вы пытаетесь получить изображение из других узлов, в соответствии с вашим лог-файлом kube-node-2. На этом узле нет реестра на локальном хосте. Но поскольку вы получаете ошибку шлюза, похоже, что что-то прослушивает порт 5000, а не реестр.

Вот как вы можете решить эту проблему: добавьте DNS-имя для IP-адреса главного узла, чтобы каждый узел мог получить к нему доступ, используя простое имя. Если вы не хотите настраивать сертификаты TLS, вы должны настроить каждый демон-контейнер, чтобы считать ваш реестр незащищенным (без HTTPS). См. Форму ответа A_Suh для настройки демона docker.

1 голос
/ 14 мая 2019

1) Необходимо настроить службу Docker для использования незащищенного реестра, отредактировав файл /etc/default/docker и обновив DOCKER_OPTS, например,

DOCKER_OPTS='--insecure-registry 127.0.0.1:5000'

2) перезапустите Docker

sudo systemctl restart docker
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...