Подключение к реестру образов codefresh через kubectl, проблема с секретами

Я пытаюсь развернуть приложение через kubectl, используя образ, хранящийся в Codefresh. У меня он отлично работает, когда я помещаю образ в общедоступный реестр.

Проблема в том, что когда я применяю файл deployment.yaml, я получаю сообщение об ошибке «ImagePullBackOff» в модулях. Я предполагаю, я думаю правильно, что это потому, что мне нужен секрет, чтобы иметь доступ к моему образу Codefresh.

Это контейнерная часть моего текущего развертывания.yaml:

spec:
      containers:
        - name: dockapp
        #States the image that will be put inside the pod. Secret to get access is declared below
        #registry.hub.docker.com/jamiedovu/dockapp:latest
          image:  r.cfcr.io/jamiew87/my-app-image:master
          ports:
          - containerPort: 8080
            name: http
      imagePullSecrets:
      - name: regcred

Мой вопрос в том, что мне нужно указать в секрете «regcred», чтобы иметь возможность подключиться к этому частному реестру. Документация Kubernetes демонстрирует только то, как это сделать для докера.

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
0
0
65
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я думаю это объясняется в документах.

export DOCKER_REGISTRY_SERVER=r.cfcr.io
export DOCKER_USER=YOUR_USERNAME
export DOCKER_PASSWORD=YOUR_REGISTRY_PASSWORD
export DOCKER_EMAIL=YOUR_EMAIL

kubectl create secret docker-registry cfcr\
 --docker-server=$DOCKER_REGISTRY_SERVER\
 --docker-username=$DOCKER_USER\
 --docker-password=$DOCKER_PASSWORD\
 --docker-email=$DOCKER_EMAIL

ОК, эта часть помогает. Я не вхожу в codefresh напрямую, я использую Oauth через Google, что означает, что у меня нет пароля для codefresh, так что бы я вставил в это поле?

JamWill 29.05.2019 16:28

Для людей в будущем с проблемами, Репозиторий codefresh — это настоящий репозиторий докеров. Незнание этого доставляло мне проблемы. Таким образом, в местах docker-username и т. д. вы указываете свои учетные данные для обновления кода, а вместо пароля вы указываете секрет, который вы генерируете в коде. Это дает вам доступ к репозиторию r.cfcr.io.

Другие вопросы по теме