2.3. Automation Controller のシステム要件
Automation Controller は分散システムであり、このシステムでは、異なるソフトウェアコンポーネントを同じ場所に配置したり、複数のコンピュートノードにデプロイしたりすることができます。インストーラーでは、ユースケースに適したトポロジーの設計に役立つ抽象化として、コントロールノード、ハイブリッドノード、実行ノード、ホップノードの 4 つのノードタイプが提供されます。
ノードのサイジングには、次の推奨事項を使用してください。
実行ノード
実行ノードは自動化を実行します。メモリーと CPU を増やし、フォークを多く実行できるように容量を増加します。
- 記載されている RAM および CPU リソースは、ノードが平均数のジョブを同時に実行する際のジョブ負荷を処理するための最小限の推奨値です。
- RAM および CPU ノードの推奨サイズはありません。必要な RAM または CPU は、その環境で実行しているジョブの数に直接依存します。
- 設定内のフォークに基づく容量は、Automation Controller の容量決定とジョブへの影響 を参照してください。
必要な RAM および CPU レベルの詳細は、Automation Controller のパフォーマンスチューニング を参照してください。
コントロールノード
コントロールノードはイベントを処理し、プロジェクトの更新やクリーンアップジョブなどのクラスタージョブを実行します。CPU およびメモリーを増やすと、ジョブイベントの処理に役立ちます。
- 最小 40 GB。/var/lib/awx で少なくとも 20 GB が使用可能。
- ストレージボリュームには、最低でも 3000 IOPS の性能が必要です。
- プロジェクトは制御ノードとハイブリッドノードに保存され、ジョブの実行中は実行ノードにも保存されます。クラスターに大規模なプロジェクトが多数ある場合は、ディスク領域のエラーを回避するために、/var/lib/awx/projects に 2 倍の GB を追加することを検討してください。
ホップノード
ホップノードは、自動化メッシュの別の部分にトラフィックをルーティングする役割を果たします (たとえば、ホップノードは別のネットワークへの踏み台ホストにすることができます)。RAM はスループットに影響を与える可能性があり、CPU アクティビティーは低くなります。一般に、ネットワーク帯域幅と遅延は、RAM や CPU よりも重要な要素です。
-
実際の RAM 要件は、同時に管理するホストの Automation Controller の数により異なります (これはジョブテンプレートまたはシステムの
ansible.cfg
ファイルのforks
パラメーターによって制御されます)。リソースの競合を回避するために、Ansible では、10 フォークあたり 1 GB のメモリーと、Automation Controller 用に 2 GB を予約することを推奨しています。Automation Controller の容量決定とジョブへの影響 を参照してください。forks
が 400 に設定されている場合は、42 GB のメモリーが推奨されます。 -
Automation Controller ホストは、
umask
が 0022 に設定されているかを確認します。設定されていない場合、セットアップが失敗します。このエラーを回避するには、umask=0022
を設定します。 より多くのホストにも対応できますが、フォーク数がホストの総数より少ない場合は、ホスト間でより多くのパスが必要になります。次のいずれかの方法を使用すると、このような RAM の制限を回避できます。
- ローリング更新を使用します。
- Automation Controller に組み込まれたプロビジョニングコールバックシステムを使用します。このシステムでは、設定を要求する各システムがキューに登録され、できるだけ早く処理されます。
- Automation Controller が AMI などのイメージを作成またはデプロイしている場合。