package util
import "k8s.io/kubernetes/pkg/scheduler/algorithm/priorities/util"
Index ¶
- Constants
- func GetNamespacesFromPodAffinityTerm(pod *v1.Pod, podAffinityTerm *v1.PodAffinityTerm) sets.String
- func GetNonzeroRequestForResource(resource v1.ResourceName, requests *v1.ResourceList) int64
- func GetNonzeroRequests(requests *v1.ResourceList) (int64, int64)
- func NodesHaveSameTopologyKey(nodeA, nodeB *v1.Node, topologyKey string) bool
- func PodMatchesTermsNamespaceAndSelector(pod *v1.Pod, namespaces sets.String, selector labels.Selector) bool
- type Topologies
Constants ¶
const ( // DefaultMilliCPURequest defines default milli cpu request number. DefaultMilliCPURequest int64 = 100 // 0.1 core // DefaultMemoryRequest defines default memory request size. DefaultMemoryRequest int64 = 200 * 1024 * 1024 // 200 MB )
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 GetNamespacesFromPodAffinityTerm ¶
GetNamespacesFromPodAffinityTerm returns a set of names according to the namespaces indicated in podAffinityTerm. If namespaces is empty it considers the given pod's namespace.
func GetNonzeroRequestForResource ¶
func GetNonzeroRequestForResource(resource v1.ResourceName, requests *v1.ResourceList) int64
GetNonzeroRequestForResource returns the default resource request if none is found or what is provided on the request.
func GetNonzeroRequests ¶
func GetNonzeroRequests(requests *v1.ResourceList) (int64, int64)
GetNonzeroRequests returns the default cpu and memory resource request if none is found or what is provided on the request.
func NodesHaveSameTopologyKey ¶
NodesHaveSameTopologyKey checks if nodeA and nodeB have same label value with given topologyKey as label key. Returns false if topologyKey is empty.
func PodMatchesTermsNamespaceAndSelector ¶
func PodMatchesTermsNamespaceAndSelector(pod *v1.Pod, namespaces sets.String, selector labels.Selector) bool
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 }
Topologies contains topologies information of nodes.
func (*Topologies) NodesHaveSameTopologyKey ¶
func (tps *Topologies) NodesHaveSameTopologyKey(nodeA, nodeB *v1.Node, topologyKey string) bool
NodesHaveSameTopologyKey checks if nodeA and nodeB have same label value with given topologyKey as label key.
Source Files ¶
non_zero.go topologies.go
- Version
- v1.16.2-beta.0
- Published
- Oct 2, 2019
- Platform
- js/wasm
- Imports
- 4 packages
- Last checked
- 24 seconds ago –
Tools for package owners.