11.2. OpenShift Container Platform 路由 限制
当您在带有受管 路由
组件的 OpenShift Container Platform 中使用 Red Hat Quay Operator 时,会有以下限制:
- 目前,OpenShift Container Platform 路由 只能为单个端口提供流量。设置 Red Hat Quay 构建需要额外的步骤。
-
确保
kubectl
或oc
CLI 工具已配置为与安装 Red Hat Quay Operator 的集群以及您的QuayRegistry
- 按照以下步骤,确保 OpenShift 集群上启用了 HTTP/2 入口。
Red Hat Quay Operator 创建一个
Route
资源,将 gRPC 流量定向到现有Quay
pod 或 pod 中运行的 Build manager 服务器。如果要使用自定义主机名或类似 <builder-registry.example.com>
的子域,请确保使用指向创建Route
资源的status.ingress[0].host
的 DNS 供应商创建一个 CNAME 记录。例如:$ kubectl get -n <namespace> route <quayregistry-name>-quay-builder -o jsonpath={.status.ingress[0].host}
使用 OpenShift Container Platform UI 或 CLI,使用 Build 集群 CA 证书更新
QuayRegistry
的spec.configBundle
引用的 Secret。将键命名为Secret
extra_ca_cert_build_cluster.cert
。使用您在配置 Red Hat Quay Builders 时创建的 Builder 配置中引用的正确值更新config.yaml
文件条目,并添加BUILDMAN_HOSTNAME
CONFIGURATION FIELD:BUILDMAN_HOSTNAME: <build-manager-hostname> 1 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 ...
- 1
- 构建作业用来传回构建管理器的外部可访问的服务器主机名。默认为与
SERVER_HOSTNAME
相同。对于 OpenShiftRoute
,如果使用自定义主机名,它是status.ingress[0].host
或 CNAME 条目。BUILDMAN_HOSTNAME
必须包括端口号,例如 OpenShift Container Platform Route 的somehost:443
,因为用于与构建管理器通信的 gRPC 客户端不会推断任何端口(如果省略)。