OpenShift - 如何创建新的图像流?

OpenShift - how to create a new image stream?

我正在构建 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。我的期望是它会创建一个新图像。

移至项目命名空间或使用 -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