Topology Manager
PMK now supports configuration of Topology Manager. The following fields are added to the cluster create API of qbert:
cpuManagerPolicy: {type: string, description: "options: none, static; default: none"},topologyManagerPolicy: {type: string, description: "options: none, best-effort, restricted, single-numa-node; default: none"},reservedCPUs: {type: string, description: "list of CPUs to be reserved for the system. Ex: 1-3,5"}The default value of the "cpuManagerPolicy" : "none" and will work for most applications.
When "cpuManagerPolicy": "static"turns on CPU Manager. This is required for Topology Manager to work.
Furthermore the "topologyManagerPolicy" supports the following options:
* none: Topology Manager is turned off
* best-effort: Kubelet uses hint providers to determine the best placement location for a pod. The pod is scheduled even if all affinity requirements are not met.
* restricted: Kubelet uses hint providers to determine the best placement location for a pod. The pod is terminated if such a node matching all affinity requirements are not met
* single-numa-node: Kubelet uses hint providers to find a single numa node that meets all affinity requirements. The pod is scheduled if such a node exists, it is moved to a terminated state otherwise. \
You can read more about these policies here.
"reservedCPUs" is a list of CPUs reserved for general purpose system use. Kubelet will not schedule pods to run on these CPUs.