第5章 Quay Operator コンポーネント
Quay は強力なコンテナーレジストリープラットフォームであるため、多くの依存関係が存在します。これらには、データベース、オブジェクトストレージ、Redis などが含まれます。Quay Operator は、Kubernetes 上で Quay とその依存関係に指向したデプロイメントを管理します。これらの依存関係は コンポーネント として処理され、QuayRegistry API で設定されます。
QuayRegistry カスタムリソースでは、spec.components フィールドでコンポーネントを設定します。各コンポーネントには、kind (コンポーネントの名前) と managed (コンポーネントのライフサイクルを Operator が処理するかどうかを示すブール値) の 2 つのフィールドがあります。(このフィールドを省略する) デフォルトでは、すべてのコンポーネントが管理され、調整時に表示できるように自動的に入力されます。
5.1. 管理コンポーネントの使用 リンクのコピーリンクがクリップボードにコピーされました!
QuayRegistry カスタムリソースで特に指定しない限り、Red Hat Quay Operator は以下の管理コンポーネントにデフォルトを使用します。
- quay: Red Hat Quay デプロイメントのオーバーライドを保持します。たとえば、環境変数とレプリカの数です。このコンポーネントは Red Hat Quay 3.7 の新機能であり、アンマネージドに設定することはできません。
- postgres: レジストリーメタデータを保存するには、Software Collections から Postgres 10 のバージョンを使用します。
- clair: イメージの脆弱性スキャンを提供します。
- redis: ライブビルダーログと Red Hat Quay チュートリアルを保存します。ガベージコレクションに必要なロックメカニズムも含まれます。
-
horizontalpodautoscaler: メモリー/CPU 消費量に応じて
QuayPod の数を調整します。 -
ObjectStorage: イメージレイヤー Blob を格納するには、Noobaa/RHOCS によって提供される
ObjectBucketClaimKubernetes API を使用します。 - route: OpenShift Container Platform の外部から Red Hat Quay レジストリーへの外部エントリーポイントを提供します
- mirror: オプションのリポジトリーミラーリングをサポートするようにリポジトリーミラーワーカーを設定します。
- monitoring: Grafana ダッシュボード、個別のメトリクスへのアクセス、Quay Pod が頻繁に再起動されていることを通知するアラートなどが含まれます。
- tls: Red Hat Quay または OpenShift Container Platform が SSL/TLS を処理するかどうかを設定します
- clairpostgres: 管理された Clair データベースを設定します
Red Hat Quay Operator は、Red Hat Quay がマネージドコンポーネントを使用するために必要な設定およびインストール作業を処理します。Red Hat Quay Operator によって実行される独自のデプロイメントが環境に適していない場合は、以下のセクションで説明するように、Red Hat Quay Operator に unmanaged リソース (オーバーライド) を提供できます。