controller

package
v0.5.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2024 License: Apache-2.0 Imports: 5 Imported by: 11

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CNCLifecycleConfig

type CNCLifecycleConfig struct{}

type CNRLifecycleConfig

type CNRLifecycleConfig struct{}

type CNRMonitorConfig added in v0.4.0

type CNRMonitorConfig struct{}

type GenericControllerConfiguration

type GenericControllerConfiguration 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

	// A selector to restrict the list of returned objects by their labels. this selector is
	// used in informer factory.
	LabelSelector string

	// since many centralized components need a dynamic mechanism to
	// list-watch or get GYR from APIServer (such as autoscaling and
	// service-profiling), we use DynamicGVResources to define those GVRs
	DynamicGVResources []string
}

func NewGenericControllerConfiguration

func NewGenericControllerConfiguration() *GenericControllerConfiguration

type HealthzConfig added in v0.2.0

type HealthzConfig struct {
	DryRun        bool
	NodeSelector  labels.Selector
	AgentSelector map[string]labels.Selector

	// config for checking logic
	CheckWindow           time.Duration
	UnhealthyPeriods      time.Duration
	AgentUnhealthyPeriods map[string]time.Duration

	// config for handling logic
	HandlePeriod  time.Duration
	AgentHandlers map[string]string

	// config for disrupting logic
	TaintQPS                 float32
	EvictQPS                 float32
	DisruptionTaintThreshold float32
	DisruptionEvictThreshold float32
}

type KCCConfig

type KCCConfig struct {
	// ValidAPIGroupSet indicates the api-groups that kcc allows.
	ValidAPIGroupSet sets.String
}

func NewKCCConfig

func NewKCCConfig() *KCCConfig

type LifeCycleConfig

type LifeCycleConfig struct {
	EnableHealthz      bool
	EnableCNCLifecycle bool

	*CNRLifecycleConfig
	*CNCLifecycleConfig
	*HealthzConfig
}

func NewLifeCycleConfig

func NewLifeCycleConfig() *LifeCycleConfig

type MonitorConfig added in v0.4.0

type MonitorConfig struct {
	// EnableCNRMonitor is a flag to enable CNR monitor controller
	EnableCNRMonitor bool

	*CNRMonitorConfig
}

func NewMonitorConfig added in v0.4.0

func NewMonitorConfig() *MonitorConfig

type NodeOvercommitConfig added in v0.4.0

type NodeOvercommitConfig struct {
	// numer of workers to sync overcommit config
	SyncWorkers int

	// time interval of reconcile overcommit config
	ConfigReconcilePeriod time.Duration
}

type OvercommitConfig added in v0.4.0

type OvercommitConfig struct {
	Node NodeOvercommitConfig
}

func NewOvercommitConfig added in v0.4.0

func NewOvercommitConfig() *OvercommitConfig

type ResourcePortraitIndicatorPluginConfig added in v0.5.4

type ResourcePortraitIndicatorPluginConfig struct {
	// available datasource: prom
	DataSource string
	// DataSourcePromConfig is the prometheus datasource config
	DataSourcePromConfig prometheus.PromConfig
	// ReSyncPeriod controls the resync period to refresh spd
	ReSyncPeriod time.Duration
	// AlgorithmServingAddress is the algorithm serving address
	AlgorithmServingAddress string
	// AlgorithmConfigMapName is the configmap name used by resource portrait plugin
	AlgorithmConfigMapName string
	// AlgorithmConfigMapNamespace is the configmap namespace used by resource portrait plugin
	AlgorithmConfigMapNamespace string
	// EnableAutomaticResyncGlobalConfiguration is used to enable automatic synchronization of global configuration.
	// If this switch is enabled, the plug-in will refresh itself configuration in SPD with the configuration in the
	// global ConfigMap. If this switch is disable, users can customize the configuration in SPD.
	EnableAutomaticResyncGlobalConfiguration bool
}

ResourcePortraitIndicatorPluginConfig holds the configurations for resource portrait indicator plugin data.

type ResourceRecommendConfig

type ResourceRecommendConfig struct {
	// time interval of resync VPA
	VPAReSyncPeriod time.Duration
}

type ResourceRecommenderConfig added in v0.4.1

type ResourceRecommenderConfig struct {
	OOMRecordMaxNumber int

	HealthProbeBindPort string
	MetricsBindPort     string

	// available datasource: prom
	DataSource []string
	// DataSourcePromConfig is the prometheus datasource config
	DataSourcePromConfig prometheus.PromConfig

	// LogVerbosityLevel to specify log verbosity level. (The default level is 4)
	// Set it to something larger than 4 if more detailed logs are needed.
	LogVerbosityLevel string
}

func NewResourceRecommenderConfig added in v0.4.1

func NewResourceRecommenderConfig() *ResourceRecommenderConfig

type SPDConfig

type SPDConfig struct {
	// ReSyncPeriod controls the resync period to generate spd
	ReSyncPeriod time.Duration

	// SPDWorkloadGVResources define those SPD concerned GVRs
	SPDWorkloadGVResources []string
	// SPDPodLabelIndexerKeys are used
	SPDPodLabelIndexerKeys []string

	// EnableCNCCache is to sync spd cnc target config
	EnableCNCCache bool

	IndicatorPlugins []string

	BaselinePercent map[string]int64

	*ResourcePortraitIndicatorPluginConfig
}

func NewSPDConfig

func NewSPDConfig() *SPDConfig

type TideConfig added in v0.4.0

type TideConfig struct{}

func NewTideConfig added in v0.4.0

func NewTideConfig() *TideConfig

type VPAConfig

type VPAConfig struct {
	// VPAWorkloadGVResources define those VPA concerned GVRs
	VPAWorkloadGVResources []string
	// SPDPodLabelIndexerKeys are used
	VPAPodLabelIndexerKeys []string
	// number of workers to sync VPA and VPARec
	VPASyncWorkers    int
	VPARecSyncWorkers int

	*VPARecommendationConfig
	*ResourceRecommendConfig
}

func NewVPAConfig

func NewVPAConfig() *VPAConfig

type VPARecommendationConfig

type VPARecommendationConfig struct{}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL