5.2. 通过手动复制 etc-pki-entitlement secret 来使用红帽权利
您可以将 etc-pki-entitlement secret 从 openshift-config-managed 命名空间复制到管道的命名空间中。然后,您可以将管道配置为使用此 secret 用于 Buildah 任务。
先决条件
-
在您的系统上安装了
jq软件包。这个软件包包括在 Red Hat Enterprise Linux (RHEL)中。
流程
运行以下命令,将
etc-pki-entitlementsecret 从openshift-config-managed命名空间复制到管道的命名空间中:$ 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> 替换为管道的命名空间。
-
在 Buildah 任务定义中,使用
openshift-pipelines命名空间中提供的buildah任务或此任务的副本,并定义rhel-entitlement工作区,如下例所示。 -
在运行 Buildah 任务的任务运行或管道运行中,将
etc-pki-entitlementsecret 分配给rhel-entitlement工作区,如下例所示。
使用红帽权利的管道运行定义示例,包括管道和任务定义
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>