Ошибка проверки прав доступа при попытке отправки в частный небезопасный реестр докеров - PullRequest
0 голосов
/ 05 ноября 2019

Я использую gitlab runner на kubernetes, kaniko, чтобы отправить изображение в личный реестр докеров (небезопасно), как я могу дать разрешения на push-уведомление kaniko?

Я пытался --insecure-registry, --skip-tls-проверить параметры, но есть та же ошибка

build:
  stage: build
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
  script:
    - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --insecure-registry --destination registry-ip:5000/soccer

ошибка проверки прав доступа - убедитесь, что вы ввели правильное имя тега, и что вы аутентифицированы правильно, и попробуйте снова: проверка прав доступа для "реестра"-ip: 5000 / soccer ": Post http://registry -ip: 5000 / v2 / soccer / blobs / uploads / : net / http: HTTP / 1.x разорвано транспортное соединение: неправильный ответ HTTP" \x15 \ x03 \ x01 \ x00 \ x02 \ x02 \ x16"

1 Ответ

0 голосов
/ 05 ноября 2019

Перемещение в незащищенные реестры требует изменения демона Docker. Демон Docker (независимо от того, какое время вы используете для кластера Kubernetes, например, Docker, Containerd и т. Д. Я предполагаю, что вы используете демон Docker) необходимо отредактировать, чтобы разрешить небезопасные реестры. Отредактируйте /etc/docker/daemon.json и добавьте следующее:

{
    "insecure-registries" : [ "registry-ip:5000" ]
}

Затем перезапустите докер на каждом из узлов.

Лучше было бы добавить некоторую форму аутентификации через локальный реестр докеров. Вы можете включить базовую аутентификацию HTTP в реестре Docker. Или вы можете настроить SSL в реестре Docker с подписанным сертификатом (однако самозаверяющие сертификаты должны быть добавлены в демон Docker, прежде чем они станут доверенными).

...