node

package
v1.6.1 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2020 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// UncordonAfterRebootLabelVal is a k8s label value that can added to an action label to uncordon a node
	UncordonAfterRebootLabelVal = "UncordonAfterReboot"
	// ActionLabelKey is a k8s label key that can be added to the k8s node NTH is running on
	ActionLabelKey = "aws-node-termination-handler/action"
	// ActionLabelTimeKey is a k8s label key whose value is the secs since the epoch when an action label is added
	ActionLabelTimeKey = "aws-node-termination-handler/action-time"
	// EventIDLabelKey is a k8s label key whose value is the drainable event id
	EventIDLabelKey = "aws-node-termination-handler/event-id"
)
View Source
const (
	// SpotInterruptionTaint is a taint used to make spot instance unschedulable
	SpotInterruptionTaint = "aws-node-termination-handler/spot-itn"
	// ScheduledMaintenanceTaint is a taint used to make spot instance unschedulable
	ScheduledMaintenanceTaint = "aws-node-termination-handler/scheduled-maintenance"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Node

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

Node represents a kubernetes node with functions to manipulate its state via the kubernetes api server

func New

func New(nthConfig config.Config) (*Node, error)

New will construct a node struct to perform various node function through the kubernetes api server

func NewWithValues added in v1.3.0

func NewWithValues(nthConfig config.Config, drainHelper *drain.Helper, uptime uptime.UptimeFuncType) (*Node, error)

NewWithValues will construct a node struct with a drain helper and an uptime function

func (Node) Cordon added in v1.4.0

func (n Node) Cordon() error

Cordon will add a NoSchedule on the node

func (Node) CordonAndDrain added in v1.4.0

func (n Node) CordonAndDrain() error

CordonAndDrain will cordon the node and evict pods based on the config

func (Node) GetEventID

func (n Node) GetEventID() (string, error)

GetEventID will retrieve the event ID value from the node label

func (Node) GetName added in v1.5.0

func (n Node) GetName() string

GetName returns node name from the configuration.

func (Node) IsLabeledWithAction

func (n Node) IsLabeledWithAction() (bool, error)

IsLabeledWithAction will return true if the current node is labeled with NTH action labels

func (Node) IsUnschedulable

func (n Node) IsUnschedulable() (bool, error)

IsUnschedulable checks if the node is marked as unschedulable

func (Node) MarkForUncordonAfterReboot

func (n Node) MarkForUncordonAfterReboot() error

MarkForUncordonAfterReboot adds labels to the kubernetes node which NTH will read upon reboot

func (Node) MarkWithEventID

func (n Node) MarkWithEventID(eventID string) error

MarkWithEventID will add the drain event ID to the node to be properly ignored after a system restart event

func (Node) RemoveNTHLabels

func (n Node) RemoveNTHLabels() error

RemoveNTHLabels will remove all the custom NTH labels added to the node

func (Node) RemoveNTHTaints added in v1.5.0

func (n Node) RemoveNTHTaints() error

RemoveNTHTaints removes NTH-specific taints from a node

func (Node) TaintScheduledMaintenance added in v1.5.0

func (n Node) TaintScheduledMaintenance(eventID string) error

TaintScheduledMaintenance adds the scheduled maintenance taint onto a node

func (Node) TaintSpotItn added in v1.5.0

func (n Node) TaintSpotItn(eventID string) error

TaintSpotItn adds the spot termination notice taint onto a node

func (Node) Uncordon

func (n Node) Uncordon() error

Uncordon will remove the NoSchedule on the node

func (Node) UncordonIfRebooted

func (n Node) UncordonIfRebooted() error

UncordonIfRebooted will check for node labels to trigger an uncordon because of a system-reboot scheduled event

Jump to

Keyboard shortcuts

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