controllers

package
v0.0.0-...-a692f2c Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2022 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AllNodesFlaggerController

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

AllNodesFlaggerController is a controller that flags all nodes to be drained.

func NewAllNodesFlaggerController

func NewAllNodesFlaggerController(client kube.Interface) *AllNodesFlaggerController

NewAllNodesFlaggerController creates a new controller which flags all nodes for replacement

func (*AllNodesFlaggerController) Run

Run executes the actions from the controller

type DeleteNodeController

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

DeleteNodeController performs node deletions It listens on pod and node events.

For a pod being deleted or updated, it checks that the pod is stopped, and how many pods the node still has. If that node has no pods anymore, it triggers a deletion.

For a node being updated, it checks if that node still has pods running. It it doesn't have any, it triggers a deletion.

func NewDeleteNodeController

func NewDeleteNodeController(kubeClient kube.Interface, cloudClient cloudprovider.CloudProvider, podInformer coreinformers.PodInformer, nodeInformer coreinformers.NodeInformer) *DeleteNodeController

NewDeleteNodeController instantiates a new deletion controller

func (*DeleteNodeController) Run

func (c *DeleteNodeController) Run(doneCh chan struct{})

Run start the controller

type EvictNodeController

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

EvictNodeController is a controller which performs node eviction. It listsns on node events.

When a new node comes online and ready to accept pods, it triggers an eviction for another node found randomly.

func NewEvictNodeController

func NewEvictNodeController(client kube.Interface, nodeInformer coreinformers.NodeInformer, c int, i bool) *EvictNodeController

NewEvictNodeController instantiates a new eviction controller

func (*EvictNodeController) Run

func (c *EvictNodeController) Run(finishedCh chan struct{}, parentDoneCh chan struct{})

Run starts the controller

type OldNodesFlaggerController

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

OldNodesFlaggerController is a controller that flags old nodes to be drained and watches when nodes reach an uptime too big

func NewOldNodesFlaggerController

func NewOldNodesFlaggerController(client kube.Interface, i time.Duration) *OldNodesFlaggerController

NewOldNodesFlaggerController creates a new controller which flags old nodes for replacement

func (*OldNodesFlaggerController) Run

func (c *OldNodesFlaggerController) Run(doneCh chan struct{}, maxUptime time.Duration)

Run executes the actions from the controller

Jump to

Keyboard shortcuts

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