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 ¶
func (c *AllNodesFlaggerController) Run() error
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