package stateful

import "k8s.io/kubernetes/pkg/scheduler/framework/plugins/examples/stateful"

Index

Constants

const Name = "multipoint-plugin-example"

Name is the name of the plug used in Registry and configurations.

Functions

func New

New initializes a new plugin and returns it.

Types

type MultipointExample

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

MultipointExample is an example plugin that is executed at multiple extension points. This plugin is stateful. It receives arguments at initialization (NewMultipointPlugin) and changes its state when it is executed.

func (*MultipointExample) Name

func (mp *MultipointExample) Name() string

Name returns name of the plugin. It is used in logs, etc.

func (*MultipointExample) PreBind

func (mp *MultipointExample) PreBind(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) *framework.Status

PreBind is the function invoked by the framework at "prebind" extension point.

func (*MultipointExample) Reserve

func (mp *MultipointExample) Reserve(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) *framework.Status

Reserve is the function invoked by the framework at "reserve" extension point. In this trivial example, the Reserve method allocates an array of strings.

func (*MultipointExample) Unreserve

func (mp *MultipointExample) Unreserve(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string)

Unreserve is the function invoked by the framework when any error happens during "reserve" extension point or later. In this example, the Unreserve method loses its reference to the string slice, allowing it to be garbage collected, and thereby "unallocating" the reserved resources.

Source Files

stateful.go

Version
v1.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
7 packages
Last checked
3 hours ago

Tools for package owners.