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 ¶ added in v1.2.0
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 ¶ added in v1.1.1
NewControllerManagerCommand creates a *cobra.Command object with default parameters
func NewVolumeProvisioner ¶ added in v1.2.0
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 ¶ added in v0.19.0
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 ¶ added in v1.1.0
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.