OpenShift - как создать новый поток изображений?

Я создаю образ OpenShift s2i. И чтобы упростить разработку, я хотел бы создать поток изображений на основе этого изображения s2i, чтобы я мог быстро проверить, работают ли изменения в s2i - и изменения в базе исходного кода.

Я не могу найти ни одной oc команды для создания нового потока изображений.

Я попытался создать поток изображений, используя приведенный ниже yml.

kind: "BuildConfig"
apiVersion: "v1"
metadata:
  name: "s2i-cpp" 
  annotations:
    openshift.io/build-config.name: s2i-cpp
  labels:
    build: s2i-cpp
    buildconfig: s2i-cpp
    openshift.io/build-config.name: s2i-cpp
    openshift.io/build.start-policy: Serial
spec:
  source:
    contextDir: "dockerfiles/builder"
    git:
      ref: master
      uri: 'https://gitlab.com/myrepo/s2i-cpp-wine.git'
    sourceSecret:
      name: gitlab-priceinsight
    type: Git
  strategy:
   type: Docker
   dockerStrategy:
    dockerfilePath: dockerfiles/builder/
  output: 
    to:
      kind: "ImageStreamTag"
      name: "s2i-cpp:latest"

Хотя я могу создать это с помощью oc create -f imagestream.yml, когда я пытаюсь запустить это, сразу возникает ошибка Invalid output reference. Я ожидал, что это создаст новый образ.


person Magick    schedule 24.09.2017    source источник
comment
Где вы в первую очередь строите образ S2I? Если вы создаете образ S2I в OpenShift как docker стратегию сборки, для вас будет создан поток изображения. Если вы разместили свой образ в Docker Hub, вы можете использовать oc import-image. Вы также можете напрямую войти во внутренний реестр образов OpenShift, если он доступен и вы сначала войдете в систему.   -  person Graham Dumpleton    schedule 25.09.2017
comment
Спасибо, Грэм. Да, я смог выполнить загрузку во внутренний реестр, но что-то сломалось. И да, я собираю s2i в ОС. И сразу понял, что поэтому у меня уже есть поток изображений. Спасибо   -  person Magick    schedule 26.09.2017
comment
так в чем была проблема в конце? а что не так с ответом @Rameez?   -  person Ewoks    schedule 01.12.2020


Ответы (1)


Переместитесь в пространство имен проекта или используйте -n

oc project <your namespace>

Создайте поток изображений с помощью cli

oc create imagestream <image-name>

Имя потока изображения должно быть таким же, как в файле yaml

output:
    to:
      kind: ImageStreamTag
      name: 'image-name:latest'

Создать сборку с использованием файла yaml

oc create -f <build>.yaml
person Rameez    schedule 25.07.2019