Реестр докеров JFrog не тянет изображения в Kubernetes - PullRequest
0 голосов
/ 12 марта 2019

Я использую JFrog в качестве реестра Docker. Если я пытаюсь вручную вытащить изображение, оно вытягивает изображение. Но когда я пытаюсь сделать то же самое, включив в себя команду helm chart и helm install, выдается сообщение об ошибке: «Ошибка: ImagePullBackOff», «вытягивание изображения имя_реестра / jfrogk8s: 1.0» «Не удалось получить изображение имя_реестра / jfrogk8s: 1.0: ошибка rpc: code = Unknown desc = Ответ об ошибке от демона: Get https://dip -docker-dip.bintray.io / v2 / jfrogk8s / manifest / 1.0 : не авторизовано: не авторизовано "

Я включил реестр докеров в "/etc/docker/daemon.json"

1 Ответ

2 голосов
/ 12 марта 2019

В нем четко сказано - unauthorized: Unauthorized

Реестр докера не вызывается при извлечении внутреннего образа, даже если вы поместили docker registry in "/etc/docker/daemon.json" в среду kubernetes.Следовательно, вам нужно создать Docker Registry Secret, а затем использовать его при установке helm, чтобы сказать kubernetes извлечь внутренний образ, используя этот секрет:

kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>

где:

  • <your-registry-server> - ваше полное доменное имя в реестре частных докеров.(https://index.docker.io/v1/ для DockerHub)

  • <your-name>: это ваше имя пользователя в Docker.

  • <your-pword>: ваш пароль Docker.
  • <your-email>: это ваш адрес электронной почты Docker.

Чтобы проверить, создан ли секрет реестра Docker regcred, выполните

kubectl get secret regcred --output=yaml

Затем в ваших таблицах руля value.yaml добавьте следующую строку

imagePullSecret: regcred

Если вам нужно сделать это так, как Куберентес, ваш deploy.yaml будет выглядеть так:

apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: regcred
...