6.2. 外部 Redis の設定
このセクションの内容に沿って、外部 Redis デプロイメントをセットアップします。
6.2.1. 管理対象外 Redis データベースの使用 リンクのコピーリンクがクリップボードにコピーされました!
外部 Redis データベースをセットアップするには、次の手順を実行します。
手順
次の Redis フィールドを使用して
config.yamlファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、設定ファイルを使用してシークレットを作成します。
oc create secret generic --from-file config.yaml=./config.yaml config-bundle-secret
$ oc create secret generic --from-file config.yaml=./config.yaml config-bundle-secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow Redis コンポーネントを
unmanagedに設定し、作成されたシークレットを参照するquayregistry.yamlファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat Quay レジストリーをデプロイします。
6.2.2. 管理対象外 Horizontal Pod Autoscaler の使用 リンクのコピーリンクがクリップボードにコピーされました!
Horizontal Pod Autoscaler (HPA) は Clair、Quay、および Mirror Pod に含まれるようになり、負荷の急増時に自動的にスケーリングされるようになりました。
HPA はデフォルトで管理対象となるように設定されているため、Clair、Quay、および Mirror の Pod 数は 2 に設定されています。これにより、Red Hat Quay Operator による Quay の更新または再設定時、またはイベントの再スケジューリング中のダウンタイムを容易に回避できます。
HorizontalPodAutoscaler コンポーネントを無効にして、HPA リソース自体を編集し、minReplicas フィールドの値を増やそうとすると、既知の問題が発生します。このセットアップを試行すると、Quay アプリケーション Pod は管理されていない HPA によりスケールアウトされ、60 秒後にレプリカ数が Red Hat Quay Operator により調整されます。その結果、HPA Pod は Operator によって継続的に作成され、削除されます。
この問題を解決するには、Red Hat Quay デプロイメントを少なくともバージョン 3.12.5 または 3.13.1 にアップグレードし、次の例を使用して問題を回避する必要があります。
この問題は、Red Hat Quay の将来のバージョンで修正される予定です。詳細は、PROJQUAY-6474 を参照してください。
6.2.2.1. Horizontal Pod Autoscaler の無効化 リンクのコピーリンクがクリップボードにコピーされました!
自動スケーリングを無効にするか、独自の HorizontalPodAutoscaler コンポーネントを作成するには、QuayRegistry カスタムリソース定義でコンポーネントを unmanaged として指定します。上記の既知の問題を回避するには、QuayRegistry CRD オブジェクトを変更し、quay、clair、および mirror コンポーネントのレプリカを null に設定する必要があります。
手順
QuayRegistryCRD を編集して、quayコンポーネントの場合は、次のreplicas: nullを含めます。oc edit quayregistry <quay_registry_name> -n <quay_namespace>
$ oc edit quayregistry <quay_registry_name> -n <quay_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
QuayRegistryCRD でreplicas: nullを設定すると、Quayアプリケーションのデプロイメントマニフェストがreplicas: 1に変更されるため、新しいレプリカセットが生成される場合があります。
検証
カスタマイズされた
HorizontalPodAutoscalersCRD を作成し、minReplicasの量をより高い値 (たとえば3) に増やします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
QuayRegistryアプリケーションが正常に起動したことを確認します。oc get pod | grep quay-app
$ oc get pod | grep quay-appCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
quay-registry-quay-app-5b8fd49d6b-7wvbk 1/1 Running 0 34m quay-registry-quay-app-5b8fd49d6b-jslq9 1/1 Running 0 3m42s quay-registry-quay-app-5b8fd49d6b-pskpz 1/1 Running 0 43m quay-registry-quay-app-upgrade-llctl 0/1 Completed 0 51m
quay-registry-quay-app-5b8fd49d6b-7wvbk 1/1 Running 0 34m quay-registry-quay-app-5b8fd49d6b-jslq9 1/1 Running 0 3m42s quay-registry-quay-app-5b8fd49d6b-pskpz 1/1 Running 0 43m quay-registry-quay-app-upgrade-llctl 0/1 Completed 0 51mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
HorizontalPodAutoscalersが正常に起動していることを確認します。oc get hpa
$ oc get hpaCopy to Clipboard Copied! Toggle word wrap Toggle overflow NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE quay-registry-quay-app Deployment/quay-registry-quay-app 67%/90%, 54%/90% 3 20 3 51m
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE quay-registry-quay-app Deployment/quay-registry-quay-app 67%/90%, 54%/90% 3 20 3 51mCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2.3. Route コンポーネントの無効化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay Operator がルートを作成できないようにするには、次の手順を使用します。
手順
コンポーネントを
quayregistry.yamlファイルでmanaged: falseと設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow config.yamlファイルを編集して、Red Hat Quay が SSL/TLS を処理するように指定します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 管理対象外ルートを正しく設定しないと、次のエラーが返されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
デフォルトルートを無効にするということは、Red Hat Quay インスタンスにアクセスするために Route、Service、または Ingress を作成する必要があることを意味します。さらに、使用する DNS は Red Hat Quay 設定の SERVER_HOSTNAME と一致する必要があります。
6.2.4. モニタリングコンポーネントの無効化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay Operator を単一の namaspace にインストールすると、モニタリングコンポーネントは自動的に managed: false に設定されます。監視を明示的に無効にするには、次の参照を使用してください。
管理対象外のモニタリング
このシナリオでモニタリングを有効にするには、Red Hat Quay Operator が単一の namespace にインストールされている場合の監視の有効化 を参照してください。
6.2.5. ミラーリングコンポーネントの無効化 リンクのコピーリンクがクリップボードにコピーされました!
ミラーリングを無効にするには、次の YAML 設定を使用します。
管理対象外ミラーリングの YAML 設定の例