7.2. Topology Manager ポリシー

Topology Manager は、以下の条件を満たすノードおよび Pod で機能します。

  • ノードの CPU マネージャーのポリシーは static として設定されます。
  • Pod は Guaranteed QoS クラスにあります。

上記の条件が満たされると、Topology Manager は Pod の CPU およびデバイス要求を配置します。

Topology Manager は 4 つの割り当てポリシーをサポートします。これらのポリシーは、Kubelet フラグ --topology-manager-policy を使用して設定されます。ポリシーは以下のとおりです。

  • none (デフォルト)
  • best-effort
  • restricted
  • single-numa-node

7.2.1. ポリシーなし

これはデフォルトのポリシーで、トポロジーの配置は実行しません。

7.2.2. best-effort ポリシー

best-effort トポロジー管理ポリシーを持つ Guaranteed Pod のそれぞれのコンテナーの場合、kublet は 各 Hint Provider を呼び出してそれらのリソースの可用性を検出します。この情報を使用して、Topology Manager は、そのコンテナーの推奨される NUMA ノードのアフィニティーを保存します。アフィニティーが優先されない場合、Topology Manager はこれを保管し、ノードに対してノードを許可します。

7.2.3. 制限されたポリシー

制限されたトポロジー管理ポリシーがある Guaranteed Pod のそれぞれのコンテナーの場合、kublet は各 Hint Provider を呼び出してそれらのリソースの可用性を検出します。この情報を使用して、Topology Manager は、そのコンテナーの推奨される NUMA ノードのアフィニティーを保存します。アフィニティーが優先される場合、Topology Manager はこの Pod をノードから拒否します。これにより、Pod は Pod の受付失敗と共に Terminated (終了) 状態になります。

7.2.4. single-numa-node

single-numa-node トポロジー管理ポリシーがある Guaranteed Pod のそれぞれのコンテナーの場合、kublet は各 Hint Provider を呼び出してそれらのリソースの可用性を検出します。この情報を使用して、Topology Manager は単一の NUMA ノードのアフィニティーが可能かどうかを判別します。可能である場合、Pod はノードに許可されます。可能でない場合は、Topology Manager は Pod をノードから拒否します。これにより、Pod は Pod の受付失敗と共に Terminated (終了) 状態になります。