package app

import "k8s.io/kubernetes/cmd/kube-controller-manager/app"

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

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

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

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

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

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

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

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

Index

Constants

const (
	// Jitter used when starting controller managers
	ControllerStartJitter = 1.0
)

Variables

var ControllersDisabledByDefault = sets.NewString(
	"bootstrapsigner",
	"tokencleaner",
)

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 IsControllerEnabled

func IsControllerEnabled(name string, disabledByDefaultControllers sets.String, controllers ...string) bool

func KnownControllers

func KnownControllers() []string

func NewAlphaVolumeProvisioner

NewAlphaVolumeProvisioner returns a volume provisioner to use when running in a cloud or development environment. The alpha implementation of provisioning allows 1 implied provisioner per cloud and is here only for compatibility with Kubernetes 1.3 TODO: remove in Kubernetes 1.5

func NewControllerManagerCommand

func NewControllerManagerCommand() *cobra.Command

NewControllerManagerCommand creates a *cobra.Command object with default parameters

func ProbeAttachableVolumePlugins

func ProbeAttachableVolumePlugins(config componentconfig.VolumeConfiguration) []volume.VolumePlugin

ProbeAttachableVolumePlugins collects all volume plugins for the attach/ detach controller. VolumeConfiguration is used ot get FlexVolumePluginDir which specifies the directory to search for additional third party volume plugins. The list of plugins is manually compiled. This code and the plugin initialization code for kubelet really, really need a through refactor.

func ProbeControllerVolumePlugins

func ProbeControllerVolumePlugins(cloud cloudprovider.Interface, config componentconfig.VolumeConfiguration) []volume.VolumePlugin

ProbeControllerVolumePlugins collects all persistent volume plugins into an easy to use list. Only volume plugins that implement any of provisioner/recycler/deleter interface should be returned.

func ResyncPeriod

func ResyncPeriod(s *options.CMServer) func() time.Duration

ResyncPeriod returns a function which generates a duration each time it is invoked; this is so that multiple controllers don't get into lock-step and all hammer the apiserver with list requests simultaneously.

func Run

func Run(s *options.CMServer) error

Run runs the CMServer. This should never exit.

func StartControllers

func StartControllers(controllers map[string]InitFunc, s *options.CMServer, rootClientBuilder, clientBuilder controller.ControllerClientBuilder, stop <-chan struct{}) error

Types

type ControllerContext

type ControllerContext struct {
	// ClientBuilder will provide a client for this controller to use
	ClientBuilder controller.ControllerClientBuilder

	// InformerFactory gives access to informers for the controller.
	InformerFactory informers.SharedInformerFactory

	// Options provides access to init options for a given controller
	Options options.CMServer

	// AvailableResources is a map listing currently available resources
	AvailableResources map[schema.GroupVersionResource]bool

	// Stop is the stop channel
	Stop <-chan struct{}
}

func (ControllerContext) IsControllerEnabled

func (c ControllerContext) IsControllerEnabled(name string) bool

type InitFunc

type InitFunc func(ctx ControllerContext) (bool, error)

InitFunc is used to launch a particular controller. It may run additional "should I activate checks". Any error returned will cause the controller process to `Fatal` The bool indicates whether the controller was enabled.

Source Files

apps.go autoscaling.go batch.go bootstrap.go certificates.go controllermanager.go core.go extensions.go plugins.go policy.go

Directories

PathSynopsis
cmd/kube-controller-manager/app/optionsPackage options provides the flags used for the controller manager.
Version
v1.6.9-beta.0
Published
Aug 3, 2017
Platform
js/wasm
Imports
98 packages
Last checked
10 minutes ago

Tools for package owners.