lifecycle

package
v0.37.6 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2024 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InsufficientCapacityErrorEvent

func InsufficientCapacityErrorEvent(nodeClaim *v1beta1.NodeClaim, err error) events.Event

func KnownEphemeralTaintsRemoved

func KnownEphemeralTaintsRemoved(node *v1.Node) (*v1.Taint, bool)

KnownEphemeralTaintsRemoved validates whether all the ephemeral taints are removed

func NodeClassNotReadyEvent

func NodeClassNotReadyEvent(nodeClaim *v1beta1.NodeClaim, err error) events.Event

func PopulateNodeClaimDetails

func PopulateNodeClaimDetails(nodeClaim, retrieved *v1beta1.NodeClaim) *v1beta1.NodeClaim

func RequestedResourcesRegistered

func RequestedResourcesRegistered(node *v1.Node, nodeClaim *v1beta1.NodeClaim) (v1.ResourceName, bool)

RequestedResourcesRegistered returns true if there are no extended resources on the node, or they have all been registered by device plugins

func StartupTaintsRemoved

func StartupTaintsRemoved(node *v1.Node, nodeClaim *v1beta1.NodeClaim) (*v1.Taint, bool)

StartupTaintsRemoved returns true if there are no startup taints registered for the nodepool, or if all startup taints have been removed from the node

Types

type Controller

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

Controller is a NodeClaim Lifecycle controller that manages the lifecycle of the NodeClaim up until its termination The controller is responsible for ensuring that new Nodes get launched, that they have properly registered with the cluster as nodes and that they are properly initialized, ensuring that nodeclaims that do not have matching nodes after some liveness TTL are removed

func NewController

func NewController(clk clock.Clock, kubeClient client.Client, cloudProvider cloudprovider.CloudProvider, recorder events.Recorder) *Controller

func (*Controller) Reconcile

func (c *Controller) Reconcile(ctx context.Context, nodeClaim *v1beta1.NodeClaim) (reconcile.Result, error)

func (*Controller) Register added in v0.37.0

func (c *Controller) Register(_ context.Context, m manager.Manager) error

type Initialization

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

func (*Initialization) Reconcile

func (i *Initialization) Reconcile(ctx context.Context, nodeClaim *v1beta1.NodeClaim) (reconcile.Result, error)

Reconcile checks for initialization based on if: a) its current status is set to Ready b) all the startup taints have been removed from the node c) all extended resources have been registered This method handles both nil nodepools and nodes without extended resources gracefully.

type Launch

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

func (*Launch) Reconcile

func (l *Launch) Reconcile(ctx context.Context, nodeClaim *v1beta1.NodeClaim) (reconcile.Result, error)

type Liveness

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

func (*Liveness) Reconcile

func (l *Liveness) Reconcile(ctx context.Context, nodeClaim *v1beta1.NodeClaim) (reconcile.Result, error)

type Registration

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

func (*Registration) Reconcile

func (r *Registration) Reconcile(ctx context.Context, nodeClaim *v1beta1.NodeClaim) (reconcile.Result, error)

Jump to

Keyboard shortcuts

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