1.3. 启用 Pod 引用其他安全 registry 中的镜像


如果容器组使用需要凭证的安全 registry 中的容器,您可以将 Container Registry 凭证与分配给作业模板的 Execution Environment 关联。自动化控制器使用它来在容器组作业运行的 OpenShift Container Platform 命名空间中创建 ImagePullSecret,并在作业完成后进行清理。

另外,如果容器组命名空间中已存在 ImagePullSecret ,您可以在 ContainerGroup 的自定义 pod 规格中指定 ImagePullSecret。

请注意,容器组中运行的作业所使用的镜像始终被与作业关联的执行环境覆盖。

使用预先创建的 ImagePullSecrets (高级)

如果要使用此工作流并预先创建 ImagePullSecret,您可以提供必要的信息,以便从之前访问安全容器 registry 的系统上的本地 .dockercfg 文件创建它。

步骤

用于较新的 Docker 客户端的 .dockercfg 文件或 $HOME/.docker/config.json 是一个 Docker 凭证文件,如果您之前已登录到安全或不安全的 registry,则该文件会保存您的信息。

  1. 对于安全的 registry 已有一个 .dockercfg 文件,您可以运行以下命令来从该文件中创建 secret:

    $ oc create secret generic <pull_secret_name> \
    --from-file=.dockercfg=<path/to/.dockercfg> \
    --type=kubernetes.io/dockercfg
    Copy to Clipboard
  2. 或者,如果您有一个 $HOME/.docker/config.json 文件:

    $ oc create secret generic <pull_secret_name> \
    --from-file=.dockerconfigjson=<path/to/.docker/config.json> \
    --type=kubernetes.io/dockerconfigjson
    Copy to Clipboard
  3. 如果您还没有安全 registry 的 Docker 凭证文件,您可以通过运行以下命令来创建 secret:

    $ oc create secret docker-registry <pull_secret_name> \
    --docker-server=<registry_server> \
    --docker-username=<user_name> \
    --docker-password=<password> \
    --docker-email=<email>
    Copy to Clipboard
  4. 要使用 secret 为 Pod 拉取镜像,您必须将 secret 添加到您的服务帐户中。本例中服务帐户的名称应与 Pod 使用的服务帐户的名称匹配。默认为 default 服务帐户。

    $ oc secrets link default <pull_secret_name> --for=pull
    Copy to Clipboard
  5. 可选:要使用 secret 来推送和拉取 (pull) 构建镜像,该 secret 必须可在 pod 内挂载。您可通过运行以下命令实现这一目的:

    $ oc secrets link builder <pull_secret_name>
    Copy to Clipboard
  6. 可选: 对于构建,还必须将 secret 引用为构建配置中的 pull secret。

成功创建容器组后,新创建的容器组的 Details 选项卡会保留。这样,您可以查看并编辑容器组信息。这与您点 Instance Group 链接中的 Edit 图标 时打开的菜单相同。您还可以编辑实例,并查看与此实例组关联的作业。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat