Documentation ¶
Overview ¶
Package service provides EndpointController implementation to manage and sync service endpoints.
Index ¶
Constants ¶
View Source
const ( // We'll attempt to recompute EVERY service's endpoints at least this // often. Higher numbers = lower CPU/network load; lower numbers = // shorter amount of time before a mistaken endpoint is corrected. FullServiceResyncPeriod = 30 * time.Second // We must avoid syncing service until the pod store has synced. If it hasn't synced, to // avoid a hot loop, we'll wait this long between checks. PodStoreSyncedPollPeriod = 100 * time.Millisecond // An annotation on the Service denoting if the endpoints controller should // go ahead and create endpoints for unready pods. This annotation is // currently only used by StatefulSets, where we need the pod to be DNS // resolvable during initialization and termination. In this situation we // create a headless Service just for the StatefulSet, and clients shouldn't // be using this Service for anything so unready endpoints don't matter. // Endpoints of these Services retain their DNS records and continue // receiving traffic for the Service from the moment the kubelet starts all // containers in the pod and marks it "Running", till the kubelet stops all // containers and deletes the pod from the apiserver. TolerateUnreadyEndpointsAnnotation = "service.alpha.kubernetes.io/tolerate-unready-endpoints" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EndpointController ¶
type EndpointController struct {
// contains filtered or unexported fields
}
EndpointController manages selector-based service endpoints.
func NewEndpointController ¶
func NewEndpointController(podInformer cache.SharedIndexInformer, client clientset.Interface) *EndpointController
NewEndpointController returns a new *EndpointController.
func NewEndpointControllerFromClient ¶
func NewEndpointControllerFromClient(client *clientset.Clientset, resyncPeriod controller.ResyncPeriodFunc) *EndpointController
NewEndpointControllerFromClient returns a new *EndpointController that runs its own informer.
func (*EndpointController) Run ¶
func (e *EndpointController) Run(workers int, stopCh <-chan struct{})
Runs e; will not return until stopCh is closed. workers determines how many endpoints will be handled in parallel.
Click to show internal directories.
Click to hide internal directories.