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 (終了) 状態になります。