 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package proxy implements the layer-3 network proxy.
Index ¶
- Variables
- type LoadBalancer
- type LoadBalancerRR
- func (lb *LoadBalancerRR) CleanupStaleStickySessions(service string)
- func (lb *LoadBalancerRR) NewService(service string, sessionAffinityType api.AffinityType, stickyMaxAgeMinutes int) error
- func (lb *LoadBalancerRR) NextEndpoint(service string, srcAddr net.Addr) (string, error)
- func (lb *LoadBalancerRR) OnUpdate(endpoints []api.Endpoints)
 
- type Proxier
Constants ¶
This section is empty.
Variables ¶
var ( ErrMissingServiceEntry = errors.New("missing service entry") ErrMissingEndpoints = errors.New("missing endpoints") )
Functions ¶
This section is empty.
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)
	NewService(service string, sessionAffinityType api.AffinityType, stickyMaxAgeMinutes int) error
	CleanupStaleStickySessions(service string)
}
    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) CleanupStaleStickySessions ¶ added in v0.8.0
func (lb *LoadBalancerRR) CleanupStaleStickySessions(service string)
func (*LoadBalancerRR) NewService ¶ added in v0.8.0
func (lb *LoadBalancerRR) NewService(service string, sessionAffinityType api.AffinityType, stickyMaxAgeMinutes int) error
func (*LoadBalancerRR) NextEndpoint ¶
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 ¶
NewProxier returns a new Proxier given a LoadBalancer and an address on which to listen. Because of the iptables logic, It is assumed that there is only a single Proxier active on a machine.
       Directories
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| Package config provides decoupling between various configuration sources (etcd, files,...) and the pieces that actually care about them (loadbalancer, proxy). | Package config provides decoupling between various configuration sources (etcd, files,...) and the pieces that actually care about them (loadbalancer, proxy). | 
| Package server does all of the work necessary to configure and run a Kubernetes proxy process. | Package server does all of the work necessary to configure and run a Kubernetes proxy process. |