Documentation
¶
Index ¶
- func InsufficientCapacityErrorEvent(nodeClaim *v1beta1.NodeClaim, err error) events.Event
- func KnownEphemeralTaintsRemoved(node *v1.Node) (*v1.Taint, bool)
- func NewMachineController(clk clock.Clock, kubeClient client.Client, ...) corecontroller.Controller
- func NewNodeClaimController(clk clock.Clock, kubeClient client.Client, ...) corecontroller.Controller
- func PopulateNodeClaimDetails(nodeClaim, retrieved *v1beta1.NodeClaim) *v1beta1.NodeClaim
- func RequestedResourcesRegistered(node *v1.Node, nodeClaim *v1beta1.NodeClaim) (v1.ResourceName, bool)
- func StartupTaintsRemoved(node *v1.Node, nodeClaim *v1beta1.NodeClaim) (*v1.Taint, bool)
- type Controller
- type Initialization
- type Launch
- type Liveness
- type MachineController
- type NodeClaimController
- type Registration
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InsufficientCapacityErrorEvent ¶ added in v0.30.0
func KnownEphemeralTaintsRemoved ¶ added in v0.29.0
KnownEphemeralTaintsRemoved validates whether all the ephemeral taints are removed
func NewMachineController ¶ added in v0.30.0
func NewMachineController(clk clock.Clock, kubeClient client.Client, cloudProvider cloudprovider.CloudProvider, recorder events.Recorder) corecontroller.Controller
func NewNodeClaimController ¶ added in v0.30.0
func NewNodeClaimController(clk clock.Clock, kubeClient client.Client, cloudProvider cloudprovider.CloudProvider, recorder events.Recorder) corecontroller.Controller
func PopulateNodeClaimDetails ¶ added in v0.30.0
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
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 Machines 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 *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 provisioners and nodes without extended resources gracefully.
type MachineController ¶ added in v0.30.0
type MachineController struct {
*Controller
}
func (*MachineController) Builder ¶ added in v0.30.0
func (c *MachineController) Builder(ctx context.Context, m manager.Manager) corecontroller.Builder
func (*MachineController) Name ¶ added in v0.30.0
func (*MachineController) Name() string
type NodeClaimController ¶ added in v0.30.0
type NodeClaimController struct {
*Controller
}
func (*NodeClaimController) Builder ¶ added in v0.30.0
func (c *NodeClaimController) Builder(ctx context.Context, m manager.Manager) corecontroller.Builder
func (*NodeClaimController) Name ¶ added in v0.30.0
func (*NodeClaimController) Name() string