6.5. OpenShift 路由限制


注意

只有在在带有受管 路由 组件的 OpenShift 上使用 Quay Operator 时,才适用本节。

由于 OpenShift 路由 的一个限制只能为单一端口提供流量,因此设置构建需要额外的步骤。确保您的 kubectloc CLI 工具被配置为与安装 Quay Operator 的集群一起工作,并且您的 QuayRegistry 存在(您的 QuayRegistry 不一定与运行构建器的裸机集群相同)。

  • 按照以下步骤,确保 OpenShift 集群上启用了 HTTP/2 入口。
  • Quay Operator 将创建一个 Route,它将 gRPC 流量定向到在现有 Quay pod 内运行的构建管理器服务器。如果要使用自定义主机名(如 builder.registry.example.com)的自定义主机名,请确保创建一个带有 DNS 供应商的 CNAME 记录,指向所创建的 Routestatus.ingress[0].host

    $ kubectl get -n <namespace> route <quayregistry-name>-quay-builder -o jsonpath={.status.ingress[0].host}
    Copy to Clipboard Toggle word wrap
  • 通过 OpenShift UI 或 CLI,使用构建集群 CA 证书(密钥 extra_ca_cert_build_cluster.cert)更新 QuayRegistryspec.configBundleSecret 引用的 Secret, 使用上面的构建程序配置(取决于您的构建 executor))中引用的正确的值以及 BUILDMAN_HOSTNAME 字段更新 config.yaml 条目:

    BUILDMAN_HOSTNAME: <build-manager-hostname>
    BUILD_MANAGER:
    - ephemeral
    - ALLOWED_WORKER_COUNT: 1
      ORCHESTRATOR_PREFIX: buildman/production/
      JOB_REGISTRATION_TIMEOUT: 600
      ORCHESTRATOR:
        REDIS_HOST: quay-redis-host
        REDIS_PASSWORD: quay-redis-password
        REDIS_SSL: true
        REDIS_SKIP_KEYSPACE_EVENT_SETUP: false
      EXECUTORS:
      - EXECUTOR: kubernetes
        BUILDER_NAMESPACE: builder
        ...
    Copy to Clipboard Toggle word wrap

额外的配置字段如下所述:

BUILDMAN_HOSTNAME
外部可访问的服务器主机名,构建作业用来与构建管理器通信。默认为与 SERVER_HOSTNAME 相同。对于 OpenShift Route,如果使用自定义主机名,则 status.ingress[0].host 或 CNAME 条目。BUILDMAN_HOSTNAME 需要包含 端口号,如 Openshift Route 的 某些主机:443,因为用于与构建管理器通信的 gRPC 客户端如果省略,则任何端口都不会推断出来。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat