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 ¶
- func AttemptToLoadRecycler(path string, config *volume.VolumeConfig) error
- func NewControllerManagerCommand() *cobra.Command
- func NewVolumeProvisioner(cloud cloudprovider.Interface, flags VolumeConfigFlags) (volume.ProvisionableVolumePlugin, error)
- func ProbeRecyclableVolumePlugins(flags VolumeConfigFlags) []volume.VolumePlugin
- type CMServer
- type VolumeConfigFlags
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AttemptToLoadRecycler ¶
func AttemptToLoadRecycler(path string, config *volume.VolumeConfig) error
AttemptToLoadRecycler tries decoding a pod from a filepath for use as a recycler for a volume. If successful, this method will set the recycler on the config. If unsuccessful, an error is returned. Function is exported for reuse downstream.
func NewControllerManagerCommand ¶
NewControllerManagerCommand creates a *cobra.Command object with default parameters
func NewVolumeProvisioner ¶
func NewVolumeProvisioner(cloud cloudprovider.Interface, flags VolumeConfigFlags) (volume.ProvisionableVolumePlugin, error)
NewVolumeProvisioner returns a volume provisioner to use when running in a cloud or development environment. The beta implementation of provisioning allows 1 implied provisioner per cloud, until we allow configuration of many. We explicitly map clouds to volume plugins here which allows us to configure many later without backwards compatibility issues. Not all cloudproviders have provisioning capability, which is the reason for the bool in the return to tell the caller to expect one or not.
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 ConcurrentDSCSyncs int ConcurrentJobSyncs int ConcurrentResourceQuotaSyncs int ServiceSyncPeriod time.Duration NodeSyncPeriod time.Duration ResourceQuotaSyncPeriod time.Duration NamespaceSyncPeriod time.Duration PVClaimBinderSyncPeriod time.Duration VolumeConfigFlags VolumeConfigFlags TerminatedPodGCThreshold int HorizontalPodAutoscalerSyncPeriod time.Duration DeploymentControllerSyncPeriod time.Duration MinResyncPeriod time.Duration 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 KubeAPIQPS float32 KubeAPIBurst int }
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) ResyncPeriod ¶
type VolumeConfigFlags ¶
type VolumeConfigFlags struct { PersistentVolumeRecyclerMinimumTimeoutNFS int PersistentVolumeRecyclerPodTemplateFilePathNFS string PersistentVolumeRecyclerIncrementTimeoutNFS int PersistentVolumeRecyclerPodTemplateFilePathHostPath string PersistentVolumeRecyclerMinimumTimeoutHostPath int PersistentVolumeRecyclerIncrementTimeoutHostPath int EnableHostPathProvisioning bool }
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.