kubernetes: k8s.io/kubernetes/pkg/controller/service Index | Files | Directories

package service

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

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

Index

Package Files

doc.go patch.go service_controller.go

type ServiceController Uses

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

ServiceController keeps cloud provider service resources (like load balancers) in sync with the registry.

func New Uses

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 Uses

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.

Directories

PathSynopsis
config
config/v1alpha1

Package service imports 27 packages (graph) and is imported by 120 packages. Updated 2019-09-06. Refresh now. Tools for package owners.