Documentation ¶
Index ¶
- type CreateNodeGroupResult
- type NoOpNodeGroupListProcessor
- type NoOpNodeGroupManager
- func (*NoOpNodeGroupManager) CleanUp()
- func (*NoOpNodeGroupManager) CreateNodeGroup(context *context.AutoscalingContext, nodeGroup cloudprovider.NodeGroup) (CreateNodeGroupResult, errors.AutoscalerError)
- func (*NoOpNodeGroupManager) RemoveUnneededNodeGroups(context *context.AutoscalingContext) error
- type NodeGroupListProcessor
- type NodeGroupManager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateNodeGroupResult ¶
type CreateNodeGroupResult struct { // Main created node group, matching the requested node group passed to CreateNodeGroup call MainCreatedNodeGroup cloudprovider.NodeGroup // List of extra node groups created by CreateNodeGroup call. Non-empty if due manager specific // constraints creating one node group requires creating other ones (e.g. matching node group // must exist in each zone for multizonal deployments) ExtraCreatedNodeGroups []cloudprovider.NodeGroup }
CreateNodeGroupResult result captures result of successful NodeGroupManager.CreateNodeGroup call.
type NoOpNodeGroupListProcessor ¶
type NoOpNodeGroupListProcessor struct { }
NoOpNodeGroupListProcessor is returning pod lists without processing them.
func (*NoOpNodeGroupListProcessor) CleanUp ¶
func (p *NoOpNodeGroupListProcessor) CleanUp()
CleanUp cleans up the processor's internal structures.
func (*NoOpNodeGroupListProcessor) Process ¶
func (p *NoOpNodeGroupListProcessor) Process(context *context.AutoscalingContext, nodeGroups []cloudprovider.NodeGroup, nodeInfos map[string]*schedulernodeinfo.NodeInfo, unschedulablePods []*apiv1.Pod) ([]cloudprovider.NodeGroup, map[string]*schedulernodeinfo.NodeInfo, error)
Process processes lists of unschedulable and scheduled pods before scaling of the cluster.
type NoOpNodeGroupManager ¶
type NoOpNodeGroupManager struct { }
NoOpNodeGroupManager is a no-op implementation of NodeGroupManager. It does not remove any node groups and its CreateNodeGroup method always returns an error. To be used together with NoOpNodeGroupListProcessor.
func (*NoOpNodeGroupManager) CleanUp ¶
func (*NoOpNodeGroupManager) CleanUp()
CleanUp does nothing in NoOpNodeGroupManager
func (*NoOpNodeGroupManager) CreateNodeGroup ¶
func (*NoOpNodeGroupManager) CreateNodeGroup(context *context.AutoscalingContext, nodeGroup cloudprovider.NodeGroup) (CreateNodeGroupResult, errors.AutoscalerError)
CreateNodeGroup always returns internal error. It must not be called on NoOpNodeGroupManager.
func (*NoOpNodeGroupManager) RemoveUnneededNodeGroups ¶
func (*NoOpNodeGroupManager) RemoveUnneededNodeGroups(context *context.AutoscalingContext) error
RemoveUnneededNodeGroups does nothing in NoOpNodeGroupManager
type NodeGroupListProcessor ¶
type NodeGroupListProcessor interface { Process(context *context.AutoscalingContext, nodeGroups []cloudprovider.NodeGroup, nodeInfos map[string]*schedulernodeinfo.NodeInfo, unschedulablePods []*apiv1.Pod) ([]cloudprovider.NodeGroup, map[string]*schedulernodeinfo.NodeInfo, error) CleanUp() }
NodeGroupListProcessor processes lists of NodeGroups considered in scale-up.
func NewDefaultNodeGroupListProcessor ¶
func NewDefaultNodeGroupListProcessor() NodeGroupListProcessor
NewDefaultNodeGroupListProcessor creates an instance of NodeGroupListProcessor.
type NodeGroupManager ¶
type NodeGroupManager interface { CreateNodeGroup(context *context.AutoscalingContext, nodeGroup cloudprovider.NodeGroup) (CreateNodeGroupResult, errors.AutoscalerError) RemoveUnneededNodeGroups(context *context.AutoscalingContext) error CleanUp() }
NodeGroupManager is responsible for creating/deleting node groups.
func NewDefaultNodeGroupManager ¶
func NewDefaultNodeGroupManager() NodeGroupManager
NewDefaultNodeGroupManager creates an instance of NodeGroupManager.