LoginSignup
1
0

More than 3 years have passed since last update.

openshift4.3でBuild時に「Output image could not be resolved.」

Posted at

はじめに

なんとかOpenShift3.11の頃のようにYAML/JSONでProjectを一括で作成できないものか試行錯誤する日々ですが
いっこうに光が見えてきません(笑)
いろいろWebコンソールを徘徊してて、それっぽいメニュー「Create Build Config」なるものを見つけたので試しにやってみます。

  • CODEREADY CONTAINERS 1.7(OpenShift 4.3.1)

AdministratorのメニューからBuild Configを作成する

Create Build Configする

WebコンソールのAdministratorのメニューを見てみると色々と並んでますね。
その中のBuilds>Build Configsをクリックすると「Create Build Config」なるボタンが出現します。

2020-03-22.png

するとSampleのYAMLが出てきます!

2020-03-22 (1).png

なんだ簡単ですね。これを編集すればよいだけかな(^^♪
と思い、右側の「Samples」メニューから「Source-to-image (s2i) build」をTry itしてみます。

2020-03-22 (2).png

Try itで現れたサンプルYAMLがこちら。apiVersion以外はほぼ見慣れた感じですね。
例では
- openshiftnamespace上のruby:2.4をベースに
- https://github.com/openshift/ruby-ex.gitのソースをビルドし
- ImageStreamにs2i-build:latestとして登録する
となってますね。

source-to-image(s2i)build
apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
  name: s2i-build
  namespace: test
spec:
  output:
    to:
      kind: ImageStreamTag
      name: 's2i-build:latest'
  source:
    git:
      ref: master
      uri: 'https://github.com/openshift/ruby-ex.git'
    type: Git
  strategy:
    type: Source
    sourceStrategy:
      from:
        kind: ImageStreamTag
        name: 'ruby:2.4'
        namespace: openshift
      env: []
  triggers:
    - type: ImageChange
      imageChange: {}
    - type: ConfigChange
apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
  name: s2i-build
  namespace: test
spec:
  output:
    to:
      kind: ImageStreamTag
      name: 's2i-build:latest'
  source:
    git:
      ref: master
      uri: 'https://github.com/openshift/ruby-ex.git'
    type: Git
  strategy:
    type: Source
    sourceStrategy:
      from:
        kind: ImageStreamTag
        name: 'ruby:2.4'
        namespace: openshift
      env: []
  triggers:
    - type: ImageChange
      imageChange: {}
    - type: ConfigChange

このシリーズのやりたいこと、phpでlaravelのためには書き換えればよいのですが
まぁまずはそのまま試していましょう!

Sampleのs2i buildを試してみる

そのまま[Create]ボタンを押せばビルドが走るはず…

2020-03-22 (3).png

Buildの詳細はBuilds>Buildsから確認します。
みるとs2i-build-1Newとなっているので、クリックして内容を確認します。

2020-03-22 (4).png

Logs画面を見ても一向にログが吐き出されないのでOvewviewを確認すると
ん。「Output image could not be resolved.」だって…。

2020-03-22 (5).png

ここでネットの海を徘徊したら1番目にヒットした記事に
oc create imagestream <imagestream name from build config>しなさいとの記事が

Red Hat OpenShift: cannot build/deploy node app because “Output image could not be resolved”

はい?そのためのOutputじゃないのかな…と思いつつ試しにやってみることに。
ただし、Webコンソールから

ImageStreamを登録する

Builds>Image Streamsをクリックすると「Create Image Stream」ボタンがあったので押してみるとサンプルが出力されます。
2020-03-22 (6).png

2020-03-22 (7).png

apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
  name: example
  namespace: test

今回出力したいイメージはs2i-build:latestなのでnames2i-buildにしました。

apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
  name: s2i-build
  namespace: test

2020-03-22 (8).png
2020-03-22 (9).png

これでImage Streamの器が用意できたイメージかな!?

Sampleのs2i buildnの様子を見てみる

もう一度Builds>Buildsに戻るとあら不思議、ステータスがRunningとなっています。

2020-03-22 (11).png

先ほど出なかったLogsを確認すると

2020-03-22 (12).png

動いていますね。
Buildが完了したらImage Streamを確認してみましょう。

Image Streams の確認

Builds>Image Streamsからs2i-buildをクリックしてHistoryを確認すると
s2i-build:latestが出来上がってますね。

2020-03-22 (13).png

ここまで

なんだかAPIが細切れになって全体像がなかなか理解できませんね…。
徘徊の日々は当分続きそうです(笑)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0