Menu Close
3.2. Quay コンポーネント
Quay は強力なコンテナーレジストリープラットフォームであるため、十分な数の依存関係が必要となります。これらには、データベース、オブジェクトストレージ、Redis などが含まれます。Quay Operator は、Quay と Kubernetes 上のそれらの依存関係の事前に設定されたデプロイメントを管理します。これらの依存関係は コンポーネント として処理され、QuayRegistry
API で設定されます。
QuayRegistry
カスタムリソースでは、spec.components
フィールドでコンポーネントを設定します。各コンポーネントには、コンポーネントの名前である kind
およびコンポーネントライフサイクルが Operator によって処理されるかどうかを示すブール値の managed
の 2 つのフィールドが含まれます。デフォルトでは (このフィールドを省略する場合)、すべてのコンポーネントが管理され、調整時に表示するために自動的に入力されます。
spec: components: - managed: true kind: clair - managed: true kind: postgres - managed: true kind: objectstorage - managed: true kind: redis - managed: true kind: horizontalpodautoscaler - managed: true kind: route - managed: true kind: mirror - managed: true kind: monitoring
QuayRegistry
カスタムリソースが指定しない場合、Operator は以下の管理されたコンポーネントについてデフォルトを使用します。
-
postgres
はレジストリーのメタデータを保存します。Software Collections から Postgres 10 のあるバージョンを使用します。 -
redis
は Quay ビルダーの調整および一部のロギングを処理します。 -
objectstorage
はイメージレイヤー Blob を保存します。Noobaa/RHOCS によって提供されるObjectBucketClaim
Kubernetes API を活用します。 -
clair
はイメージの脆弱性スキャンを提供します。 -
horizontalpodautoscaler
は、メモリー/CPU の消費に応じて Quay Pod の数を調整します。 -
mirror
は、リポジトリーミラーワーカーを設定します (オプションのリポジトリーミラーリングをサポートします)。 -
route
は、OpenShift の外部から Quay レジストリーへの外部エントリーポイントを提供します。 -
モニタリング機能
には、Grafana ダッシュボード、個別のメトリクスへのアクセス、Quay Pod が頻繁に再起動されていることを通知するアラートなどが含まれます。