Documentation ¶
Index ¶
- func InsufficientCapacityErrorEvent(nodeClaim *v1.NodeClaim, err error) events.Event
- func KnownEphemeralTaintsRemoved(node *corev1.Node) (*corev1.Taint, bool)
- func NodeClassNotReadyEvent(nodeClaim *v1.NodeClaim, err error) events.Event
- func PopulateNodeClaimDetails(nodeClaim, retrieved *v1.NodeClaim) *v1.NodeClaim
- func RequestedResourcesRegistered(node *corev1.Node, nodeClaim *v1.NodeClaim) (corev1.ResourceName, bool)
- func StartupTaintsRemoved(node *corev1.Node, nodeClaim *v1.NodeClaim) (*corev1.Taint, bool)
- type Controller
- type Initialization
- type Launch
- type Liveness
- type Registration
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func KnownEphemeralTaintsRemoved ¶
KnownEphemeralTaintsRemoved validates whether all the ephemeral taints are removed
func NodeClassNotReadyEvent ¶
func RequestedResourcesRegistered ¶
func RequestedResourcesRegistered(node *corev1.Node, nodeClaim *v1.NodeClaim) (corev1.ResourceName, bool)
RequestedResourcesRegistered returns true if there are no extended resources on the node, or they have all been registered by device plugins
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
type Initialization ¶
type Initialization struct {
// contains filtered or unexported fields
}
func (*Initialization) Reconcile ¶
func (i *Initialization) Reconcile(ctx context.Context, nodeClaim *v1.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.