impl

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2024 License: Apache-2.0 Imports: 68 Imported by: 2

Documentation

Index

Constants

View Source
const (
	HTTPScheme  = "http"
	HTTPSScheme = "https"
)

Variables

View Source
var DefaultPluginRegistry = map[PluginName]informerPlugin{
	// contains filtered or unexported fields
}

Functions

func NewCallbackRunner

func NewCallbackRunner() *callbackRunner

func NewNodeInformer

func NewNodeInformer() *nodeInformer

func NewNodeMetricInformer

func NewNodeMetricInformer() *nodeMetricInformer

func NewNodeSLOInformer

func NewNodeSLOInformer() *nodeSLOInformer

func NewNodeTopoInformer

func NewNodeTopoInformer() *nodeTopoInformer

func NewPVCInformer

func NewPVCInformer() *pvcInformer

func NewPodsInformer

func NewPodsInformer() *podsInformer

Types

type Config

type Config struct {
	KubeletPreferredAddressType string
	KubeletSyncInterval         time.Duration
	KubeletSyncTimeout          time.Duration
	InsecureKubeletTLS          bool
	KubeletReadOnlyPort         uint
	NodeTopologySyncInterval    time.Duration
	DisableQueryKubeletConfig   bool
	EnableNodeMetricReport      bool
	MetricReportInterval        time.Duration // Deprecated
}

func NewDefaultConfig

func NewDefaultConfig() *Config

func (*Config) InitFlags

func (c *Config) InitFlags(fs *flag.FlagSet)

type GetGPUDriverAndModelFunc

type GetGPUDriverAndModelFunc func() (string, string)

type KubeletStub

type KubeletStub interface {
	GetAllPods() (corev1.PodList, error)
	GetKubeletConfiguration() (*kubeletconfiginternal.KubeletConfiguration, error)
}

func NewKubeletStub

func NewKubeletStub(addr string, port int, scheme string, timeout time.Duration, cfg *rest.Config) (KubeletStub, error)

type PluginName

type PluginName string

type PluginOption

type PluginOption struct {
	KubeClient  clientset.Interface
	KoordClient koordclientset.Interface
	TopoClient  topologyclientset.Interface
	NodeName    string
	// contains filtered or unexported fields
}

type PluginState

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

type StatesInformer

type StatesInformer interface {
	Run(stopCh <-chan struct{}) error
	HasSynced() bool

	GetNode() *corev1.Node
	GetNodeSLO() *slov1alpha1.NodeSLO

	GetAllPods() []*statesinformer.PodMeta

	GetNodeTopo() *topov1alpha1.NodeResourceTopology

	GetVolumeName(pvcNamespace, pvcName string) string

	RegisterCallbacks(objType statesinformer.RegisterType, name, description string, callbackFn statesinformer.UpdateCbFn)
}

func NewStatesInformer

func NewStatesInformer(config *Config, kubeClient clientset.Interface, crdClient koordclientset.Interface, topologyClient topologyclientset.Interface,
	metricsCache metriccache.MetricCache, nodeName string, schedulingClient schedv1alpha1.SchedulingV1alpha1Interface, predictorFactory prediction.PredictorFactory) StatesInformer

TODO merge all clients into one struct

type UpdateCbCtx

type UpdateCbCtx struct{}

Jump to

Keyboard shortcuts

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