Documentation
¶
Index ¶
- Constants
- Variables
- func NewHighNodeUtilization(args runtime.Object, handle frameworktypes.Handle) (frameworktypes.Plugin, error)
- func NewLowNodeUtilization(args runtime.Object, handle frameworktypes.Handle) (frameworktypes.Plugin, error)
- func RegisterDefaults(scheme *runtime.Scheme) error
- func SetDefaults_HighNodeUtilizationArgs(obj runtime.Object)
- func SetDefaults_LowNodeUtilizationArgs(obj runtime.Object)
- func ValidateHighNodeUtilizationArgs(obj runtime.Object) error
- func ValidateLowNodeUtilizationArgs(obj runtime.Object) error
- type HighNodeUtilization
- type HighNodeUtilizationArgs
- type LowNodeUtilization
- type LowNodeUtilizationArgs
- type NodeInfo
- type NodePodsMap
- type NodeThresholds
- type NodeUsage
Constants ¶
const ( // MinResourcePercentage is the minimum value of a resource's percentage MinResourcePercentage = 0 // MaxResourcePercentage is the maximum value of a resource's percentage MaxResourcePercentage = 100 )
const HighNodeUtilizationPluginName = "HighNodeUtilization"
const LowNodeUtilizationPluginName = "LowNodeUtilization"
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder() AddToScheme = localSchemeBuilder.AddToScheme )
Functions ¶
func NewHighNodeUtilization ¶
func NewHighNodeUtilization(args runtime.Object, handle frameworktypes.Handle) (frameworktypes.Plugin, error)
NewHighNodeUtilization builds plugin from its arguments while passing a handle
func NewLowNodeUtilization ¶
func NewLowNodeUtilization(args runtime.Object, handle frameworktypes.Handle) (frameworktypes.Plugin, error)
NewLowNodeUtilization builds plugin from its arguments while passing a handle
func RegisterDefaults ¶ added in v0.26.0
RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.
func SetDefaults_HighNodeUtilizationArgs ¶ added in v0.26.0
SetDefaults_HighNodeUtilizationArgs TODO: the final default values would be discussed in community
func SetDefaults_LowNodeUtilizationArgs ¶ added in v0.26.0
SetDefaults_LowNodeUtilizationArgs TODO: the final default values would be discussed in community
func ValidateHighNodeUtilizationArgs ¶ added in v0.26.0
func ValidateLowNodeUtilizationArgs ¶ added in v0.26.0
Types ¶
type HighNodeUtilization ¶
type HighNodeUtilization struct {
// contains filtered or unexported fields
}
func (*HighNodeUtilization) Balance ¶
func (h *HighNodeUtilization) Balance(ctx context.Context, nodes []*v1.Node) *frameworktypes.Status
Balance extension point implementation for the plugin
func (*HighNodeUtilization) Name ¶
func (h *HighNodeUtilization) Name() string
Name retrieves the plugin name
type HighNodeUtilizationArgs ¶ added in v0.26.0
type HighNodeUtilizationArgs struct { metav1.TypeMeta `json:",inline"` Thresholds api.ResourceThresholds `json:"thresholds"` NumberOfNodes int `json:"numberOfNodes"` // Naming this one differently since namespaces are still // considered while considering resources used by pods // but then filtered out before eviction EvictableNamespaces *api.Namespaces `json:"evictableNamespaces"` }
func (*HighNodeUtilizationArgs) DeepCopy ¶ added in v0.26.0
func (in *HighNodeUtilizationArgs) DeepCopy() *HighNodeUtilizationArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HighNodeUtilizationArgs.
func (*HighNodeUtilizationArgs) DeepCopyInto ¶ added in v0.26.0
func (in *HighNodeUtilizationArgs) DeepCopyInto(out *HighNodeUtilizationArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HighNodeUtilizationArgs) DeepCopyObject ¶ added in v0.26.0
func (in *HighNodeUtilizationArgs) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LowNodeUtilization ¶
type LowNodeUtilization struct {
// contains filtered or unexported fields
}
func (*LowNodeUtilization) Balance ¶
func (l *LowNodeUtilization) Balance(ctx context.Context, nodes []*v1.Node) *frameworktypes.Status
Balance extension point implementation for the plugin
func (*LowNodeUtilization) Name ¶
func (l *LowNodeUtilization) Name() string
Name retrieves the plugin name
type LowNodeUtilizationArgs ¶ added in v0.26.0
type LowNodeUtilizationArgs struct { metav1.TypeMeta `json:",inline"` UseDeviationThresholds bool `json:"useDeviationThresholds"` Thresholds api.ResourceThresholds `json:"thresholds"` TargetThresholds api.ResourceThresholds `json:"targetThresholds"` NumberOfNodes int `json:"numberOfNodes"` // Naming this one differently since namespaces are still // considered while considering resources used by pods // but then filtered out before eviction EvictableNamespaces *api.Namespaces `json:"evictableNamespaces"` }
func (*LowNodeUtilizationArgs) DeepCopy ¶ added in v0.26.0
func (in *LowNodeUtilizationArgs) DeepCopy() *LowNodeUtilizationArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LowNodeUtilizationArgs.
func (*LowNodeUtilizationArgs) DeepCopyInto ¶ added in v0.26.0
func (in *LowNodeUtilizationArgs) DeepCopyInto(out *LowNodeUtilizationArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LowNodeUtilizationArgs) DeepCopyObject ¶ added in v0.26.0
func (in *LowNodeUtilizationArgs) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodePodsMap ¶
NodePodsMap is a set of (node, pods) pairs
type NodeThresholds ¶
type NodeThresholds struct {
// contains filtered or unexported fields
}