Version: v0.0.0-...-4eadfbb Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Oct 27, 2017 License: Apache-2.0 Imports: 22 Imported by: 0



Package service contains code for syncing cloud load balancers with the service registry.



View Source
const (

	// LabelNodeRoleMaster specifies that a node is a master
	// It's copied over to kubeadm until it's merged in core:
	LabelNodeRoleMaster = ""

	// LabelNodeRoleExcludeBalancer specifies that the node should be
	// exclude from load balancers created by a cloud provider.
	LabelNodeRoleExcludeBalancer = ""


This section is empty.


This section is empty.


type ServiceController

type ServiceController struct {
	// contains filtered or unexported fields

func New

func New(
	cloud cloudprovider.Interface,
	kubeClient clientset.Interface,
	serviceInformer coreinformers.ServiceInformer,
	nodeInformer coreinformers.NodeInformer,
	clusterName string,
) (*ServiceController, error)

New returns a new service controller to keep cloud provider service resources (like load balancers) in sync with the registry.

func (*ServiceController) Run

func (s *ServiceController) Run(stopCh <-chan struct{}, workers int)

Run starts a background goroutine that watches for changes to services that have (or had) LoadBalancers=true and ensures that they have load balancers created and deleted appropriately. serviceSyncPeriod controls how often we check the cluster's services to ensure that the correct load balancers exist. nodeSyncPeriod controls how often we check the cluster's nodes to determine if load balancers need to be updated to point to a new set.

It's an error to call Run() more than once for a given ServiceController object.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL