Documentation
¶
Index ¶
- Variables
- func CleanUpVolumeAttachmentsForNode(ctx context.Context, kubeClient clientset.Interface, nodeName string) error
- func StartCloudNodeLifecycleControllerWrapper(initContext app.ControllerInitContext, completedConfig *config.CompletedConfig, ...) app.InitFunc
- type CloudNodeLifecycleController
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNoCloudProvider = errors.New("no cloud provider provided") ErrNilKubernetesClient = errors.New("kubernetes client is nil") )
View Source
var ErrInstancesNotSupported = errors.New("cloud provider does not support instances")
View Source
var ShutdownTaint = &v1.Taint{ Key: cloudproviderapi.TaintNodeShutdown, Effect: v1.TaintEffectNoSchedule, }
Functions ¶
func StartCloudNodeLifecycleControllerWrapper ¶
func StartCloudNodeLifecycleControllerWrapper(initContext app.ControllerInitContext, completedConfig *config.CompletedConfig, cloud cloudprovider.Interface, ) app.InitFunc
StartCloudNodeLifecycleControllerWrapper is used to take cloud config as input and start cloud node lifecycle controller.
Types ¶
type CloudNodeLifecycleController ¶
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 ¶
func NewCloudNodeLifecycleController( nodeInformer coreinformers.NodeInformer, kubeClient clientset.Interface, cloud cloudprovider.Interface, nodeMonitorPeriod time.Duration, ) (*CloudNodeLifecycleController, error)
func (*CloudNodeLifecycleController) MonitorNodes ¶
func (c *CloudNodeLifecycleController) MonitorNodes(ctx context.Context)
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 ¶
func (c *CloudNodeLifecycleController) Run(ctx context.Context, controllerManagerMetrics *controllersmetrics.ControllerManagerMetrics, )
Run starts the main loop for this controller. Run is blocking so should be called via a goroutine.
Click to show internal directories.
Click to hide internal directories.