Documentation ¶
Overview ¶
Package servicecontroller contains code for syncing cloud load balancers with the service registry.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ServiceController ¶
type ServiceController struct {
// contains filtered or unexported fields
}
func New ¶
func New(cloud cloudprovider.Interface, kubeClient client.Interface, clusterName string) *ServiceController
New returns a new service controller to keep cloud provider service resources (like external load balancers) in sync with the registry.
func (*ServiceController) Run ¶
func (s *ServiceController) Run(serviceSyncPeriod, nodeSyncPeriod time.Duration) error
Run starts a background goroutine that watches for changes to services that have (or had) externalLoadBalancers=true and ensures that they have external load balancers created and deleted appropriately. serviceSyncPeriod controls how often we check the cluster's services to ensure that the correct external load balancers exist. nodeSyncPeriod controls how often we check the cluster's nodes to determine if external load balancers need to be updated to point to a new set.