Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

第8章 ノード配置の制御

director のデフォルトの動作では、通常プロファイルタグに基づいて、各ロールにノードが無作為に選択されます。ただし、director には特定のノード配置を定義する機能も備えられています。この機能は、以下の場合に役立ちます。

  • controller-0controller-1 などの特定のノード ID を割り当てる
  • カスタムのホスト名を割り当てる
  • 特定の IP アドレスを割り当てる
  • 特定の仮想 IP アドレスを割り当てる
注記

予測可能な IP アドレス、仮想 IP アドレス、ネットワークのポートを手動で設定すると、割り当てプールの必要性が軽減されます。ただし、新規ノードがスケーリングされた場合に対応できるように、各ネットワーク用の割り当てプールは維持することを推奨します。静的に定義された IP アドレスは、必ず割り当てプール外となるようにしてください。割り当てプールの設定に関する詳しい情報は、「ネットワーク環境ファイルの作成」を参照してください。

8.1. 特定のノード ID の割り当て

以下の手順では、特定のノードにノード ID を割り当てます。ノード ID には、controller-0controller-1compute-0compute-1 などがあります。

最初のステップでは、デプロイメント時に Nova スケジューラーが照合するノード別ケイパビリティーとしてこの ID を割り当てます。以下に例を示します。

openstack baremetal node set --property capabilities='node:controller-0,boot_option:local' <id>

これにより、node:controller-0 のケイパビリティーがノードに割り当てられます。0 から始まる一意の連番のインデックスを使用して、すべてのノードに対してこのパターンを繰り返します。指定したロール (コントローラー、コンピュート、各ストレージロール) のすべてのノードが同じようにタグ付けされるようにします。このようにタグ付けしないと、Nova スケジューラーはこのケイパビリティーを正しく照合しません。

次のステップでは、Heat 環境ファイル (例: scheduler_hints_env.yaml) を作成します。このファイルは、スケジューラーヒントを使用して、各ノードのケイパビリティーと照合します。以下に例を示します。

parameter_defaults:
  ControllerSchedulerHints:
    'capabilities:node': 'controller-%index%'

これらのスケジューラーヒントを使用するには、オーバークラウドの作成時に、overcloud deploy コマンドに scheduler_hints_env.yaml 環境ファイルを追加します。

これらのパラメーターを使用してロールごとに、同じアプローチを使用することができます。

  • コントローラーノードの場合は ControllerSchedulerHints
  • コンピュートノードの場合は NovaComputeSchedulerHints
  • Block Storage ノードの場合は BlockStorageSchedulerHints
  • Object Storage ノードの場合は ObjectStorageSchedulerHints
  • Ceph Storage ノードの場合は CephStorageSchedulerHints
  • カスタムロールの場合は [ROLE]SchedulerHints[ROLE] はロール名に置き換えます。
注記

プロファイル照合よりもノードの配置が優先されます。スケジューリングが機能しなくならないように、プロファイル照合用に設計されたフレーバー (computecontrol など) ではなく、デプロイメントにデフォルトの baremetal フレーバーを使用します。以下に例を示します。

$ openstack overcloud deploy ... --control-flavor baremetal --compute-flavor baremetal ...