2.10. ビルドでの Red Hat サブスクリプションの使用
以下のセクションを使用して、OpenShift Container Platform ビルド内に Red Hat サブスクリプションコンテンツをインストールします。
2.10.1. Red Hat Universal Base Image へのイメージストリームタグの作成 リンクのコピーリンクがクリップボードにコピーされました!
ビルド内に Red Hat Enterprise Linux (RHEL) パッケージをインストールするには、Red Hat Universal Base Image (UBI) を参照するイメージストリームタグを作成します。
クラスター内の すべてのプロジェクトで UBI を利用可能にするには、イメージストリームタグを openshift namespace に追加します。または、特定のプロジェクトで UBI を利用可能にするには、イメージストリームタグをそのプロジェクトに追加します。
イメージストリームタグは、他のユーザーにプルシークレットを公開せずに、インストールプルシークレットにある registry.redhat.io の認証情報を使用して UBI へのアクセスを許可します。この方法は、各プロジェクトで registry.redhat.io の認証情報を使用してプルシークレットをインストールするよう各開発者に求める方法よりも便利です。
手順
すべてのプロジェクトの開発者が利用できるように、
openshiftnamespace にImageStreamTagリソースを作成するには、次のコマンドを入力します。oc tag --source=docker registry.redhat.io/ubi9/ubi:latest ubi9:latest -n openshift
$ oc tag --source=docker registry.redhat.io/ubi9/ubi:latest ubi9:latest -n openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow ヒントまたは、以下の YAML を適用して
openshiftnamespace にImageStreamTagリソースを作成できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 単一のプロジェクトで
ImageStreamTagリソースを作成するには、次のコマンドを入力します。oc tag --source=docker registry.redhat.io/ubi9/ubi:latest ubi:latest
$ oc tag --source=docker registry.redhat.io/ubi9/ubi:latest ubi:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow ヒントまたは、以下の YAML を適用して単一のプロジェクトに
ImageStreamTagリソースを作成できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.10.2. ビルドシークレットとしてのサブスクリプションエンタイトルメントの追加 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat サブスクリプションを使用してコンテンツをインストールするビルドには、ビルドシークレットとしてエンタイトルメントキーを含める必要があります。
前提条件
- サブスクリプションを通じて Red Hat Enterprise Linux (RHEL) パッケージリポジトリーにアクセスできる必要があります。これらのリポジトリーにアクセスするためのエンタイトルメントシークレットは、クラスターがサブスクライブされるときに、Insights Operator によって自動的に作成されます。
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる必要があります。または、openshift-config-managedプロジェクト内のシークレットにアクセスする権限を持っている必要があります。
手順
次のコマンドを実行して、
openshift-config-managednamespace からビルドの namespace にエンタイトルメントシークレットをコピーします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow etc-pki-entitlement シークレットをビルド設定の Docker ストラテジーでビルドボリュームとして追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.10.3. Subscription Manager を使用したビルドの実行 リンクのコピーリンクがクリップボードにコピーされました!
2.10.3.1. Subscription Manager を使用した Docker ビルド リンクのコピーリンクがクリップボードにコピーされました!
Docker ストラテジービルドでは、yum または dnf を使用して追加の Red Hat Enterprise Linux (RHEL) パッケージをインストールできます。
前提条件
- エンタイトルメントキーは、ビルドストラテジーのボリュームとして追加する必要があります。
手順
以下を Dockerfile の例として使用し、Subscription Manager でコンテンツをインストールします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
yumまたはdnfコマンドを実行する前に、/etc/rhsm-hostディレクトリーとそのすべての内容を削除するコマンドを Dockerfile に含める必要があります。- 2
- Red Hat Package Browser を使用して、インストールされているパッケージの正しいリポジトリーを見つけます。
- 3
- イメージと他の Red Hat コンテナーイメージとの互換性を維持するために、
/etc/rhsm-hostのシンボリックリンクを復元する必要があります。
2.10.4. Red Hat Satellite サブスクリプションを使用したビルドの実行 リンクのコピーリンクがクリップボードにコピーされました!
2.10.4.1. Red Hat Satellite 設定のビルドへの追加 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite を使用してコンテンツをインストールするビルドは、Satellite リポジトリーからコンテンツを取得するための適切な設定を提供する必要があります。
前提条件
Satellite インスタンスからコンテンツをダウンロードするために、
yum互換リポジトリー設定ファイルを提供するか、これを作成する必要があります。サンプルリポジトリーの設定
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
次のコマンドを入力して、Satellite リポジトリー設定ファイルを含む
ConfigMapオブジェクトを作成します。oc create configmap yum-repos-d --from-file /path/to/satellite.repo
$ oc create configmap yum-repos-d --from-file /path/to/satellite.repoCopy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite リポジトリー設定およびエンタイトルメントキーをビルドボリュームとして追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.10.4.2. Red Hat Satellite サブスクリプションを使用した Docker ビルド リンクのコピーリンクがクリップボードにコピーされました!
Docker ストラテジービルドは、Red Hat Satellite リポジトリーを使用してサブスクリプションコンテンツをインストールできます。
前提条件
- エンタイトルメントキーと Satellite リポジトリー設定がビルドボリュームとして追加しておく。
手順
次の例を使用して、Satellite を使用してコンテンツをインストールするための
Dockerfileを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow