Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Options ¶
type Options struct { // Controllers is the list of controllers to enable or disable // '*' means "all enabled by default controllers" // 'foo' means "enable 'foo'" // '-foo' means "disable 'foo'" // first item for a particular name wins Controllers []string // LeaderElection defines the configuration of leader election client. LeaderElection componentbaseconfig.LeaderElectionConfiguration // BindAddress is the IP address on which to listen for the --secure-port port. BindAddress string // SecurePort is the port that the the server serves at. // Note: We hope support https in the future once controller-runtime provides the functionality. SecurePort int // ClusterStatusUpdateFrequency is the frequency that controller computes and report cluster status. // It must work with ClusterMonitorGracePeriod(--cluster-monitor-grace-period) in karmada-controller-manager. 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 // ClusterSuccessThreshold is the duration of successes for the cluster to be considered healthy after recovery. ClusterSuccessThreshold metav1.Duration // ClusterFailureThreshold is the duration of failure for the cluster to be considered unhealthy. ClusterFailureThreshold metav1.Duration // 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 // When cluster is just created, e.g. agent bootstrap or cluster join, we give a longer grace period. ClusterStartupGracePeriod metav1.Duration // SkippedPropagatingAPIs indicates comma separated resources that should be skipped for propagating. SkippedPropagatingAPIs string // SkippedPropagatingNamespaces is a list of namespaces that will be skipped for propagating. SkippedPropagatingNamespaces []string // ClusterAPIContext is the name of the cluster context in cluster-api management cluster KUBECONFIG file. // Default value is the current-context. ClusterAPIContext string // ClusterAPIKubeconfig holds the cluster-api management cluster KUBECONFIG file path. ClusterAPIKubeconfig string // 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 // KubeAPIQPS is the QPS to use while talking with karmada-apiserver. KubeAPIQPS float32 // KubeAPIBurst is the burst to allow while talking with karmada-apiserver. KubeAPIBurst int // ClusterCacheSyncTimeout is the timeout period waiting for cluster cache to sync ClusterCacheSyncTimeout metav1.Duration // ResyncPeriod is the base frequency the informers are resynced. // Defaults to 0, which means the created informer will never do resyncs. ResyncPeriod metav1.Duration // MetricsBindAddress is the TCP address that the controller should bind to // for serving prometheus metrics. // It can be set to "0" to disable the metrics serving. // Defaults to ":8080". MetricsBindAddress string // ConcurrentClusterSyncs is the number of cluster objects that are // allowed to sync concurrently. ConcurrentClusterSyncs int // ConcurrentClusterResourceBindingSyncs is the number of clusterresourcebinding objects that are // allowed to sync concurrently. ConcurrentClusterResourceBindingSyncs int // ConcurrentWorkSyncs is the number of Work objects that are // allowed to sync concurrently. ConcurrentWorkSyncs int // ConcurrentResourceBindingSyncs is the number of resourcebinding objects that are // allowed to sync concurrently. ConcurrentResourceBindingSyncs int // ConcurrentNamespaceSyncs is the number of Namespace objects that are // allowed to sync concurrently. ConcurrentNamespaceSyncs int // ConcurrentResourceTemplateSyncs is the number of resource templates that are allowed to sync concurrently. ConcurrentResourceTemplateSyncs int // If set to true enables NoExecute Taints and will evict all not-tolerating // objects propagating on Clusters tainted with this kind of Taints. EnableTaintManager bool // GracefulEvictionTimeout is the timeout period waiting for the grace-eviction-controller performs the final // removal since the workload(resource) has been moved to the graceful eviction tasks. GracefulEvictionTimeout metav1.Duration RateLimiterOpts ratelimiterflag.Options ProfileOpts profileflag.Options // EnableClusterResourceModeling indicates if enable cluster resource modeling. // The resource modeling might be used by the scheduler to make scheduling decisions // in scenario of dynamic replica assignment based on cluster free resources. // Disable if it does not fit your cases for better performance. EnableClusterResourceModeling bool }
Options contains everything necessary to create and run controller-manager.
Click to show internal directories.
Click to hide internal directories.