Documentation ¶
Index ¶
- Variables
- type CloudNodeController
- func (cnc *CloudNodeController) AddCloudNode(ctx context.Context, obj interface{})
- func (cnc *CloudNodeController) Run(stopCh <-chan struct{})
- func (cnc *CloudNodeController) UpdateCloudNode(ctx context.Context, _, newObj interface{})
- func (cnc *CloudNodeController) UpdateNodeStatus(ctx context.Context)
- type CloudNodeLifecycleController
Constants ¶
This section is empty.
Variables ¶
var ShutdownTaint = &v1.Taint{ Key: schedulerapi.TaintNodeShutdown, Effect: v1.TaintEffectNoSchedule, }
var UpdateNodeSpecBackoff = wait.Backoff{ Steps: 20, Duration: 50 * time.Millisecond, Jitter: 1.0, }
Functions ¶
This section is empty.
Types ¶
type CloudNodeController ¶
type CloudNodeController struct {
// contains filtered or unexported fields
}
func NewCloudNodeController ¶
func NewCloudNodeController( nodeInformer coreinformers.NodeInformer, kubeClient clientset.Interface, cloud cloudprovider.Interface, nodeStatusUpdateFrequency time.Duration) (*CloudNodeController, error)
NewCloudNodeController creates a CloudNodeController object
func (*CloudNodeController) AddCloudNode ¶ added in v1.7.0
func (cnc *CloudNodeController) AddCloudNode(ctx context.Context, obj interface{})
AddCloudNode handles initializing new nodes registered with the cloud taint.
func (*CloudNodeController) Run ¶
func (cnc *CloudNodeController) Run(stopCh <-chan struct{})
This controller updates newly registered nodes with information from the cloud provider. This call is blocking so should be called via a goroutine
func (*CloudNodeController) UpdateCloudNode ¶ added in v1.10.0
func (cnc *CloudNodeController) UpdateCloudNode(ctx context.Context, _, newObj interface{})
func (*CloudNodeController) UpdateNodeStatus ¶ added in v1.7.0
func (cnc *CloudNodeController) UpdateNodeStatus(ctx context.Context)
UpdateNodeStatus updates the node status, such as node addresses
type CloudNodeLifecycleController ¶ added in v1.14.0
type CloudNodeLifecycleController struct {
// contains filtered or unexported fields
}
CloudNodeLifecycleController is responsible for deleting/updating kubernetes nodes that have been deleted/shutdown on the cloud provider
func NewCloudNodeLifecycleController ¶ added in v1.14.0
func NewCloudNodeLifecycleController( nodeInformer coreinformers.NodeInformer, kubeClient clientset.Interface, cloud cloudprovider.Interface, nodeMonitorPeriod time.Duration) (*CloudNodeLifecycleController, error)
func (*CloudNodeLifecycleController) MonitorNodes ¶ added in v1.14.0
func (c *CloudNodeLifecycleController) MonitorNodes()
MonitorNodes checks to see if nodes in the cluster have been deleted or shutdown. If deleted, it deletes the node resource. If shutdown it applies a shutdown taint to the node
func (*CloudNodeLifecycleController) Run ¶ added in v1.14.0
func (c *CloudNodeLifecycleController) Run(stopCh <-chan struct{})
Run starts the main loop for this controller. Run is blocking so should be called via a goroutine