3.6. Automation Hub Pod の推奨サイズ
概要セクションの 図1.2「Automation Hub のアーキテクチャー」 にあるように、デプロイは 7 つの Pod で設定され、それぞれがコンテナーをホストしていることがわかります。
Pod のリストには、以下が含まれます。
- コンテンツ (x2)
- redis
- api
- postgres
- worker (x2)
Automation Hub アーキテクチャーを設定する 7 つの Pod は連携して機能し、コンテンツを効率的に管理および配布します。これらは、Automation Hub 環境の全体的なパフォーマンスとスケーラビリティにとって重要です。
このような Pod の中でも、ワーカー Pod はコンテンツの処理、同期、および配布を行うので、特に重要です。このような理由から、適切な量のリソースをワーカー Pod に設定して、確実にタスクを実行できるようにすることが重要です。
以下は、Automation Hub 環境に必要なリソース要求と制限の見積もりを提供することを目的としたガイドラインです。実際に必要なリソースは、セットアップによって異なります。
たとえば、頻繁に更新または同期を実行しているリポジトリーが多数ある環境では、処理負荷を処理するためにより多くのリソースが必要になる場合があります。
このリファレンス環境では、Pod のサイズを決定するために、Automation Hub 環境で実行できるメモリー消費量が最も多いタスクの 1 つであるリモートリポジトリーの同期を使用して予備テストが行われました。
調査結果から、Automation Hub 内のリモートリポジトリーを正常に同期するには、次のリソースリクエストとリソース制限を各 Pod に設定する必要があることがわかりました。
spec:
...
content:
resource_requirements:
limits:
cpu: 250mm
memory: 400Mi
requests:
cpu: 100m
memory: 400Mi
redis:
resource_requirements:
limits:
cpu: 250m
memory: 200Mi
requests:
cpu: 100m
memory: 200Mi
api:
resource_requirements:
limits:
cpu: 250m
memory: 400Mi
requests:
cpu: 150m
memory: 400Mi
postgres_resource_requirements:
resource_requirements:
limits:
cpu: 500m
memory: 1Gi
requests:
cpu: 200m
memory: 1Gi
worker:
resource_requirements:
limits:
cpu: 1000m
memory: 3Gi
requests:
cpu: 400m
memory: 3Gi