4.2. 直接从集群访问 registry


您可以使用内部路由从集群内部访问 registry。

流程

  1. 通过获取节点的名称来访问节点:

    $ oc get nodes
    Copy to Clipboard Toggle word wrap
    $ oc debug nodes/<node_name>
    Copy to Clipboard Toggle word wrap
  2. 要在节点上启用对 ocpodman 等工具的访问,请将您的根目录改为 /host。在 上运行命令时成功输出状态为 Login Succeeded!

    sh-4.2# chroot /host
    Copy to Clipboard Toggle word wrap
  3. 使用您的访问令牌登录到容器镜像registry:

    sh-4.2# oc login -u kubeadmin -p <password_from_install_log> https://api-int.<cluster_name>.<base_domain>:6443
    Copy to Clipboard Toggle word wrap
    sh-4.2# podman login -u kubeadmin -p $(oc whoami -t) image-registry.openshift-image-registry.svc:5000
    Copy to Clipboard Toggle word wrap
    注意

    您可以为用户名传递几乎任何值。令牌包含所有必要的信息。传递包含冒号的用户名会导致登录失败。

    Image Registry Operator 创建路由,如 default-route-openshift-image-registry.<cluster_name >。

  4. 针对 registry 执行 podman pullpodman push 操作。以下示例命令演示了这些操作。

    1. 抓取任意镜像:

      sh-4.2# podman pull <name.io>/<image>
      Copy to Clipboard Toggle word wrap
      重要

      您可以抓取任意镜像,但是如果已添加了system:registry角色,则只能将镜像推送到您自己的registry中。

    2. 使用 <registry_ip>:<port>/<project>/<image> 格式标记(tag)新镜像。例如,172.30.124.220:5000/openshift/image。项目名称必须显示在 OpenShift Container Platform 的 pull 规格中,以便正确放置并稍后访问 registry 中的镜像。

      sh-4.2# podman tag <name.io>/<image> image-registry.openshift-image-registry.svc:5000/openshift/<image>
      Copy to Clipboard Toggle word wrap
      注意

      您必须具有指定项目的system:image-builder角色,该角色允许用户写或推送镜像。否则,下一步中的podman push将失败。为了进行测试,您可以创建一个新项目来推送镜像。

    3. 将新标记的镜像推送到 registry:

      sh-4.2# podman push image-registry.openshift-image-registry.svc:5000/openshift/<image>
      Copy to Clipboard Toggle word wrap
      注意

      将镜像推送到内部 registry 时,存储库名称必须使用 <project>/<name> 格式。在存储库名称中使用多个项目级别会导致身份验证错误。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat