1.4. 对 OCI registry 进行身份验证
在将签名推送到 OCI Registry 之前,集群管理员必须配置 Tekton 链,以便与 registry 进行身份验证。Tekton Chains 控制器使用与任务运行相同的服务帐户。要设置具有所需凭证(push)到 OCI registry 的服务帐户,请执行以下步骤:
流程
设置 Kubernetes 服务帐户的命名空间和名称。
export NAMESPACE=<namespace> export SERVICE_ACCOUNT_NAME=<service_account>
$ export NAMESPACE=<namespace>
1 $ export SERVICE_ACCOUNT_NAME=<service_account>
2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Kubernetes secret。
oc create secret registry-credentials \ --from-file=.dockerconfigjson \ --type=kubernetes.io/dockerconfigjson \ -n $NAMESPACE
$ oc create secret registry-credentials \ --from-file=.dockerconfigjson \
1 --type=kubernetes.io/dockerconfigjson \ -n $NAMESPACE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用 Docker 配置文件的路径替换。默认路径为
~/.docker/config.json
。
授予服务帐户对 secret 的访问权限。
oc patch serviceaccount $SERVICE_ACCOUNT_NAME \ -p "{\"imagePullSecrets\": [{\"name\": \"registry-credentials\"}]}" -n $NAMESPACE
$ oc patch serviceaccount $SERVICE_ACCOUNT_NAME \ -p "{\"imagePullSecrets\": [{\"name\": \"registry-credentials\"}]}" -n $NAMESPACE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果对 Red Hat OpenShift Pipelines 分配到所有任务的默认
pipeline
服务帐户进行补丁,Red Hat OpenShift Pipelines Operator 将覆盖服务帐户。作为最佳实践,您可以执行以下步骤:创建单独的服务帐户,以分配给用户的任务运行。
oc create serviceaccount <service_account_name>
$ oc create serviceaccount <service_account_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过设置任务运行模板中的
serviceaccountname
字段的值,将服务帐户关联到运行任务。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用新创建的服务帐户的名称替换。