Documentation
¶
Overview ¶
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
- Variables
- func AttemptToLoadRecycler(path string, config *volume.VolumeConfig) error
- func GetAvailableResources(clientBuilder controller.ControllerClientBuilder) (map[schema.GroupVersionResource]bool, error)
- func IsControllerEnabled(name string, disabledByDefaultControllers sets.String, controllers ...string) bool
- func KnownControllers() []string
- func NewControllerInitializers() map[string]InitFunc
- func NewControllerManagerCommand() *cobra.Command
- func ProbeAttachableVolumePlugins(config componentconfig.VolumeConfiguration) []volume.VolumePlugin
- func ProbeControllerVolumePlugins(cloud cloudprovider.Interface, config componentconfig.VolumeConfiguration) []volume.VolumePlugin
- func ResyncPeriod(s *options.CMServer) func() time.Duration
- func Run(s *options.CMServer) error
- func StartControllers(controllers map[string]InitFunc, s *options.CMServer, ...) error
- type ControllerContext
- type InitFunc
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 GetAvailableResources ¶ added in v1.7.0
func GetAvailableResources(clientBuilder controller.ControllerClientBuilder) (map[schema.GroupVersionResource]bool, error)
TODO: In general, any controller checking this needs to be dynamic so
users don't have to restart their controller manager if they change the apiserver.
Until we get there, the structure here needs to be exposed for the construction of a proper ControllerContext.
func IsControllerEnabled ¶ added in v1.6.0
func KnownControllers ¶ added in v1.6.0
func KnownControllers() []string
func NewControllerInitializers ¶ added in v1.7.0
NewControllerInitializers is a public map of named controller groups (you can start more than one in an init func) paired to their InitFunc. This allows for structured downstream composition and subdivision.
func NewControllerManagerCommand ¶
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 ¶
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 StartControllers ¶
func StartControllers(controllers map[string]InitFunc, s *options.CMServer, rootClientBuilder, clientBuilder controller.ControllerClientBuilder, stop <-chan struct{}) error
Types ¶
type ControllerContext ¶ added in v1.6.0
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 ¶ added in v1.6.0
func (c ControllerContext) IsControllerEnabled(name string) bool
type InitFunc ¶ added in v1.6.0
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.