5.4.2.2. 在工作负载中使用 pull secret


要允许工作负载从 OpenShift Container Platform 中的私有 registry 拉取镜像,您可以通过输入 oc secrets link 命令或直接在工作负载配置 YAML 文件中定义它,将 pull secret 链接到服务帐户。

流程

  1. 输入以下命令将 pull secret 链接到服务帐户。请注意,服务帐户的名称应与 Pod 使用的服务帐户的名称匹配。默认服务帐户是 default

    $ oc secrets link default <pull_secret_name> --for=pull
  2. 输入以下命令验证更改:

    $ 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>

  3. 可选:将 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>

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部