8.2. 拓扑管理器策略
拓扑管理器通过从 Hint 提供者(如 CPU Manager 和设备管理器)收集拓扑提示来调整所有级别服务质量(QoS)的 Pod
资源,并使用收集的提示来匹配 Pod
资源。
拓扑管理器支持四个分配策略,这些策略在名为 cpumanager-enabled
的 KubeletConfig
自定义资源 (CR) 中分配:
none
策略- 这是默认策略,不执行任何拓扑对齐调整。
best-effort
策略-
对于带有
best-effort
拓扑管理策略的 pod 中的每个容器,kubelet 会尝试根据该容器的首选 NUMA 节点关联性来匹配 NUMA 节点上的所有所需资源。即使因为资源不足而无法分配,Topology Manager 仍然接受 pod,但分配会与其他 NUMA 节点共享。 restricted
策略-
对于带有
restricted
拓扑管理策略的 pod 中的每个容器,kubelet 决定理论上可以满足请求的 NUMA 节点数量。如果实际分配需要超过该数量的 NUMA 节点,则拓扑管理器会拒绝准入,将 pod 置于Terminated
状态。如果 NUMA 节点数量可以满足请求,则拓扑管理器会接受 pod 和 pod 开始运行。 single-numa-node
策略-
对于带有
single-numa-node
拓扑管理策略的 pod 中的每个容器,如果 pod 所需的所有资源可以在同一 NUMA 节点上分配,kubelet 会接受 pod。如果无法使用单一 NUMA 节点关联性,则拓扑管理器会拒绝来自节点的 pod。这会导致 pod 处于Terminated
状态,且 pod 准入失败。