6.7. イメージストリームの使用
以下のセクションでは、イメージストリームおよびイメージストリームタグを使用する方法を説明します。
デフォルトプロジェクトでワークロードを実行したり、デフォルトプロジェクトへのアクセスを共有したりしないでください。デフォルトのプロジェクトは、コアクラスターコンポーネントを実行するために予約されています。
デフォルトプロジェクトである default
、kube-public
、kube-system
、openshift
、openshift-infra
、openshift-node
、および openshift.io/run-level
ラベルが 0
または 1
に設定されているその他のシステム作成プロジェクトは、高い特権があるとみなされます。Pod セキュリティーアドミッション、Security Context Constraints、クラスターリソースクォータ、イメージ参照解決などのアドミッションプラグインに依存する機能は、高い特権を持つプロジェクトでは機能しません。
6.7.1. イメージストリームに関する情報の取得
イメージストリームに関する一般的な情報およびこれがポイントするすべてのタグの詳細情報を取得することができます。
手順
イメージストリームに関する一般情報と、それが指しているすべてのタグに関する詳細情報を取得するには、次のコマンドを入力します。
$ oc describe is/<image-name>
以下に例を示します。
$ oc describe is/python
出力例
Name: python Namespace: default Created: About a minute ago Labels: <none> Annotations: openshift.io/image.dockerRepositoryCheck=2017-10-02T17:05:11Z Docker Pull Spec: docker-registry.default.svc:5000/default/python Image Lookup: local=false Unique Images: 1 Tags: 1 3.5 tagged from centos/python-35-centos7 * centos/python-35-centos7@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 About a minute ago
特定のイメージストリームタグに関して利用可能なすべての情報を取得するには、次のコマンドを入力します。
$ oc describe istag/<image-stream>:<tag-name>
以下に例を示します。
$ oc describe istag/python:latest
出力例
Image Name: sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 Docker Image: centos/python-35-centos7@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 Name: sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 Created: 2 minutes ago Image Size: 251.2 MB (first layer 2.898 MB, last binary layer 72.26 MB) Image Created: 2 weeks ago Author: <none> Arch: amd64 Entrypoint: container-entrypoint Command: /bin/sh -c $STI_SCRIPTS_PATH/usage Working Dir: /opt/app-root/src User: 1001 Exposes Ports: 8080/tcp Docker Labels: build-date=20170801
注記表示されている以上の情報が出力されます。
次のコマンドを入力して、イメージストリームタグがサポートするアーキテクチャーまたはオペレーティングシステムを検出します。
$ oc get istag <image-stream-tag> -ojsonpath="{range .image.dockerImageManifests[*]}{.os}/{.architecture}{'\n'}{end}"
以下に例を示します。
$ oc get istag busybox:latest -ojsonpath="{range .image.dockerImageManifests[*]}{.os}/{.architecture}{'\n'}{end}"
出力例
linux/amd64 linux/arm linux/arm64 linux/386 linux/mips64le linux/ppc64le linux/riscv64 linux/s390x
6.7.2. タグのイメージストリームへの追加
追加タグをイメージストリームに追加できます。
手順
既存タグのいずれかを参照するタグを追加するには、`oc tag` コマンドを使用できます。
$ oc tag <image-name:tag1> <image-name:tag2>
以下に例を示します。
$ oc tag python:3.5 python:latest
出力例
Tag python:latest set to python@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25.
イメージストリームに、外部コンテナーイメージを参照するタグ (
3.5
) と、この最初のタグに基づいて作成されているために同じイメージを参照する別のタグ (latest
) の 2 つのタグが含まれることを確認します。$ oc describe is/python
出力例
Name: python Namespace: default Created: 5 minutes ago Labels: <none> Annotations: openshift.io/image.dockerRepositoryCheck=2017-10-02T17:05:11Z Docker Pull Spec: docker-registry.default.svc:5000/default/python Image Lookup: local=false Unique Images: 1 Tags: 2 latest tagged from python@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 * centos/python-35-centos7@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 About a minute ago 3.5 tagged from centos/python-35-centos7 * centos/python-35-centos7@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 5 minutes ago
6.7.3. 外部イメージのタグの追加
外部イメージのタグを追加することができます。
手順
タグ関連のすべての操作に
oc tag
コマンドを使用して、内部または外部イメージをポイントするタグを追加します。$ oc tag <repository/image> <image-name:tag>
たとえば、このコマンドは
docker.io/python:3.6.0
イメージをpython
イメージストリームの3.6
タグにマップします。$ oc tag docker.io/python:3.6.0 python:3.6
出力例
Tag python:3.6 set to docker.io/python:3.6.0.
外部イメージのセキュリティーが保護されている場合、そのレジストリーにアクセスするために認証情報を使用してシークレットを作成する必要があります
6.7.4. イメージストリームタグの更新
別のタグをイメージストリームに反映するようタグを更新できます。
手順
タグを更新します。
$ oc tag <image-name:tag> <image-name:latest>
たとえば、以下は
latest
タグを更新し、3.6
タグをイメージタグに反映させます。$ oc tag python:3.6 python:latest
出力例
Tag python:latest set to python@sha256:438208801c4806548460b27bd1fbcb7bb188273d13871ab43f.
6.7.5. イメージストリームタグの削除
古いタグをイメージストリームから削除できます。
手順
古いタグをイメージストリームから削除します。
$ oc tag -d <image-name:tag>
以下に例を示します。
$ oc tag -d python:3.6
出力例
Deleted tag default/python:3.6
Cluster Samples Operator による非推奨のイメージストリームタグの処理方法の詳細は、Cluster Samples Operator からの非推奨のイメージストリームタグの削除 を参照してください。
6.7.6. イメージストリームタグの定期的なインポートの設定
外部コンテナーイメージレジストリーを使用している場合、(最新のセキュリティー更新を取得する場合などに) イメージを定期的に再インポートするには、--scheduled
フラグを使用します。
手順
イメージインポートのスケジュール
$ oc tag <repository/image> <image-name:tag> --scheduled
以下に例を示します。
$ oc tag docker.io/python:3.6.0 python:3.6 --scheduled
出力例
Tag python:3.6 set to import docker.io/python:3.6.0 periodically.
このコマンドにより、OpenShift Container Platform はこの特定のイメージストリームタグを定期的に更新します。この期間はクラスター全体のデフォルトで 15 分に設定されます。
定期的なチェックを削除するには、上記のコマンド再実行しますが、
--scheduled
フラグを省略します。これにより、その動作がデフォルトに再設定されます。$ oc tag <repositiory/image> <image-name:tag>