kubernetesk8s.io/kubernetes/pkg/controller/cloud Index | Files

package cloud

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

Index

Variables

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

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

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

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

func (*CloudNodeController) UpdateNodeStatus

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

UpdateNodeStatus updates the node status, such as node addresses

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()

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(stopCh <-chan struct{})

Run starts the main loop for this controller. Run is blocking so should be called via a goroutine

Source Files

node_controller.go node_lifecycle_controller.go

Version
v1.18.17-rc.0
Published
Feb 17, 2021
Platform
js/wasm
Imports
26 packages
Last checked
11 seconds ago

Tools for package owners.