5.4.2.2. 在工作负载中使用 pull secret
要允许工作负载从 OpenShift Container Platform 中的私有 registry 拉取镜像,您可以通过输入 oc secrets link 命令或直接在工作负载配置 YAML 文件中定义它,将 pull secret 链接到服务帐户。
流程
输入以下命令将 pull secret 链接到服务帐户。请注意,服务帐户的名称应与 Pod 使用的服务帐户的名称匹配。默认服务帐户是
default。$ oc secrets link default <pull_secret_name> --for=pull输入以下命令验证更改:
$ oc get serviceaccount default -o yaml输出示例
apiVersion: v1 imagePullSecrets: - name: default-dockercfg-123456 - name: <pull_secret_name> kind: ServiceAccount metadata: annotations: openshift.io/internal-registry-pull-secret-ref: <internal_registry_pull_secret> creationTimestamp: "2025-03-03T20:07:52Z" name: default namespace: default resourceVersion: "13914" uid: 9f62dd88-110d-4879-9e27-1ffe269poe3 secrets: - name: <pull_secret_name>可选:将 secret 链接到服务帐户,您也可以直接在 pod 或工作负载定义中引用它。这可用于 GitOps 工作流,如 ArgoCD。例如:
pod 规格示例
apiVersion: v1 kind: Pod metadata: name: <secure_pod_name> spec: containers: - name: <container_name> image: quay.io/my-private-image imagePullSecrets: - name: <pull_secret_name>ArgoCD 工作流示例
apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: generateName: <example_workflow> spec: entrypoint: <main_task> imagePullSecrets: - name: <pull_secret_name>