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-managednamespace からパイプラインの 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-pipelinesnamespace で提供されている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
secret:
secretName: etc-pki-entitlement
pipelineSpec:
workspaces:
- name: shared-workspace
- name: dockerconfig
- name: rhel-entitlement
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
workspace: rhel-entitlement
params:
- name: IMAGE
value: <image_where_you_want_to_push>