nodegroups

package
v0.0.0-...-386b7fa Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2019 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

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

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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL