5.2. etc-pki-entitlement シークレットの手動コピーによる Red Hat エンタイトルメントの使用
etc-pki-entitlement
シークレットを openshift-config-managed
namespace からパイプラインの namespace にコピーできます。次に、Buildah タスクにこのシークレットを使用するようにパイプラインを設定できます。
前提条件
-
システムに
jq
パッケージをインストールしている。このパッケージは Red Hat Enterprise Linux (RHEL) で利用できます。
手順
次のコマンドを実行して、
etc-pki-entitlement
シークレットをopenshift-config-managed
namespace からパイプラインの namespace にコピーします。$ oc get secret etc-pki-entitlement -n openshift-config-managed -o json | \ jq 'del(.metadata.resourceVersion)' | jq 'del(.metadata.creationTimestamp)' | \ jq 'del(.metadata.uid)' | jq 'del(.metadata.namespace)' | \ oc -n <pipeline_namespace> create -f - 1
- 1
<pipeline_namespace>
は、パイプラインの namespace に置き換えます。
-
Buildah タスク定義では、
openshift-pipelines
namespace で提供されているbuildah
タスクまたはこのタスクのコピーを使用して、次の例に示すようにrhel-entitlement
ワークスペースを定義します。 -
タスク実行または Buildah タスクを実行するパイプライン実行で、次の例のように、
etc-pki-entitlement
シークレットをrhel-entitlement
ワークスペースに割り当てます。
Red Hat エンタイトルメントを使用するパイプライン実行定義の例 (パイプラインとタスクの定義を含む)
apiVersion: tekton.dev/v1 kind: PipelineRun metadata: name: buildah-pr-test spec: workspaces: - name: shared-workspace volumeClaimTemplate: spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi - name: dockerconfig secret: secretName: regred - name: rhel-entitlement 1 secret: secretName: etc-pki-entitlement pipelineSpec: workspaces: - name: shared-workspace - name: dockerconfig - name: rhel-entitlement 2 tasks: # ... - name: buildah taskRef: resolver: cluster params: - name: kind value: task - name: name value: buildah - name: namespace value: openshift-pipelines workspaces: - name: source workspace: shared-workspace - name: dockerconfig workspace: dockerconfig - name: rhel-entitlement 3 workspace: rhel-entitlement params: - name: IMAGE value: <image_where_you_want_to_push>