☸️ Решение ошибок в Harbor Docker / Kubernetes |

☸️ Решение ошибок в Harbor Docker / Kubernetes

Мануал

До этого мы рассмотрели как установить Harbor:

☸️ Установка Harbor — реджестри образов в Kubernetes / OpenShift с помощью Helm

Невозможно использовать учетную запись robot. ImagePullBackOff pull access denied

Это руководство в основном посвящено robot аккаунтам Harbor.

Robot accounts – это учетные записи, используемые для выполнения автоматических операций.
Учетная запись для вашего CI или секретных пользователей k8s.
Вы можете создать robot account, перейдя в:
Project -> Robot Accounts -> New Robot Account

Проблема

Harbour заставляет делать имя пользователя учетной записи робота быть следующим: robot$<account_name>.
Префикс $robot делает его легко отличимым от обычной учетной записи пользователя Harbour
Пример:
При добавлении секрета в kubernetes (через ранчер) я получаю:
Error: ImagePullBackOff

Когда я сохраняю имя пользователя как robot$rancher как переменную среды gitlab.

Он не хранит ничего после знака $.

$ echo $HARBOR_USERNAME
robot

Выполнение входа в одну строку не работает:

echo -n $HARBOR_PASSWORD | docker login -u "robot$gitlab_portal" --password-stdin $HARBOR_REGISTRY
однако выполнение этого метода работает:
docker login $HARBOR_REGISTRY
username: ...
password: ...

Кажется, проблема в имени пользователя:

$ export HARBOR_USERNAME="robot$gitlab_portal"
$ echo $HARBOR_USERNAME
robot

Исправление ошибки

На гитхабе пользователь предложил процитировать пароль:


docker login <url> -u '<robot$name>' -p '<token>
это сработало.

Итак, в вашем файле gitlab ci вы можете сделать:

echo -n $HARBOR_PASSWORD | docker login -u 'robot$gitlab_portal' --password-stdin $HARBOR_REGISTRY

Также это помолгло избавиться от ошибки:

Error: Cannot perform an interactive login from a non TTY device

Error response from daemon: Get http://[MASKED]/v2/: unauthorized: authentication required

Чтобы решить эту проблему вы можете добавить переменную как robot$$user

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий