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

时间:2017-09-24 22:39:50

标签: kubernetes openshift openshift-client-tools

我正在构建一个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错误。我的期望是它会创造一个新形象。

1 个答案:

答案 0 :(得分:0)

移至项目名称转义或使用-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