kubernetes: k8s.io/kubernetes/pkg/controller/cloud Index | Files

package cloud

import "k8s.io/kubernetes/pkg/controller/cloud"

Index

Package Files

node_controller.go node_lifecycle_controller.go

Variables

var ShutdownTaint = &v1.Taint{
    Key:    schedulerapi.TaintNodeShutdown,
    Effect: v1.TaintEffectNoSchedule,
}
var UpdateNodeSpecBackoff = wait.Backoff{
    Steps:    20,
    Duration: 50 * time.Millisecond,
    Jitter:   1.0,
}

type CloudNodeController Uses

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

func NewCloudNodeController Uses

func NewCloudNodeController(
    nodeInformer coreinformers.NodeInformer,
    kubeClient clientset.Interface,
    cloud cloudprovider.Interface,
    nodeStatusUpdateFrequency time.Duration) (*CloudNodeController, error)

NewCloudNodeController creates a CloudNodeController object

func (*CloudNodeController) AddCloudNode Uses

func (cnc *CloudNodeController) AddCloudNode(ctx context.Context, obj interface{})

AddCloudNode handles initializing new nodes registered with the cloud taint.

func (*CloudNodeController) Run Uses

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 Uses

func (cnc *CloudNodeController) UpdateCloudNode(ctx context.Context, _, newObj interface{})

func (*CloudNodeController) UpdateNodeStatus Uses

func (cnc *CloudNodeController) UpdateNodeStatus(ctx context.Context)

UpdateNodeStatus updates the node status, such as node addresses

type CloudNodeLifecycleController Uses

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 Uses

func NewCloudNodeLifecycleController(
    nodeInformer coreinformers.NodeInformer,
    kubeClient clientset.Interface,
    cloud cloudprovider.Interface,
    nodeMonitorPeriod time.Duration) (*CloudNodeLifecycleController, error)

func (*CloudNodeLifecycleController) MonitorNodes Uses

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 Uses

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

Package cloud imports 26 packages (graph) and is imported by 12 packages. Updated 2019-11-12. Refresh now. Tools for package owners.