Documentation
¶
Index ¶
Constants ¶
const CPUManagerStateFileName = "cpu_manager_state"
CPUManagerStateFileName is the name file name where cpu manager stores it's state
const PolicyNone policyName = "none"
PolicyNone name of none policy
const PolicyStatic policyName = "static"
PolicyStatic is the name of the static policy
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActivePodsFunc ¶
type ActivePodsFunc func() []*v1.Pod
ActivePodsFunc is a function that returns a list of pods to reconcile.
type Manager ¶
type Manager interface {
// Start is called during Kubelet initialization.
Start(activePods ActivePodsFunc, podStatusProvider status.PodStatusProvider, containerRuntime runtimeService)
// AddContainer is called between container create and container start
// so that initial CPU affinity settings can be written through to the
// container runtime before the first process begins to execute.
AddContainer(p *v1.Pod, c *v1.Container, containerID string) error
// RemoveContainer is called after Kubelet decides to kill or delete a
// container. After this call, the CPU manager stops trying to reconcile
// that container and any CPUs dedicated to the container are freed.
RemoveContainer(containerID string) error
// State returns a read-only interface to the internal CPU manager state.
State() state.Reader
}
Manager interface provides methods for Kubelet to manage pod cpus.
func NewManager ¶
func NewManager(cpuPolicyName string, reconcilePeriod time.Duration, machineInfo *cadvisorapi.MachineInfo, nodeAllocatableReservation v1.ResourceList, stateFileDirecory string) (Manager, error)
NewManager creates new cpu manager based on provided policy
type Policy ¶
type Policy interface {
Name() string
Start(s state.State)
// AddContainer call is idempotent
AddContainer(s state.State, pod *v1.Pod, container *v1.Container, containerID string) error
// RemoveContainer call is idempotent
RemoveContainer(s state.State, containerID string) error
}
Policy implements logic for pod container to CPU assignment.
func NewNonePolicy ¶
func NewNonePolicy() Policy
NewNonePolicy returns a cupset manager policy that does nothing
func NewStaticPolicy ¶
func NewStaticPolicy(topology *topology.CPUTopology, numReservedCPUs int) Policy
NewStaticPolicy returns a CPU manager policy that does not change CPU assignments for exclusively pinned guaranteed containers after the main container process starts.