controller

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2023 License: Apache-2.0 Imports: 3 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 {
	// EnableEviction is true, lifecycle controller start eviction logic.
	EnableEviction bool

	// DryRun controls if dry-run is enabled
	DryRun bool

	// CNR related configuration to control the strategies of handling
	// abnormal scenarios of agent logic
	CNRUpdateTimeWindow   time.Duration
	CNRMonitorPeriod      time.Duration
	CNRMonitorTaintPeriod time.Duration
	CNRMonitorGracePeriod time.Duration

	// select CNR related agents from selected nodes matching the given selector
	CNRAgentSelector []string
	NodeSelector     string
}

type ControllersConfiguration

type ControllersConfiguration struct {
	*VPAConfig
	*KCCConfig
	*SPDConfig
	*LifeCycleConfig
}

func NewControllersConfiguration

func NewControllersConfiguration() *ControllersConfiguration

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

	// DryRun controls if dry-run is enabled
	DryRun bool

	// ClientConnection specifies the kubeconfig file and client connection
	// settings for the proxy server to use when communicating with the apiserver.
	ClientConnection componentbaseconfig.ClientConnectionConfiguration

	// 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 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 {
	*CNRLifecycleConfig
	*CNCLifecycleConfig
}

func NewLifeCycleConfig

func NewLifeCycleConfig() *LifeCycleConfig

type ResourceRecommendConfig

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

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
}

func NewSPDConfig

func NewSPDConfig() *SPDConfig

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