Documentation

Index

Constants

View Source
const BalancedAllocationName = "NodeResourcesBalancedAllocation"

    BalancedAllocationName is the name of the plugin used in the plugin registry and configurations.

    View Source
    const (
    	// FitName is the name of the plugin used in the plugin registry and configurations.
    	FitName = "NodeResourcesFit"
    )
    View Source
    const LeastAllocatedName = "NodeResourcesLeastAllocated"

      LeastAllocatedName is the name of the plugin used in the plugin registry and configurations.

      View Source
      const MostAllocatedName = "NodeResourcesMostAllocated"

        MostAllocatedName is the name of the plugin used in the plugin registry and configurations.

        View Source
        const (
        	// RequestedToCapacityRatioName is the name of this plugin.
        	RequestedToCapacityRatioName = "RequestedToCapacityRatio"
        )

        Variables

        This section is empty.

        Functions

        func NewBalancedAllocation

        func NewBalancedAllocation(_ runtime.Object, h framework.Handle) (framework.Plugin, error)

          NewBalancedAllocation initializes a new plugin and returns it.

          func NewFit

          func NewFit(plArgs runtime.Object, _ framework.Handle) (framework.Plugin, error)

            NewFit initializes a new plugin and returns it.

            func NewLeastAllocated

            func NewLeastAllocated(laArgs runtime.Object, h framework.Handle) (framework.Plugin, error)

              NewLeastAllocated initializes a new plugin and returns it.

              func NewMostAllocated

              func NewMostAllocated(maArgs runtime.Object, h framework.Handle) (framework.Plugin, error)

                NewMostAllocated initializes a new plugin and returns it.

                func NewRequestedToCapacityRatio

                func NewRequestedToCapacityRatio(plArgs runtime.Object, handle framework.Handle) (framework.Plugin, error)

                  NewRequestedToCapacityRatio initializes a new plugin and returns it.

                  Types

                  type BalancedAllocation

                  type BalancedAllocation struct {
                  	// contains filtered or unexported fields
                  }

                    BalancedAllocation is a score plugin that calculates the difference between the cpu and memory fraction of capacity, and prioritizes the host based on how close the two metrics are to each other.

                    func (*BalancedAllocation) Name

                    func (ba *BalancedAllocation) Name() string

                      Name returns name of the plugin. It is used in logs, etc.

                      func (*BalancedAllocation) Score

                      func (ba *BalancedAllocation) Score(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) (int64, *framework.Status)

                        Score invoked at the score extension point.

                        func (*BalancedAllocation) ScoreExtensions

                        func (ba *BalancedAllocation) ScoreExtensions() framework.ScoreExtensions

                          ScoreExtensions of the Score plugin.

                          type Fit

                          type Fit struct {
                          	// contains filtered or unexported fields
                          }

                            Fit is a plugin that checks if a node has sufficient resources.

                            func (*Fit) Filter

                            func (f *Fit) Filter(ctx context.Context, cycleState *framework.CycleState, pod *v1.Pod, nodeInfo *framework.NodeInfo) *framework.Status

                              Filter invoked at the filter extension point. Checks if a node has sufficient resources, such as cpu, memory, gpu, opaque int resources etc to run a pod. It returns a list of insufficient resources, if empty, then the node has all the resources requested by the pod.

                              func (*Fit) Name

                              func (f *Fit) Name() string

                                Name returns name of the plugin. It is used in logs, etc.

                                func (*Fit) PreFilter

                                func (f *Fit) PreFilter(ctx context.Context, cycleState *framework.CycleState, pod *v1.Pod) *framework.Status

                                  PreFilter invoked at the prefilter extension point.

                                  func (*Fit) PreFilterExtensions

                                  func (f *Fit) PreFilterExtensions() framework.PreFilterExtensions

                                    PreFilterExtensions returns prefilter extensions, pod add and remove.

                                    type InsufficientResource

                                    type InsufficientResource struct {
                                    	ResourceName v1.ResourceName
                                    	// We explicitly have a parameter for reason to avoid formatting a message on the fly
                                    	// for common resources, which is expensive for cluster autoscaler simulations.
                                    	Reason    string
                                    	Requested int64
                                    	Used      int64
                                    	Capacity  int64
                                    }

                                      InsufficientResource describes what kind of resource limit is hit and caused the pod to not fit the node.

                                      func Fits

                                      func Fits(pod *v1.Pod, nodeInfo *framework.NodeInfo) []InsufficientResource

                                        Fits checks if node have enough resources to host the pod.

                                        type LeastAllocated

                                        type LeastAllocated struct {
                                        	// contains filtered or unexported fields
                                        }

                                          LeastAllocated is a score plugin that favors nodes with fewer allocation requested resources based on requested resources.

                                          func (*LeastAllocated) Name

                                          func (la *LeastAllocated) Name() string

                                            Name returns name of the plugin. It is used in logs, etc.

                                            func (*LeastAllocated) Score

                                            func (la *LeastAllocated) Score(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) (int64, *framework.Status)

                                              Score invoked at the score extension point.

                                              func (*LeastAllocated) ScoreExtensions

                                              func (la *LeastAllocated) ScoreExtensions() framework.ScoreExtensions

                                                ScoreExtensions of the Score plugin.

                                                type MostAllocated

                                                type MostAllocated struct {
                                                	// contains filtered or unexported fields
                                                }

                                                  MostAllocated is a score plugin that favors nodes with high allocation based on requested resources.

                                                  func (*MostAllocated) Name

                                                  func (ma *MostAllocated) Name() string

                                                    Name returns name of the plugin. It is used in logs, etc.

                                                    func (*MostAllocated) Score

                                                    func (ma *MostAllocated) Score(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) (int64, *framework.Status)

                                                      Score invoked at the Score extension point.

                                                      func (*MostAllocated) ScoreExtensions

                                                      func (ma *MostAllocated) ScoreExtensions() framework.ScoreExtensions

                                                        ScoreExtensions of the Score plugin.

                                                        type RequestedToCapacityRatio

                                                        type RequestedToCapacityRatio struct {
                                                        	// contains filtered or unexported fields
                                                        }

                                                          RequestedToCapacityRatio is a score plugin that allow users to apply bin packing on core resources like CPU, Memory as well as extended resources like accelerators.

                                                          func (*RequestedToCapacityRatio) Name

                                                          func (pl *RequestedToCapacityRatio) Name() string

                                                            Name returns name of the plugin. It is used in logs, etc.

                                                            func (*RequestedToCapacityRatio) Score

                                                              Score invoked at the score extension point.

                                                              func (*RequestedToCapacityRatio) ScoreExtensions

                                                              func (pl *RequestedToCapacityRatio) ScoreExtensions() framework.ScoreExtensions

                                                                ScoreExtensions of the Score plugin.