2016-04-15 7 views
0

Я использую Openshift Origin в контейнере Docker и вытащил изображение из реестра Docker (контейнер на той же VM-хосте RHEL), используя :Openshift Origin run-app против небезопасного реестра приводит к тому, что он застрял в пакете с «Ошибка при вытягивании изображения»

oc new-app --insecure-registry=true --docker-image=mtl-vm375:5000/jenkins:1.0 

В этот раз команда отлично работала. Тем не менее, стручок остается как «ContainerCreating» и результат от kubectl описания стручков:

OPENSHIFT_DEPLOYMENT_NAME:  jenkins-1 
OPENSHIFT_DEPLOYMENT_NAMESPACE: default 
Conditions: 
    Type   Status 
    Ready   False 
Volumes: 
    deployer-token-3bls9: 
Type:  Secret (a volume populated by a Secret) 
    SecretName: deployer-token-3bls9 
Events: 
    FirstSeen  LastSeen  Count From     SubobjectPath Type   Reason   Message 
    ---------  --------  ----- ----     ------------- --------  ------   ------- 
    2h   4m    33  {kubelet mtl-vm375}      Warning   FailedSync  Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "Error while pulling image: Get https://index.docker.io/v1/repositories/openshift/origin-pod/images: dial tcp 10.230.22.20:443: connection refused" 

2h 6s  652  {kubelet mtl-vm375}    Warning FailedSync  Error syncing pod, skipping: failed to "StartContainer" for "POD" with ImagePullBackOff: "Back-off pulling image \"openshift/origin-pod:v1.1.5\"" 

имеет ошибку, которая показывает, что пытается использовать протокол HTTPS, который я угадывание (но не уверен) является ошибкой, как я не HTTPS правильно настроить сертификаты еще:

за другими советами по Stackoverflow, я добавил эти переменные окружения для Origin изображения: KUBE_ENABLE_INSECURE_REGISTRY = истинные EXTRA_DOCKER_OPTS = - незащищенный-реестр

У меня также были похожие результаты: KUBE_ENABLE_INSECURE_REGISTRY = истина \ EXTRA_DOCKER_OPTS = "- небезопасный-реестр 10.230.22.20" информация

Версии:

[[email protected] origin]# oc version 
oc v1.1.5-52-gd58f979 kubernetes v1.2.0-36-g4a3f9c5 

и

[[email protected] ~]# docker version 
Client: 
Version:  1.8.2-el7.centos 
API version: 1.20 
Package Version: docker-1.8.2-10.el7.centos.x86_64 
Go version: go1.4.2 
Git commit: a01dc02/1.8.2 
Built: 
OS/Arch:  linux/amd64 

Server: 
Version:  1.8.2-el7.centos 
API version: 1.20 
Package Version: 
Go version: go1.4.2 
Git commit: a01dc02/1.8.2 
Built: 
OS/Arch:  linux/amd64 

Спасибо заранее,

Джон

+0

вы уже пробовали эту команду с --loglevel = 5? + можете ли вы потянуть изображение вручную после регистрации входа в док-станцию ​​в вашем реестре? + Является ли ваш реестр реальным реестром докеров или реестром «openshift». – lvthillo

+0

«Лучшим» способом является защита реестра OpenShift. Отметьте свое изображение jenkins и переместите его в свой реестр OpenShift (выставляйте свой реестр, когда хотите нажать извне своего кластера). Чем OpenShift может использовать изображение повсюду в кластере – lvthillo

+0

Даже с командой 'oc new-app --loglevel = 5 --insecure-registry = true --docker-image = mtl-vm375: 5000/jenkins: 1.0' больше нет регистрации: '[root @ mtl-vm375 origin] # oc logs jenkins-1-deploy Ошибка сервера: контейнер« развертывание »в pod« jenkins-1-deploy »ждет, чтобы начать: ContainerCreating' Прямо сейчас, я использую реальный реестр докеров, а не openhift и могу вытащить его из репозитория Docker вручную без проблем. Я не пробовал это по-другому, когда он переводится в реестр Openshift. Это хорошее предложение. Я попробую. –

ответ

2

Это шаг s я выполнил использование изображения из другого реестра Docker (даже вне моего кластера).

Мой реестр:

https://ec2-xx-xx-xx-xx.eu-central-1.compute.amazonaws.com:5000 

Я создаю проект (в ОС), где я хочу, чтобы подтолкнуть.

$ oc new-project test 

Я внутри проекта, и я создам секрет, так что мой OpenShift может получить доступ к своему реестру:

$ oc secrets new-dockercfg mysecret --docker-server=https://ec2-xx-xx-xx-xx.eu-central-1.compute.amazonaws.com:5000 --docker-username=testuser --docker-password=testpassword [email protected] 

добавить секрет serviceaccounts

$ oc secrets add serviceaccount/default secrets/mysecret --for=pull  
$ oc secrets add serviceaccount/builder secrets/mysecret 

импорт поток изображений

$ oc import-image --insecure ec2-xx-xx-xx-xx.eu-central-1.compute.amazonaws.com:5000/test/name-of-image:1 --confirm 

Теперь вы можете создать

oc new-app --insecure-registry <image-stream-name>:tag 

Лучше всего подтолкнуть ваши изображения к реестру OpenShift. Чем не нужно создавать секрет и выполнять oc import. Вы можете открыть реестр (безопасный реестр), чтобы вы могли получить доступ к реестру из-за пределов своего кластера, чтобы нажимать изображения.

+1

Спасибо, lorenzvth7! Я выполнил ваши инструкции в последнем сообщении о другом реестре Docker, и это сработало! Наш сервер не может достичь концентратора Docker или подобных сайтов из-за ограничений в брандмауэре, поэтому у меня были ошибки в отношении источника-подкатегории и источника-развертывания, которые я исправил, пометив и нажав на Docker. В конечном итоге я перейду в реестр Openshift, хотя я подозреваю, что брандмауэр сделает это более сложным. В настоящее время у меня все еще не работает развертывание нового приложения из-за другой ошибки. Мы можем считать это замкнутым. Я буду исследовать текущую проблему и при необходимости открыть новый вопрос. –

0

Если вы боролись с OpenShift Builder после того, как вы обновили импорт: тег через переиздание (повторный импорт)

  • Ваш OpenShift строит, кажется, не использовать последний образ-тег, который вы уже опубликованный через оо импорт-изображение ..

    1. открыть "Builder-конфигурации вашего приложения",
    2. перейдите в раздел "Настройка изображения"
    3. и переключите значение «Build From» из «Хранилища изображений Docker» в «Тег изображения»
    4. и выберите пространство имен, поток изображений и тег.

Обзор конфигурации Builder:

Builder Configuration of app

  • Установить новое значение "Docker Image Repository" не помогло.
  • Установите флажок в поле «Всегда тянуть сборку ...» также не помогло.

Изменить это ...

Builder Configuration of your app

к этому ...

Builder Configuration changed of your app

 Смежные вопросы

  • Нет связанных вопросов^_^