congestion

package
v0.0.0-...-b7e6990 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 16, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

README

Congestion Agent: Scheduling based on node congestion

The Congestion agent scheduler extender together with a node annotator, which collects statistics about node congestion, provides a Kubernetes scheduling solution that is influenced by additional node congestion measure.

Description

This is an extender to a default Kubernetes scheduler which provides a priority function called 'congestion'. A node is continuously annotated with a value representing a form of congestion on the node. This may be due to measured load on the node and/or networking congestion in and out of the node. The key for the annotation is 'congestion-factor' and the value is an integer between zero and 100 (or another maximum value provided by the environment variable 'CONGESTION_FACTOR_MAX'). The higher the value the more congestion there is on the node. A missing congestion value means zero congestion. The intent of this priority function is to have the scheduler prefer nodes with low congestion values. In order to activate the 'congestion' priority function, one needs to add in the extender deployment file:

"prioritizeVerb": "priorities/congestion",

to the ConfigMap policy.cfg definition, under "extenders".

Documentation

Index

Constants

View Source
const (
	// CongestionFactorMax : environment variable to set maximum congestion factor
	CongestionFactorMax = "CONGESTION_FACTOR_MAX"

	// DefaultCongestionFactorMax : 100
	DefaultCongestionFactorMax = 100
)

*

  • Environment variables and their default values
View Source
const (
	// CongestionFactorKey : label for measure of node congestion [0 (no congesion) - max]
	CongestionFactorKey = "congestion-factor"
)

*

  • Key labels
View Source
const (
	// PriorityCongestionName : name of  congestion priority function
	PriorityCongestionName = "congestion"
)

*

  • Names of predicates and priority functions

Variables

This section is empty.

Functions

func PriorityFunc

func PriorityFunc(pod v1.Pod, nodes []v1.Node) (*schedulerapi.HostPriorityList, error)

PriorityFunc : priority function based on node congestion factor

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL