plugin

package
v0.3.3 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2023 License: Apache-2.0 Imports: 17 Imported by: 2

Documentation

Overview

Package plugin is the package that defines the eviction strategy, and those strategies must implement EvictPlugin interface, supporting both embedded plugin and external registered plugin.

Index

Constants

View Source
const (
	MetricsNamePodCount         = "pod_count"
	MetricsNamePodResource      = "pod_resource"
	MetricsNameGetResourceEmpty = "get_resource_empty"
)
View Source
const ReclaimedResourcesEvictionPluginName = "reclaimed-resource-pressure-eviction-plugin"

Variables

This section is empty.

Functions

This section is empty.

Types

type DummyEvictionPlugin

type DummyEvictionPlugin struct {
	*util.StopControl
}

func (DummyEvictionPlugin) Name

func (_ DummyEvictionPlugin) Name() string

func (DummyEvictionPlugin) Start added in v0.3.0

func (_ DummyEvictionPlugin) Start()

func (DummyEvictionPlugin) ThresholdMet

type EvictionPlugin

type EvictionPlugin interface {
	Name() string
	endpointpkg.Endpoint
}

EvictionPlugin performs eviction actions based on agent resources.

type GracePeriodGetter added in v0.3.0

type GracePeriodGetter func() int64

type InitFunc

type InitFunc func(genericClient *client.GenericClientSet, recorder events.EventRecorder, metaServer *metaserver.MetaServer,
	emitter metrics.MetricEmitter, conf *config.Configuration) EvictionPlugin

InitFunc is used to initialize a particular innter eviction plugin.

type ResourcesEvictionPlugin

type ResourcesEvictionPlugin struct {
	// contains filtered or unexported fields
}

ResourcesEvictionPlugin implements EvictPlugin interface it trigger pod eviction logic based on the tolerance of resources.

func NewResourcesEvictionPlugin

func NewResourcesEvictionPlugin(pluginName string, metaServer *metaserver.MetaServer,
	emitter metrics.MetricEmitter, resourcesGetter ResourcesGetter, thresholdGetter ThresholdGetter,
	gracePeriodGetter GracePeriodGetter, skipZeroQuantityResourceNames sets.String,
	podFilter func(pod *v1.Pod) (bool, error)) *ResourcesEvictionPlugin

func (*ResourcesEvictionPlugin) GetEvictPods

func (*ResourcesEvictionPlugin) GetTopEvictionPods

func (*ResourcesEvictionPlugin) Name

func (b *ResourcesEvictionPlugin) Name() string

func (*ResourcesEvictionPlugin) Start added in v0.3.0

func (b *ResourcesEvictionPlugin) Start()

func (*ResourcesEvictionPlugin) ThresholdMet

ThresholdMet evict pods when the beset effort resources usage is greater than the supply (after considering toleration).

type ResourcesGetter

type ResourcesGetter func(ctx context.Context) (v1.ResourceList, error)

type ThresholdGetter added in v0.2.0

type ThresholdGetter func(resourceName v1.ResourceName) float64

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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