10.2. ビルドシークレットとしてのサブスクリプションエンタイトルメントの追加
Red Hat サブスクリプションを使用してコンテンツをインストールする builds には、ビルドシークレットとしてエンタイトルメントキーを含める必要があります。
前提条件
- サブスクリプションを通じて Red Hat Enterprise Linux (RHEL) パッケージリポジトリーにアクセスできる必要があります。これらのリポジトリーにアクセスするためのエンタイトルメントシークレットは、クラスターがサブスクライブされるときに、Insights Operator によって自動的に作成されます。
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる必要があります。または、openshift-config-managedプロジェクト内のシークレットにアクセスする権限を持っている必要があります。
手順
次のコマンドを実行して、
openshift-config-managednamespace からビルドの namespace にエンタイトルメントシークレットをコピーします。$ cat << EOF > secret-template.txt kind: Secret apiVersion: v1 metadata: name: etc-pki-entitlement type: Opaque data: {{ range \$key, \$value := .data }} {{ \$key }}: {{ \$value }} {{ end }} EOF $ oc get secret etc-pki-entitlement -n openshift-config-managed -o=go-template-file --template=secret-template.txt | oc apply -f -etc-pki-entitlement シークレットをビルド設定の Docker ストラテジーでビルドボリュームとして追加します。
strategy: dockerStrategy: from: kind: ImageStreamTag name: ubi9:latest volumes: - name: etc-pki-entitlement mounts: - destinationPath: /etc/pki/entitlement source: type: Secret secret: secretName: etc-pki-entitlement