Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Context ¶
type Context struct { Mgr controllerruntime.Manager ObjectWatcher objectwatcher.ObjectWatcher Opts Options StopChan <-chan struct{} DynamicClientSet dynamic.Interface OverrideManager overridemanager.OverrideManager ControlPlaneInformerManager informermanager.SingleClusterInformerManager ResourceInterpreter resourceinterpreter.ResourceInterpreter }
Context defines the context object for controller.
type InitFunc ¶
InitFunc is used to launch a particular controller. Any error returned will cause the controller process to `Fatal` The bool indicates whether the controller was enabled.
type Initializers ¶
Initializers is a public map of named controller groups
func (Initializers) ControllerNames ¶
func (i Initializers) ControllerNames() []string
ControllerNames returns all known controller names
func (Initializers) StartControllers ¶
func (i Initializers) StartControllers(ctx Context, controllersDisabledByDefault sets.String) error
StartControllers starts a set of controllers with a specified ControllerContext
type Options ¶
type Options struct { // Controllers contains all controller names. Controllers []string // ClusterMonitorPeriod represents cluster-controller monitoring period, i.e. how often does // cluster-controller check cluster health signal posted from cluster-status-controller. // This value should be lower than ClusterMonitorGracePeriod. ClusterMonitorPeriod metav1.Duration // ClusterMonitorGracePeriod represents the grace period after last cluster health probe time. // If it doesn't receive update for this amount of time, it will start posting // "ClusterReady==ConditionUnknown". ClusterMonitorGracePeriod metav1.Duration // ClusterStartupGracePeriod specifies the grace period of allowing a cluster to be unresponsive during // startup before marking it unhealthy. ClusterStartupGracePeriod metav1.Duration // ClusterStatusUpdateFrequency is the frequency that controller computes and report cluster status. // It must work with ClusterMonitorGracePeriod. ClusterStatusUpdateFrequency metav1.Duration // FailoverEvictionTimeout is the grace period for deleting scheduling result on failed clusters. FailoverEvictionTimeout metav1.Duration // ClusterLeaseDuration is a duration that candidates for a lease need to wait to force acquire it. // This is measure against time of last observed lease RenewTime. ClusterLeaseDuration metav1.Duration // ClusterLeaseRenewIntervalFraction is a fraction coordinated with ClusterLeaseDuration that // how long the current holder of a lease has last updated the lease. ClusterLeaseRenewIntervalFraction float64 // ClusterFailureThreshold is the duration of failure for the cluster to be considered unhealthy. ClusterFailureThreshold metav1.Duration // ClusterCacheSyncTimeout is the timeout period waiting for cluster cache to sync. ClusterCacheSyncTimeout metav1.Duration // ClusterAPIQPS is the QPS to use while talking with cluster kube-apiserver. ClusterAPIQPS float32 // ClusterAPIBurst is the burst to allow while talking with cluster kube-apiserver. ClusterAPIBurst int // SkippedPropagatingNamespaces is a list of namespaces that will be skipped for propagating. SkippedPropagatingNamespaces []string // ClusterName is the name of cluster. ClusterName string // ConcurrentWorkSyncs is the number of Works that are allowed to sync concurrently. ConcurrentWorkSyncs int // RateLimiterOptions contains the options for rate limiter. RateLimiterOptions ratelimiterflag.Options }
Options defines all the parameters required by our controllers.
Click to show internal directories.
Click to hide internal directories.