Documentation ¶
Index ¶
Constants ¶
const CRBStatusControllerName = "cluster-resource-binding-status-controller"
CRBStatusControllerName is the controller name that will be used when reporting events.
const (
// ControllerName is the controller name that will be used when reporting events.
ControllerName = "cluster-status-controller"
)
const RBStatusControllerName = "resource-binding-status-controller"
RBStatusControllerName is the controller name that will be used when reporting events.
const WorkStatusControllerName = "work-status-controller"
WorkStatusControllerName is the controller name that will be used when reporting events.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CRBStatusController ¶ added in v1.6.0
type CRBStatusController struct { client.Client // used to operate ClusterResourceBinding resources. DynamicClient dynamic.Interface // used to fetch arbitrary resources from api server. InformerManager genericmanager.SingleClusterInformerManager // used to fetch arbitrary resources from cache. EventRecorder record.EventRecorder RESTMapper meta.RESTMapper ResourceInterpreter resourceinterpreter.ResourceInterpreter RateLimiterOptions ratelimiterflag.Options }
CRBStatusController is to sync status of ClusterResourceBinding and aggregate status to the resource template.
func (*CRBStatusController) Reconcile ¶ added in v1.6.0
func (c *CRBStatusController) Reconcile(ctx context.Context, req controllerruntime.Request) (controllerruntime.Result, error)
Reconcile performs a full reconciliation for the object referred to by the Request. The Controller will requeue the Request to be processed again if an error is non-nil or Result.Requeue is true, otherwise upon completion it will remove the work from the queue.
func (*CRBStatusController) SetupWithManager ¶ added in v1.6.0
func (c *CRBStatusController) SetupWithManager(mgr controllerruntime.Manager) error
SetupWithManager creates a controller and register to controller manager.
type ClusterStatusController ¶ added in v0.3.0
type ClusterStatusController struct { client.Client // used to operate Cluster resources. KubeClient clientset.Interface EventRecorder record.EventRecorder PredicateFunc predicate.Predicate TypedInformerManager typedmanager.MultiClusterInformerManager GenericInformerManager genericmanager.MultiClusterInformerManager StopChan <-chan struct{} ClusterClientSetFunc func(string, client.Client, *util.ClientOption) (*util.ClusterClient, error) ClusterDynamicClientSetFunc func(clusterName string, client client.Client) (*util.DynamicClusterClient, error) // ClusterClientOption holds the attributes that should be injected to a Kubernetes client. ClusterClientOption *util.ClientOption // ClusterStatusUpdateFrequency is the frequency that controller computes and report cluster status. 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 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 // ClusterLeaseControllers stores context canceler function for each lease controller. // Each lease controller is started with a separated context. // key: cluster name of the lease controller servers for. // value: context canceler function to stop the controller after cluster is un-registered. ClusterLeaseControllers sync.Map // 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 ClusterCacheSyncTimeout metav1.Duration RateLimiterOptions ratelimiterflag.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 // contains filtered or unexported fields }
ClusterStatusController is to sync status of Cluster.
func (*ClusterStatusController) Reconcile ¶ added in v0.3.0
func (c *ClusterStatusController) Reconcile(ctx context.Context, req controllerruntime.Request) (controllerruntime.Result, error)
Reconcile syncs status of the given member cluster. The Controller will requeue the Request to be processed again if an error is non-nil or Result.Requeue is true, otherwise upon completion it will requeue the reconcile key after the duration.
func (*ClusterStatusController) SetupWithManager ¶ added in v0.3.0
func (c *ClusterStatusController) SetupWithManager(mgr controllerruntime.Manager) error
SetupWithManager creates a controller and register to controller manager.
type RBStatusController ¶ added in v1.6.0
type RBStatusController struct { client.Client // used to operate ResourceBinding resources. DynamicClient dynamic.Interface // used to fetch arbitrary resources from api server. InformerManager genericmanager.SingleClusterInformerManager // used to fetch arbitrary resources from cache. ResourceInterpreter resourceinterpreter.ResourceInterpreter EventRecorder record.EventRecorder RESTMapper meta.RESTMapper RateLimiterOptions ratelimiterflag.Options }
RBStatusController is to sync status of ResourceBinding and aggregate status to the resource template.
func (*RBStatusController) Reconcile ¶ added in v1.6.0
func (c *RBStatusController) Reconcile(ctx context.Context, req controllerruntime.Request) (controllerruntime.Result, error)
Reconcile performs a full reconciliation for the object referred to by the Request. The Controller will requeue the Request to be processed again if an error is non-nil or Result.Requeue is true, otherwise upon completion it will remove the work from the queue.
func (*RBStatusController) SetupWithManager ¶ added in v1.6.0
func (c *RBStatusController) SetupWithManager(mgr controllerruntime.Manager) error
SetupWithManager creates a controller and register to controller manager.
type WorkStatusController ¶ added in v0.4.0
type WorkStatusController struct { client.Client // used to operate Work resources. EventRecorder record.EventRecorder RESTMapper meta.RESTMapper InformerManager genericmanager.MultiClusterInformerManager StopChan <-chan struct{} // ConcurrentWorkStatusSyncs is the number of Work status that are allowed to sync concurrently. ConcurrentWorkStatusSyncs int ObjectWatcher objectwatcher.ObjectWatcher PredicateFunc predicate.Predicate ClusterDynamicClientSetFunc func(clusterName string, client client.Client) (*util.DynamicClusterClient, error) ClusterCacheSyncTimeout metav1.Duration RateLimiterOptions ratelimiterflag.Options ResourceInterpreter resourceinterpreter.ResourceInterpreter // contains filtered or unexported fields }
WorkStatusController is to sync status of Work.
func (*WorkStatusController) Reconcile ¶ added in v0.4.0
func (c *WorkStatusController) Reconcile(ctx context.Context, req controllerruntime.Request) (controllerruntime.Result, error)
Reconcile performs a full reconciliation for the object referred to by the Request. The Controller will requeue the Request to be processed again if an error is non-nil or Result.Requeue is true, otherwise upon completion it will remove the work from the queue.
func (*WorkStatusController) RunWorkQueue ¶ added in v0.4.0
func (c *WorkStatusController) RunWorkQueue()
RunWorkQueue initializes worker and run it, worker will process resource asynchronously.
func (*WorkStatusController) SetupWithManager ¶ added in v0.4.0
func (c *WorkStatusController) SetupWithManager(mgr controllerruntime.Manager) error
SetupWithManager creates a controller and register to controller manager.