Documentation
¶
Index ¶
Constants ¶
const PolicyBestEffort string = "best-effort"
PolicyBestEffort policy name.
const PolicyNone string = "none"
PolicyNone policy name.
const PolicyRestricted string = "restricted"
PolicyRestricted policy name.
const PolicySingleNumaNode string = "single-numa-node"
PolicySingleNumaNode policy name.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HintProvider ¶
type HintProvider interface {
GetTopologyHints(pod v1.Pod, container v1.Container) map[string][]TopologyHint
}
HintProvider interface is to be implemented by Hint Providers
type Manager ¶
type Manager interface {
//Manager implements pod admit handler interface
lifecycle.PodAdmitHandler
//Adds a hint provider to manager to indicate the hint provider
//wants to be consoluted when making topology hints
AddHintProvider(HintProvider)
//Adds pod to Manager for tracking
AddContainer(pod *v1.Pod, containerID string) error
//Removes pod from Manager tracking
RemoveContainer(containerID string) error
//Interface for storing pod topology hints
Store
}
Manager interface provides methods for Kubelet to manage pod topology hints
func NewFakeManager ¶ added in v1.16.0
func NewFakeManager() Manager
NewFakeManager returns an instance of FakeManager
func NewManager ¶ added in v1.16.0
func NewManager(numaNodeInfo cputopology.NUMANodeInfo, topologyPolicyName string) (Manager, error)
NewManager creates a new TopologyManager based on provided policy
type Policy ¶
type Policy interface {
//Returns Policy Name
Name() string
//Returns Pod Admit Handler Response based on hints and policy type
CanAdmitPodResult(hint *TopologyHint) lifecycle.PodAdmitResult
}
Policy interface for Topology Manager Pod Admit Result
func NewBestEffortPolicy ¶ added in v1.16.0
func NewBestEffortPolicy() Policy
NewBestEffortPolicy returns best-effort policy.
func NewNonePolicy ¶ added in v1.16.0
func NewNonePolicy() Policy
NewNonePolicy returns none policy.
func NewRestrictedPolicy ¶ added in v1.16.0
func NewRestrictedPolicy() Policy
NewRestrictedPolicy returns restricted policy.
func NewSingleNumaNodePolicy ¶ added in v1.16.0
func NewSingleNumaNodePolicy() Policy
NewSingleNumaNodePolicy returns single-numa-node policy.
type Store ¶
type Store interface {
GetAffinity(podUID string, containerName string) TopologyHint
}
Store interface is to allow Hint Providers to retrieve pod affinity
type TopologyHint ¶
type TopologyHint struct {
NUMANodeAffinity socketmask.SocketMask
// Preferred is set to true when the NUMANodeAffinity encodes a preferred
// allocation for the Container. It is set to false otherwise.
Preferred bool
}
TopologyHint is a struct containing the NUMANodeAffinity for a Container