11.2. OpenShift Container Platform の ルート の制限事項
OpenShift Container Platform 上で Red Hat Quay Operator をマネージド route
コンポーネントとともに使用する場合、次の制限が適用されます。
- 現在、OpenShift Container Platform の ルート は、単一ポートへのトラフィックのみを処理できます。Red Hat Quay ビルドをセットアップするには追加の手順が必要です。
-
Red Hat Quay Operator がインストールされているクラスターで
kubectl
またはoc
CLI ツールが動作するように設定されていること、およびQuayRegistry
が存在することを確認します。QuayRegistry
は、Builders が実行されるのと同じベアメタルクラスター上にある必要はありません。 - こちらの手順 に従って、OpenShift クラスター上で HTTP/2 ingress が有効になっていることを確認します。
Red Hat Quay Operator は、既存の
Quay
Pod 内で実行されているビルドマネージャーサーバーに gRPC トラフィックを送信するRoute
リソースを作成します。カスタムホスト名、または<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 を使用して、
QuayRegistry
のspec.configBundleSecret
によって参照されるSecret
をビルドクラスター CA 証明書で更新します。キーにextra_ca_cert_build_cluster.cert
という名前を付けます。Red Hat Quay ビルダーの設定時に作成した 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 クライアントがポートを推測しません。