Documentation ¶
Index ¶
Constants ¶
View Source
const (
// DefaultKarmadaClusterNamespace defines the default namespace where the member cluster secrets are stored.
DefaultKarmadaClusterNamespace = "karmada-cluster"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Options ¶
type Options struct { // Controllers contains all controller names. Controllers []string 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 KarmadaKubeConfig string // ClusterContext is the name of the cluster context in control plane KUBECONFIG file. // Default value is the current-context. KarmadaContext string ClusterName string // ClusterNamespace holds the namespace name where the member cluster secrets are stored. ClusterNamespace string // 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 // ClusterLeaseDuration is a duration that candidates for a lease need to wait to force acquire it. // This is measure against time of last observed 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 // 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 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 // ClusterAPIEndpoint holds the apiEndpoint of the cluster. ClusterAPIEndpoint string // ProxyServerAddress holds the proxy server address that is used to proxy to the cluster. ProxyServerAddress string // ConcurrentClusterSyncs is the number of cluster objects that are // allowed to sync concurrently. ConcurrentClusterSyncs int // ConcurrentWorkSyncs is the number of work objects that are // allowed to sync concurrently. ConcurrentWorkSyncs int // 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 RateLimiterOpts ratelimiterflag.Options ProfileOpts profileflag.Options // ReportSecrets specifies the secrets that are allowed to be reported to the Karmada control plane // during registering. // Valid values are: // - "None": Don't report any secrets. // - "KubeCredentials": Report the secret that contains mandatory credentials to access the member cluster. // - "KubeImpersonator": Report the secret that contains the token of impersonator. // - "KubeCredentials,KubeImpersonator": Report both KubeCredentials and KubeImpersonator. // Defaults to "KubeCredentials,KubeImpersonator". ReportSecrets []string // ClusterProvider is the cluster's provider. ClusterProvider string // ClusterRegion represents the region of the cluster locate in. ClusterRegion string // ClusterZones represents the zones of the cluster locate in. ClusterZones []string // 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 // CertRotationCheckingInterval defines the interval of checking if the certificate need to be rotated. CertRotationCheckingInterval time.Duration // CertRotationRemainingTimeThreshold defines the threshold of remaining time of the valid certificate. // If the ratio of remaining time to total time is less than or equal to this threshold, the certificate rotation starts. CertRotationRemainingTimeThreshold float64 // KarmadaKubeconfigNamespace is the namespace of the secret containing karmada-agent certificate. KarmadaKubeconfigNamespace string }
Options contains everything necessary to create and run controller-manager.
Click to show internal directories.
Click to hide internal directories.