kubernetesk8s.io/kubernetes/pkg/proxy Index | Files | Directories

package proxy

import "k8s.io/kubernetes/pkg/proxy"

Package proxy implements the layer-3 network proxy.

Index

Variables

var (
	ErrMissingServiceEntry = errors.New("missing service entry")
	ErrMissingEndpoints    = errors.New("missing endpoints")
)

Types

type LoadBalancer

type LoadBalancer interface {
	// NextEndpoint returns the endpoint to handle a request for the given
	// service and source address.
	NextEndpoint(service string, srcAddr net.Addr) (string, error)
}

LoadBalancer is an interface for distributing incoming requests to service endpoints.

type LoadBalancerRR

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

LoadBalancerRR is a round-robin load balancer.

func NewLoadBalancerRR

func NewLoadBalancerRR() *LoadBalancerRR

NewLoadBalancerRR returns a new LoadBalancerRR.

func (*LoadBalancerRR) NextEndpoint

func (lb *LoadBalancerRR) NextEndpoint(service string, srcAddr net.Addr) (string, error)

NextEndpoint returns a service endpoint. The service endpoint is chosen using the round-robin algorithm.

func (*LoadBalancerRR) OnUpdate

func (lb *LoadBalancerRR) OnUpdate(endpoints []api.Endpoints)

OnUpdate manages the registered service endpoints. Registered endpoints are updated if found in the update set or unregistered if missing from the update set.

type Proxier

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

Proxier is a simple proxy for TCP connections between a localhost:lport and services that provide the actual implementations.

func NewProxier

func NewProxier(loadBalancer LoadBalancer, address net.IP) *Proxier

NewProxier returns a new Proxier given a LoadBalancer and an address on which to listen

func (*Proxier) OnUpdate

func (proxier *Proxier) OnUpdate(services []api.Service)

OnUpdate manages the active set of service proxies. Active service proxies are reinitialized if found in the update set or shutdown if missing from the update set.

Source Files

doc.go loadbalancer.go proxier.go roundrobin.go udp_server.go

Directories

PathSynopsis
pkg/proxy/configPackage config provides decoupling between various configuration sources (etcd, files,...) and the pieces that actually care about them (loadbalancer, proxy).
Version
v0.4.3
Published
Oct 30, 2014
Platform
js/wasm
Imports
12 packages
Last checked
22 seconds ago

Tools for package owners.