package util

import "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util"

Index

Constants

const DefaultMemoryRequest int64 = 200 * 1024 * 1024 // 200 MB
const DefaultMilliCpuRequest int64 = 100 // 0.1 core

For each of these resources, a pod that doesn't request the resource explicitly will be treated as having requested the amount indicated below, for the purpose of computing priority only. This ensures that when scheduling zero-request pods, such pods will not all be scheduled to the machine with the smallest in-use request, and that when scheduling regular pods, such pods will not see zero-request pods as consuming no resources whatsoever. We chose these values to be similar to the resources that we give to cluster addon pods (#10653). But they are pretty arbitrary. As described in #11713, we use request instead of limit to deal with resource requirements.

Functions

func GetNonzeroRequests

func GetNonzeroRequests(requests *api.ResourceList) (int64, int64)

GetNonzeroRequests returns the default resource request if none is found or what is provided on the request TODO: Consider setting default as a fixed fraction of machine capacity (take "capacity api.ResourceList" as an additional argument here) rather than using constants

func PodMatchesTermsNamespaceAndSelector

func PodMatchesTermsNamespaceAndSelector(pod *api.Pod, affinityPod *api.Pod, term *api.PodAffinityTerm) (bool, error)

PodMatchesTermsNamespaceAndSelector returns true if the given <pod> matches the namespace and selector defined by <affinityPod>`s <term>.

Types

type Topologies

type Topologies struct {
	DefaultKeys []string
}

func (*Topologies) NodesHaveSameTopologyKey

func (tps *Topologies) NodesHaveSameTopologyKey(nodeA, nodeB *api.Node, topologyKey string) bool

NodesHaveSameTopologyKey checks if nodeA and nodeB have same label value with given topologyKey as label key. If the topologyKey is nil/empty, check if the two nodes have any of the default topologyKeys, and have same corresponding label value.

Source Files

non_zero.go topologies.go

Version
v1.4.5
Published
Oct 29, 2016
Platform
js/wasm
Imports
4 packages
Last checked
1 minute ago

Tools for package owners.