app

package
v1.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 13, 2015 License: Apache-2.0 Imports: 38 Imported by: 0

Documentation

Overview

Package app implements a server that runs a set of active components. This includes replication controllers, service endpoints and nodes.

CAUTION: If you update code in this file, you may need to also update code

in contrib/mesos/pkg/controllermanager/controllermanager.go

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitDefaultRecyclerPod added in v1.0.6

func InitDefaultRecyclerPod(filePath string) (*api.Pod, error)

InitDefaultRecyclerPod will read, load, and return a Pod from a file. the pod will be used as the default persistent volume recycler pod. it is intended to be "good enough" for recycling while allowing override of its properties so that admins can implement whatever recycling operation they prefer for their persistent volumes.

func ProbeRecyclableVolumePlugins

func ProbeRecyclableVolumePlugins(flags VolumeConfigFlags) []volume.VolumePlugin

ProbeRecyclableVolumePlugins collects all persistent volume plugins into an easy to use list.

Types

type CMServer

type CMServer struct {
	Port                    int
	Address                 net.IP
	CloudProvider           string
	CloudConfigFile         string
	ConcurrentEndpointSyncs int
	ConcurrentRCSyncs       int
	ServiceSyncPeriod       time.Duration
	NodeSyncPeriod          time.Duration
	ResourceQuotaSyncPeriod time.Duration
	NamespaceSyncPeriod     time.Duration
	PVClaimBinderSyncPeriod time.Duration
	VolumeConfigFlags       VolumeConfigFlags
	RegisterRetryCount      int
	NodeMonitorGracePeriod  time.Duration
	NodeStartupGracePeriod  time.Duration
	NodeMonitorPeriod       time.Duration
	NodeStatusUpdateRetry   int
	PodEvictionTimeout      time.Duration
	DeletingPodsQps         float32
	DeletingPodsBurst       int
	ServiceAccountKeyFile   string
	RootCAFile              string

	ClusterName       string
	ClusterCIDR       net.IPNet
	AllocateNodeCIDRs bool
	EnableProfiling   bool

	Master     string
	Kubeconfig string
}

CMServer is the main context object for the controller manager.

func NewCMServer

func NewCMServer() *CMServer

NewCMServer creates a new CMServer with a default config.

func (*CMServer) AddFlags

func (s *CMServer) AddFlags(fs *pflag.FlagSet)

AddFlags adds flags for a specific CMServer to the specified FlagSet

func (*CMServer) Run

func (s *CMServer) Run(_ []string) error

Run runs the CMServer. This should never exit.

type VolumeConfigFlags added in v1.0.6

type VolumeConfigFlags struct {
	// the pod to use as the default recycler.  default provided by the binary and the filepath flag can override.
	PersistentVolumeRecyclerDefaultPod *api.Pod
	// See CLI flag comments in the AddFlags func.
	PersistentVolumeRecyclerDefaultPodFilePath       string
	PersistentVolumeRecyclerMinimumTimeoutNFS        int
	PersistentVolumeRecyclerIncrementTimeoutNFS      int
	PersistentVolumeRecyclerMinimumTimeoutHostPath   int
	PersistentVolumeRecyclerIncrementTimeoutHostPath int
}

VolumeConfigFlags is used to bind CLI flags to variables. This top-level struct contains *all* enumerated CLI flags meant to configure all volume plugins. From this config, the binary will create many instances of volume.VolumeConfig which are then passed to the appropriate plugin. The ControllerManager binary is the only part of the code which knows what plugins are supported and which CLI flags correspond to each plugin.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL