5.2. 手动公开受保护的registry


通过使用路由公开 registry,用户不再需要从集群内部登录到 OpenShift 镜像 registry。通过此外部访问,您可以使用路由地址从集群外部登录到 registry。然后,您可以使用路由主机标记并将镜像推送到现有项目中。

您可以使用configs.imageregistry.operator.openshift.io资源中的DefaultRoute参数或使用自定义路由来公开路由。

先决条件

  • 以下的先决条件会被自动执行:

    • 部署 Registry Operator。
    • 部署 Ingress Operator。
  • 您可以使用具有 cluster-admin 角色的用户访问集群。

流程

  1. 要使用 DefaultRoute 参数公开 registry,请将 DefaultRoute 设置为 True

    $ oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"defaultRoute":true}}' --type=merge
  2. 输入以下命令使用 podman 登录:

    $ HOST=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')
    $ podman login -u kubeadmin -p $(oc whoami -t) --tls-verify=false $HOST
    • --tls-verify=false :如果路由的默认证书不受信任,则将此参数设置为 false。您可以将一个自定义的可信证书设置为 Ingress Operator 的默认证书。
  3. 要使用自定义路由公开 registry,请使用路由的 TLS 密钥创建一个 secret。此步骤是可选的。如果不创建一个secret,则路由将使用Ingress Operator的默认TLS配置。

    $ oc create secret tls public-route-tls \
        -n openshift-image-registry \
        --cert=</path/to/tls.crt> \
        --key=</path/to/tls.key>
  4. 在 Registry Operator 中输入以下命令:

    $ oc edit configs.imageregistry.operator.openshift.io/cluster
    spec:
      routes:
        - name: public-routes
          hostname: myregistry.mycorp.organization
          secretName: public-route-tls
    ...
    注意

    如果为 registry 的路由提供了自定义 TLS 配置,则仅设置 secretName

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部