Documentation

Overview

Package app does all of the work necessary to configure and run a Kubernetes app process.

Package app does all of the work necessary to configure and run a Kubernetes app process.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewProxyCommand

func NewProxyCommand() *cobra.Command

NewProxyCommand creates a *cobra.Command object with default parameters

Types

type Conntracker

type Conntracker interface {
	// SetMax adjusts nf_conntrack_max.
	SetMax(max int) error
	// SetTCPEstablishedTimeout adjusts nf_conntrack_tcp_timeout_established.
	SetTCPEstablishedTimeout(seconds int) error
	// SetTCPCloseWaitTimeout nf_conntrack_tcp_timeout_close_wait.
	SetTCPCloseWaitTimeout(seconds int) error
}

Conntracker is an interface to the global sysctl. Descriptions of the various sysctl fields can be found here:

https://www.kernel.org/doc/Documentation/networking/nf_conntrack-sysctl.txt

type Options

type Options struct {
	// ConfigFile is the location of the proxy server's configuration file.
	ConfigFile string
	// WriteConfigTo is the path where the default configuration will be written.
	WriteConfigTo string
	// CleanupAndExit, when true, makes the proxy server clean up iptables rules, then exit.
	CleanupAndExit bool
	// CleanupIPVS, when true, makes the proxy server clean up ipvs rules before running.
	CleanupIPVS bool
	// WindowsService should be set to true if kube-proxy is running as a service on Windows.
	// Its corresponding flag only gets registered in Windows builds
	WindowsService bool
	// contains filtered or unexported fields
}

Options contains everything necessary to create and run a proxy server.

func NewOptions

func NewOptions() *Options

func (*Options) AddFlags

func (o *Options) AddFlags(fs *pflag.FlagSet)

AddFlags adds flags to fs and binds them to options.

func (*Options) Complete

func (o *Options) Complete() error

Complete completes all the required options.

func (*Options) Run

func (o *Options) Run() error

func (*Options) Validate

func (o *Options) Validate(args []string) error

Validate validates all the required options.

type ProxyServer

type ProxyServer struct {
	Client         clientset.Interface
	EventClient    v1core.EventsGetter
	IptInterface   utiliptables.Interface
	IpvsInterface  utilipvs.Interface
	IpsetInterface utilipset.Interface

	Proxier                proxy.ProxyProvider
	Broadcaster            record.EventBroadcaster
	Recorder               record.EventRecorder
	ConntrackConfiguration kubeproxyconfig.KubeProxyConntrackConfiguration
	Conntracker            Conntracker // if nil, ignored
	ProxyMode              string
	NodeRef                *v1.ObjectReference
	CleanupIPVS            bool
	MetricsBindAddress     string
	EnableProfiling        bool
	OOMScoreAdj            *int32
	ResourceContainer      string
	ConfigSyncPeriod       time.Duration
	ServiceEventHandler    config.ServiceHandler
	EndpointsEventHandler  config.EndpointsHandler
	HealthzServer          *healthcheck.HealthzServer
	// contains filtered or unexported fields
}

ProxyServer represents all the parameters required to start the Kubernetes proxy server. All fields are required.

func NewProxyServer

func NewProxyServer(o *Options) (*ProxyServer, error)

NewProxyServer returns a new ProxyServer.

func (*ProxyServer) CleanupAndExit

func (s *ProxyServer) CleanupAndExit() error

CleanupAndExit remove iptables rules and exit if success return nil

func (*ProxyServer) Run

func (s *ProxyServer) Run() error

Run runs the specified ProxyServer. This should never exit (unless CleanupAndExit is set). TODO: At the moment, Run() cannot return a nil error, otherwise it's caller will never exit. Update callers of Run to handle nil errors.