Documentation ¶
Index ¶
- type AtomicResizeFilteringProcessor
- type CompositeScaleDownSetProcessor
- type MaxNodesProcessor
- type PreFilteringScaleDownNodeProcessor
- func (n *PreFilteringScaleDownNodeProcessor) CleanUp()
- func (n *PreFilteringScaleDownNodeProcessor) GetPodDestinationCandidates(ctx *context.AutoscalingContext, nodes []*apiv1.Node) ([]*apiv1.Node, errors.AutoscalerError)
- func (n *PreFilteringScaleDownNodeProcessor) GetScaleDownCandidates(ctx *context.AutoscalingContext, nodes []*apiv1.Node) ([]*apiv1.Node, errors.AutoscalerError)
- type ScaleDownNodeProcessor
- type ScaleDownSetProcessor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AtomicResizeFilteringProcessor ¶
type AtomicResizeFilteringProcessor struct { }
AtomicResizeFilteringProcessor removes node groups which should be scaled down as one unit if only part of these nodes were scheduled for scale down. NOTE! When chaining with other processors, AtomicResizeFilteringProcessors should be always used last. Otherwise, it's possible that another processor will break the property that this processor aims to restore: no partial scale-downs for node groups that should be resized atomically.
func NewAtomicResizeFilteringProcessor ¶
func NewAtomicResizeFilteringProcessor() *AtomicResizeFilteringProcessor
NewAtomicResizeFilteringProcessor returns a new AtomicResizeFilteringProcessor
func (*AtomicResizeFilteringProcessor) CleanUp ¶
func (p *AtomicResizeFilteringProcessor) CleanUp()
CleanUp is called at CA termination
func (*AtomicResizeFilteringProcessor) GetNodesToRemove ¶
func (p *AtomicResizeFilteringProcessor) GetNodesToRemove(ctx *context.AutoscalingContext, candidates []simulator.NodeToBeRemoved, maxCount int) []simulator.NodeToBeRemoved
GetNodesToRemove selects up to maxCount nodes for deletion, by selecting a first maxCount candidates
type CompositeScaleDownSetProcessor ¶
type CompositeScaleDownSetProcessor struct {
// contains filtered or unexported fields
}
CompositeScaleDownSetProcessor is a ScaleDownSetProcessor composed of multiple sub-processors passed as an argument.
func NewCompositeScaleDownSetProcessor ¶
func NewCompositeScaleDownSetProcessor(orderedProcessorList []ScaleDownSetProcessor) *CompositeScaleDownSetProcessor
NewCompositeScaleDownSetProcessor creates new CompositeScaleDownSetProcessor. The order on a list defines order in witch sub-processors are invoked.
func (*CompositeScaleDownSetProcessor) CleanUp ¶
func (p *CompositeScaleDownSetProcessor) CleanUp()
CleanUp is called at CA termination
func (*CompositeScaleDownSetProcessor) GetNodesToRemove ¶
func (p *CompositeScaleDownSetProcessor) GetNodesToRemove(ctx *context.AutoscalingContext, candidates []simulator.NodeToBeRemoved, maxCount int) []simulator.NodeToBeRemoved
GetNodesToRemove selects nodes to remove.
type MaxNodesProcessor ¶
type MaxNodesProcessor struct { }
MaxNodesProcessor selects first maxCount nodes (if possible) to be removed
func NewMaxNodesProcessor ¶
func NewMaxNodesProcessor() *MaxNodesProcessor
NewMaxNodesProcessor returns a new MaxNodesProcessor
func (*MaxNodesProcessor) CleanUp ¶
func (p *MaxNodesProcessor) CleanUp()
CleanUp is called at CA termination
func (*MaxNodesProcessor) GetNodesToRemove ¶
func (p *MaxNodesProcessor) GetNodesToRemove(ctx *context.AutoscalingContext, candidates []simulator.NodeToBeRemoved, maxCount int) []simulator.NodeToBeRemoved
GetNodesToRemove selects up to maxCount nodes for deletion, by selecting a first maxCount candidates
type PreFilteringScaleDownNodeProcessor ¶
type PreFilteringScaleDownNodeProcessor struct { }
PreFilteringScaleDownNodeProcessor filters out scale down candidates from nodegroup with size <= minimum number of nodes for that nodegroup and filters out node from non-autoscaled nodegroups
func NewPreFilteringScaleDownNodeProcessor ¶
func NewPreFilteringScaleDownNodeProcessor() *PreFilteringScaleDownNodeProcessor
NewPreFilteringScaleDownNodeProcessor returns a new PreFilteringScaleDownNodeProcessor.
func (*PreFilteringScaleDownNodeProcessor) CleanUp ¶
func (n *PreFilteringScaleDownNodeProcessor) CleanUp()
CleanUp is called at CA termination.
func (*PreFilteringScaleDownNodeProcessor) GetPodDestinationCandidates ¶
func (n *PreFilteringScaleDownNodeProcessor) GetPodDestinationCandidates(ctx *context.AutoscalingContext, nodes []*apiv1.Node) ([]*apiv1.Node, errors.AutoscalerError)
GetPodDestinationCandidates returns nodes that potentially could act as destinations for pods that would become unscheduled after a scale down.
func (*PreFilteringScaleDownNodeProcessor) GetScaleDownCandidates ¶
func (n *PreFilteringScaleDownNodeProcessor) GetScaleDownCandidates(ctx *context.AutoscalingContext, nodes []*apiv1.Node) ([]*apiv1.Node, errors.AutoscalerError)
GetScaleDownCandidates returns nodes that potentially could be scaled down and
type ScaleDownNodeProcessor ¶
type ScaleDownNodeProcessor interface { // GetPodDestinationCandidates returns nodes that potentially could act as destinations for pods // that would become unscheduled after a scale down. GetPodDestinationCandidates(*context.AutoscalingContext, []*apiv1.Node) ([]*apiv1.Node, errors.AutoscalerError) // GetScaleDownCandidates returns nodes that potentially could be scaled down. GetScaleDownCandidates(*context.AutoscalingContext, []*apiv1.Node) ([]*apiv1.Node, errors.AutoscalerError) // CleanUp is called at CA termination CleanUp() }
ScaleDownNodeProcessor contains methods to get harbor and scale down candidate nodes
type ScaleDownSetProcessor ¶
type ScaleDownSetProcessor interface { // GetNodesToRemove selects up to maxCount nodes for deletion GetNodesToRemove(ctx *context.AutoscalingContext, candidates []simulator.NodeToBeRemoved, maxCount int) []simulator.NodeToBeRemoved // CleanUp is called at CA termination CleanUp() }
ScaleDownSetProcessor contains a method to select nodes for deletion