3.6. Automation Hub API のスケーリングに関する考慮事項
Automation Hub のスケーリングには、各サービスタイプに関する考慮事項が含まれます。
-
API サービス: API を介して
HTTPリクエストを管理する - Pulp Workers サービス: 同期とコンテンツのアップロードを管理する
- コンテンツサービス: コンテンツの処理および保存後にコンテンツの配信を管理する
個別の Gunicorn デプロイメントがこれらのサービスをサポートし、さまざまな種類のリクエストを処理します。OpenShift Container Platform では、これらのサービスは個別にスケーリングする必要があります。仮想マシンベースのインストールとコンテナーベースのインストールでは、標準の Automation Hub ノードがすべてのサービスをホストし、ノードを追加することでスケーリングが実現されます。
3.6.1. Automation Hub API サービス リンクのコピーリンクがクリップボードにコピーされました!
Automation Hub API サービスは、UI 操作、検索、リモートリポジトリー設定など、アプリケーションのメタデータ駆動型要求を処理します。Automation Hub API サービスの主要なパフォーマンス指標は次のとおりです。
-
/api/galaxy下のリクエストの API レイテンシーが高い - API Pod またはノードでの CPU 使用率が高い
-
サービスがビジー状態でヘルスチェックに応答できないため、プラットフォームゲートウェイが
503エラーを返す
Automation Hub API サービスを拡張するには、次のストラテジーを検討してください。
-
OpenShift Container Platform:
AnsibleAutomationPlatformカスタムリソース (CR) のhub.api.replicas属性を増やすことで、API Pod を水平方向にスケーリングします。 - 仮想マシンベースのインストールまたはコンテナーベースのインストール: Automation Hub ノードを追加することで API サービスを水平方向にスケーリングし、同時に他のすべての Automation Hub サービスもスケーリングします。
3.6.2. Automation Hub Pulp ワーカーとコンテンツサービス リンクのコピーリンクがクリップボードにコピーされました!
Pulp ワーカーとコンテンツサービスは、コンテンツの同期、アップロード、ダウンロードに関連するすべての操作を管理します。pulp ワーカーおよびコンテンツサービスの主要なパフォーマンス指標は次のとおりです。
- コンテンツ同期率が高い: 外部リポジトリーからの頻繁なまたは大規模な同期操作により、大量の pulp コンテンツワーカー処理が必要になる。
- コンテンツのアップロードまたはダウンロードの頻度が高い: Automation Controller、Event-Driven Ansible による自動化実行環境でのプッシュやプル、または自動化クライアントによる大規模なコレクションのアップロードまたはダウンロードが頻繁に発生する。
-
ディスク I/O ボトルネック: 基盤となるコンテンツストレージ (
/var/lib/pulp) での読み取り/書き込み操作に関連するパフォーマンスの問題がある。多くの場合、ディスク I/O 待機時間が長くなります。 - Pulp ワーカーの飽和: Pulp プロセス内での CPU 使用率またはキュー内の数が多い。コンテンツの処理と提供に対応できないことを示しています。
Pulp ワーカーとコンテンツサービスを拡張するには、次の拡張ストラテジーを検討してください。
-
OpenShift Container Platform の場合:
AnsibleAutomationPlatformカスタムリソースのhub.content.replicas属性とhub.worker.replicas属性を増やすことで、これらのサービスのデプロイメントを拡張します。 - 仮想マシンベースのインストールまたはコンテナーベースのインストールの場合: Automation Hub ノードを追加して、すべてのサービスを水平にスケーリングします。