package
1.33.0-alpha.2
Repository: https://github.com/kubernetes/kubernetes.git
Documentation: pkg.go.dev

# Packages

# Functions

AllClusterEventLabels returns all possible cluster event labels given to the metrics.
AsStatus wraps an error in a Status.
GetAffinityTerms receives a Pod and affinity terms and returns the namespaces and selectors of the terms.
GetNamespacedName returns the string format of a namespaced resource name.
GetPodKey returns the string key of a pod.
NewCycleState initializes a new CycleState and returns its pointer.
NewDefaultNodeToStatus creates NodeToStatus without any node in the map.
NewNodeInfo returns a ready to use empty NodeInfo object.
NewNodeToStatus creates NodeToStatus initialized with given nodeToStatus and absentNodesStatus.
NewPodInfo returns a new PodInfo.
NewPodsToActivate instantiates a PodsToActivate object.
NewProtocolPort creates a ProtocolPort instance.
NewResource creates a Resource from ResourceList.
NewStatus makes a Status out of the given arguments and returns its pointer.
NodeSchedulingPropertiesChange interprets the update of a node and returns corresponding UpdateNodeXYZ event(s).
PodSchedulingPropertiesChange interprets the update of a pod and returns corresponding UpdatePodXYZ event(s).

# Constants

Constants for ActionTypes.
Constants for ActionTypes.
BackoffComplete is the event when a pod finishes backoff.
Constants for GVKs.
Constants for GVKs.
Constants for GVKs.
DefaultBindAllHostIP defines the default ip address used to bind to all host.
Constants for ActionTypes.
Constants for GVKs.
Error is one of the failures, used for internal plugin errors, unexpected input, etc.
ExtenderName is a fake plugin name put in UnschedulablePlugins when Extender rejected some Nodes.
ForceActivate is the event when a pod is moved from unschedulablePods/backoffQ to activeQ.
MaxNodeScore is the maximum score a Score plugin is expected to return.
MaxTotalScore is the maximum total score.
MinNodeScore is the minimum score a Score plugin is expected to return.
A note about NodeAdd event and UpdateNodeTaint event: When QHint is disabled, NodeAdd often isn't worked expectedly because of the internal feature called preCheck.
NoNodeAvailableMsg is used to format message when no nodes available.
Pending means that the scheduling process is finished successfully, but the plugin wants to stop the scheduling cycle/binding cycle here.
Constants for GVKs.
Constants for GVKs.
There are a couple of notes about how the scheduler notifies the events of Pods: - Add: add events could be triggered by either a newly created Pod or an existing Pod that is scheduled to a Node.
Queue implies that the Pod may be schedulable by the event.
QueueSkip implies that the cluster event has no impact on scheduling of the pod.
Constants for GVKs.
Constants for GVKs.
ScheduleAttemptFailure is the event when a schedule attempt fails.
Skip is used in the following scenarios: - when a Bind plugin chooses to skip binding.
Constants for GVKs.
Success means that plugin ran correctly and found pod schedulable.
Unschedulable is one of the failures, used when a plugin finds a pod unschedulable.
UnschedulableAndUnresolvable is used when a plugin finds a pod unschedulable and other postFilter plugins like preemption would not change anything.
UnschedulableTimeout is the event when a pod is moved from unschedulablePods due to the timeout specified at pod-max-in-unschedulable-pods-duration.
Use the general Update type if you don't either know or care the specific sub-Update type to use.
UpdateNodeXYZ is only applicable for Node events.
Constants for ActionTypes.
Constants for ActionTypes.
Constants for ActionTypes.
UpdateNodeTaint is an update for node's taints or node.Spec.Unschedulable.
UpdatePodGeneratedResourceClaim is an update of the list of ResourceClaims generated for the pod.
UpdatePodXYZ is only applicable for Pod events.
UpdatePodScaleDown is an update for pod's scale down (i.e., any resource request is reduced).
UpdatePodSchedulingGatesEliminated is an update for pod's scheduling gates, which eliminates all scheduling gates in the Pod.
UpdatePodToleration is an addition for pod's tolerations.
Constants for GVKs.
Wait is used when a Permit plugin finds a pod scheduling should wait.
WildCard is a special EventResource to match all resources.

# Variables

ErrNotFound is the not found error message.
EventAssignedPodAdd is the event when an assigned pod is added.
EventAssignedPodDelete is the event when an assigned pod is deleted.
EventAssignedPodUpdate is the event when an assigned pod is updated.
EventForceActivate is the event when a pod is moved from unschedulablePods/backoffQ to activeQ.
EventUnschedulableTimeout is the event when a pod stays in unschedulable for longer than timeout.
EventUnscheduledPodAdd is the event when an unscheduled pod is added.
EventUnscheduledPodDelete is the event when an unscheduled pod is deleted.
EventUnscheduledPodUpdate is the event when an unscheduled pod is updated.
PodsToActivateKey is a reserved state key for stashing pods.

# Structs

AffinityTerm is a processed version of v1.PodAffinityTerm.
ClusterEvent abstracts how a system resource's state gets changed.
CycleState provides a mechanism for plugins to store and retrieve arbitrary data.
Diagnosis records the details to diagnose a scheduling failure.
FitError describes a fit error of a pod.
ImageStateSummary provides summarized information about the state of an image.
NodeInfo is node level aggregated information.
NodePluginScores is a struct with node name and scores for that node.
NodeScore is a struct with node name and score.
NodeToStatus contains the statuses of the Nodes where the incoming Pod was not schedulable.
PluginScore is a struct with plugin/extender name and score.
PodInfo is a wrapper to a Pod with additional pre-computed information to accelerate processing.
PodsToActivate stores pods to be activated.
PostFilterResult wraps needed info for scheduler framework to act upon PostFilter phase.
PreFilterResult wraps needed info for scheduler framework to act upon PreFilter phase.
ProtocolPort represents a protocol port pair, e.g.
QueuedPodInfo is a Pod wrapper with additional information related to the pod's status in the scheduling queue, such as the timestamp when it's added to the queue.
Resource is a collection of compute resource.
Status indicates the result of running a plugin.
WeightedAffinityTerm is a "processed" representation of v1.WeightedAffinityTerm.

# Interfaces

BindPlugin is an interface that must be implemented by "Bind" plugins.
DeviceClassLister can be used to obtain DeviceClasses.
EnqueueExtensions is an optional interface that plugins can implement to efficiently move unschedulable Pods in internal scheduling queues.
Extender is an interface for external processes to influence scheduling decisions made by Kubernetes.
FilterPlugin is an interface for Filter plugins.
Framework manages the set of plugins in use by the scheduling framework.
Handle provides data and some tools that plugins can use.
NodeInfoLister interface represents anything that can list/get NodeInfo objects from node name.
NodeToStatusReader is a read-only interface of NodeToStatus passed to each PostFilter plugin.
PermitPlugin is an interface that must be implemented by "Permit" plugins.
Plugin is the parent type for all the scheduling framework plugins.
PluginsRunner abstracts operations to run some plugins.
PodActivator abstracts operations in the scheduling queue.
PodNominator abstracts operations to maintain nominated Pods.
PostBindPlugin is an interface that must be implemented by "PostBind" plugins.
PostFilterPlugin is an interface for "PostFilter" plugins.
PreBindPlugin is an interface that must be implemented by "PreBind" plugins.
PreEnqueuePlugin is an interface that must be implemented by "PreEnqueue" plugins.
PreFilterExtensions is an interface that is included in plugins that allow specifying callbacks to make incremental updates to its supposedly pre-calculated state.
PreFilterPlugin is an interface that must be implemented by "PreFilter" plugins.
PreScorePlugin is an interface for "PreScore" plugin.
QueueSortPlugin is an interface that must be implemented by "QueueSort" plugins.
ReservePlugin is an interface for plugins with Reserve and Unreserve methods.
ResourceClaimTracker can be used to obtain ResourceClaims, and track changes to ResourceClaims in-memory.
ResourceSliceLister can be used to obtain ResourceSlices.
ScoreExtensions is an interface for Score extended functionality.
ScorePlugin is an interface that must be implemented by "Score" plugins to rank nodes that passed the filtering phase.
SharedDRAManager can be used to obtain DRA objects, and track modifications to them in-memory - mainly by the DRA plugin.
SharedLister groups scheduler-specific listers.
StateData is a generic type for arbitrary data stored in CycleState.
StorageInfoLister interface represents anything that handles storage-related operations and resources.
WaitingPod represents a pod currently waiting in the permit phase.

# Type aliases

ActionType is an integer to represent one type of resource change.
Code is the Status code/type which is returned from plugins.
EventResource is basically short for group/version/kind, which can uniquely represent a particular API resource.
HostPortInfo stores mapping from ip to a set of ProtocolPort.
LessFunc is the function to sort pod info.
NodeScoreList declares a list of nodes and their scores.
NodeToStatusMap is an alias for NodeToStatusReader to keep partial backwards compatibility.
QueueingHintFn returns a hint that signals whether the event can make a Pod, which was rejected by this plugin in the past scheduling cycle, schedulable or not.
StateKey is the type of keys stored in CycleState.