Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AutoscalingProcessors ¶
type AutoscalingProcessors struct { // PodListProcessor is used to process list of unschedulable pods before autoscaling. PodListProcessor pods.PodListProcessor // NodeGroupListProcessor is used to process list of NodeGroups that can be used in scale-up. NodeGroupListProcessor nodegroups.NodeGroupListProcessor // BinpackingLimiter processes expansion options to stop binpacking early. BinpackingLimiter binpacking.BinpackingLimiter // NodeGroupSetProcessor is used to divide scale-up between similar NodeGroups. NodeGroupSetProcessor nodegroupset.NodeGroupSetProcessor // ScaleUpStatusProcessor is used to process the state of the cluster after a scale-up. ScaleUpStatusProcessor status.ScaleUpStatusProcessor // ScaleDownNodeProcessor is used to process the nodes of the cluster before scale-down. ScaleDownNodeProcessor nodes.ScaleDownNodeProcessor // ScaleDownSetProcessor is used to make final selection of nodes to scale-down. ScaleDownSetProcessor nodes.ScaleDownSetProcessor // ScaleDownStatusProcessor is used to process the state of the cluster after a scale-down. ScaleDownStatusProcessor status.ScaleDownStatusProcessor // AutoscalingStatusProcessor is used to process the state of the cluster after each autoscaling iteration. AutoscalingStatusProcessor status.AutoscalingStatusProcessor // NodeGroupManager is responsible for creating/deleting node groups. NodeGroupManager nodegroups.NodeGroupManager // TemplateNodeInfoProvider is used to create the initial nodeInfos set. TemplateNodeInfoProvider nodeinfosprovider.TemplateNodeInfoProvider // NodeGroupConfigProcessor provides config option for each NodeGroup. NodeGroupConfigProcessor nodegroupconfig.NodeGroupConfigProcessor // CustomResourcesProcessor is interface defining handling custom resources CustomResourcesProcessor customresources.CustomResourcesProcessor // ActionableClusterProcessor is interface defining whether the cluster is in an actionable state ActionableClusterProcessor actionablecluster.ActionableClusterProcessor // ScaleDownCandidatesNotifier is used to Update and Register new scale down candidates observer. ScaleDownCandidatesNotifier *scaledowncandidates.ObserversList // ScaleStateNotifier is used to notify // * scale-ups per nodegroup // * scale-downs per nodegroup // * scale-up failures per nodegroup // * scale-down failures per nodegroup ScaleStateNotifier *nodegroupchange.NodeGroupChangeObserversList // AsyncNodeGroupChecker checks if node group is upcoming or not AsyncNodeGroupStateChecker asyncnodegroups.AsyncNodeGroupStateChecker }
AutoscalingProcessors are a set of customizable processors used for encapsulating various heuristics used in different parts of Cluster Autoscaler code.
func DefaultProcessors ¶
func DefaultProcessors(options config.AutoscalingOptions) *AutoscalingProcessors
DefaultProcessors returns default set of processors.
func (*AutoscalingProcessors) CleanUp ¶
func (ap *AutoscalingProcessors) CleanUp()
CleanUp cleans up the processors' internal structures.
Click to show internal directories.
Click to hide internal directories.