v1alpha1

package
v0.1.13 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2023 License: Apache-2.0 Imports: 5 Imported by: 31

Documentation

Overview

Package v1alpha1 provides alpha API for Katalyst config API objects.

Index

Constants

View Source
const (
	ResourceNameKatalystCustomConfigs  = "katalystcustomconfigs"
	ResourceNameCustomNodeConfigs      = "customnodeconfigs"
	ResourceNameAdminQoSConfigurations = "adminqosconfigurations"
)

ResourceName const is used to construct standard gvr

View Source
const (
	// GroupName is the group name used in this package
	GroupName string = "config.katalyst.kubewharf.io"
)

Variables

View Source
var (
	// SchemeBuilder collects schemas to build.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is used by generated client to add this scheme to the generated client.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AdminQoSConfig added in v0.0.4

type AdminQoSConfig struct {
	// ReclaimedResourceConfig is a configuration for reclaim resource
	// +optional
	ReclaimedResourceConfig *ReclaimedResourceConfig `json:"reclaimedResourceConfig,omitempty"`

	// EvictionConfig is a configuration for eviction
	// +optional
	EvictionConfig *EvictionConfig `json:"evictionConfig,omitempty"`
}

func (*AdminQoSConfig) DeepCopy added in v0.0.4

func (in *AdminQoSConfig) DeepCopy() *AdminQoSConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminQoSConfig.

func (*AdminQoSConfig) DeepCopyInto added in v0.0.4

func (in *AdminQoSConfig) DeepCopyInto(out *AdminQoSConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdminQoSConfiguration added in v0.0.4

type AdminQoSConfiguration struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AdminQoSConfigurationSpec `json:"spec,omitempty"`
	Status GenericConfigStatus       `json:"status,omitempty"`
}

AdminQoSConfiguration is the Schema for the configuration API used by admin QoS policy

func (*AdminQoSConfiguration) DeepCopy added in v0.0.4

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminQoSConfiguration.

func (*AdminQoSConfiguration) DeepCopyInto added in v0.0.4

func (in *AdminQoSConfiguration) DeepCopyInto(out *AdminQoSConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AdminQoSConfiguration) DeepCopyObject added in v0.0.4

func (in *AdminQoSConfiguration) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AdminQoSConfigurationList added in v0.0.4

type AdminQoSConfigurationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AdminQoSConfiguration `json:"items"`
}

AdminQoSConfigurationList contains a list of AdminQoSConfiguration

func (*AdminQoSConfigurationList) DeepCopy added in v0.0.4

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminQoSConfigurationList.

func (*AdminQoSConfigurationList) DeepCopyInto added in v0.0.4

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AdminQoSConfigurationList) DeepCopyObject added in v0.0.4

func (in *AdminQoSConfigurationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AdminQoSConfigurationSpec added in v0.0.4

type AdminQoSConfigurationSpec struct {
	GenericConfigSpec `json:",inline"`

	// Config is custom field for admin qos configuration
	Config AdminQoSConfig `json:"config"`
}

AdminQoSConfigurationSpec defines the desired state of AdminQoSConfiguration

func (*AdminQoSConfigurationSpec) DeepCopy added in v0.0.4

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminQoSConfigurationSpec.

func (*AdminQoSConfigurationSpec) DeepCopyInto added in v0.0.4

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CPUHeadroomConfig added in v0.1.6

type CPUHeadroomConfig struct {
	// UtilBasedConfig is a config for utilization based cpu headroom policy
	// +optional
	UtilBasedConfig *CPUHeadroomUtilBasedConfig `json:"utilBasedConfig,omitempty"`
}

func (*CPUHeadroomConfig) DeepCopy added in v0.1.6

func (in *CPUHeadroomConfig) DeepCopy() *CPUHeadroomConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUHeadroomConfig.

func (*CPUHeadroomConfig) DeepCopyInto added in v0.1.6

func (in *CPUHeadroomConfig) DeepCopyInto(out *CPUHeadroomConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CPUHeadroomUtilBasedConfig added in v0.1.6

type CPUHeadroomUtilBasedConfig struct {
	// Enable is a flag to enable utilization based cpu headroom policy
	// +optional
	Enable *bool `json:"enable,omitempty"`

	// TargetReclaimedCoreUtilization is the target reclaimed core utilization to be used for
	// calculating the oversold cpu headroom
	// +kubectl:validation:Minimum=0
	// +kubectl:validation:Maximum=1
	// +optional
	TargetReclaimedCoreUtilization *float64 `json:"targetReclaimedCoreUtilization,omitempty"`

	// MaxReclaimedCoreUtilization is the max reclaimed core utilization of reclaimed_cores pool,
	// which is used to calculate the oversold cpu headroom, if zero means no limit
	// +kubectl:validation:Minimum=0
	// +kubectl:validation:Maximum=1
	// +optional
	MaxReclaimedCoreUtilization *float64 `json:"maxReclaimedCoreUtilization,omitempty"`

	// MaxOversoldRate is the max oversold rate of cpu headroom to the actual size of
	// reclaimed_cores pool
	// +kubectl:validation:Minimum=0
	// +optional
	MaxOversoldRate *float64 `json:"maxOversoldRate,omitempty"`

	// MaxHeadroomCapacityRate is the max headroom capacity rate of cpu headroom to the total
	// cpu capacity of node
	// +kubectl:validation:Minimum=0
	// +optional
	MaxHeadroomCapacityRate *float64 `json:"maxHeadroomCapacityRate,omitempty"`
}

func (*CPUHeadroomUtilBasedConfig) DeepCopy added in v0.1.6

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUHeadroomUtilBasedConfig.

func (*CPUHeadroomUtilBasedConfig) DeepCopyInto added in v0.1.6

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CPUPressureEvictionConfig added in v0.1.6

type CPUPressureEvictionConfig struct {
	// EnableLoadEviction is whether to enable cpu load eviction
	// +optional
	EnableLoadEviction *bool `json:"enableLoadEviction,omitempty"`

	// LoadUpperBoundRatio is the upper bound ratio of cpuset pool load, if the load
	// of the target cpuset pool is greater than the load upper bound repeatedly, the
	// eviction will be triggered
	// +kubectl:validation:Minimum=1
	// +optional
	LoadUpperBoundRatio *float64 `json:"loadUpperBoundRatio,omitempty"`

	// LoadThresholdMetPercentage is the percentage of the number of times the load
	// over the upper bound to the total number of times the load is measured, if the
	// percentage is greater than the load threshold met percentage, the eviction or
	// node tainted will be triggered
	// +kubectl:validation:Minimum=0
	// +kubectl:validation:Maximum=1
	// +optional
	LoadThresholdMetPercentage *float64 `json:"loadThresholdMetPercentage,omitempty"`

	// LoadMetricRingSize is the size of the load metric ring, which is used to calculate the
	// load of the target cpuset pool
	// +kubebuilder:validation:Minimum=1
	// +optional
	LoadMetricRingSize *int `json:"loadMetricRingSize,omitempty"`

	// LoadEvictionCoolDownTime is the cool-down time of cpu load eviction,
	// if the cpu load eviction is triggered, the cpu load eviction will be
	// disabled for the cool-down time
	// +optional
	LoadEvictionCoolDownTime *metav1.Duration `json:"loadEvictionCoolDownTime,omitempty"`

	// EnableSuppressionEviction is whether to enable pod-level cpu suppression eviction
	// +optional
	EnableSuppressionEviction *bool `json:"enableSuppressionEviction,omitempty"`

	// MaxSuppressionToleranceRate is the maximum cpu suppression tolerance rate that
	// can be set by the pod, if the cpu suppression tolerance rate of the pod is greater
	// than the maximum cpu suppression tolerance rate, the cpu suppression tolerance rate
	// of the pod will be set to the maximum cpu suppression tolerance rate
	// +kubectl:validation:Minimum=0
	// +optional
	MaxSuppressionToleranceRate *float64 `json:"maxSuppressionToleranceRate,omitempty"`

	// MinSuppressionToleranceDuration is the minimum duration a pod can tolerate cpu
	// suppression, only if the cpu suppression duration of the pod is greater than the
	// minimum cpu suppression duration, the eviction will be triggered
	// +optional
	MinSuppressionToleranceDuration *metav1.Duration `json:"minSuppressionToleranceDuration,omitempty"`

	// GracePeriod is the grace period of cpu pressure eviction
	// +kubectl:validation:Minimum=0
	// +optional
	GracePeriod *int64 `json:"gracePeriod,omitempty"`
}

func (*CPUPressureEvictionConfig) DeepCopy added in v0.1.6

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUPressureEvictionConfig.

func (*CPUPressureEvictionConfig) DeepCopyInto added in v0.1.6

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigConditionType

type ConfigConditionType string
const (
	// ConfigConditionTypeValid means this config whether is valid
	ConfigConditionTypeValid ConfigConditionType = "Valid"
)

type CustomNodeConfig

type CustomNodeConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CustomNodeConfigSpec   `json:"spec,omitempty"`
	Status CustomNodeConfigStatus `json:"status,omitempty"`
}

CustomNodeConfig is the Schema for the customnodeconfigs API

func (*CustomNodeConfig) DeepCopy

func (in *CustomNodeConfig) DeepCopy() *CustomNodeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomNodeConfig.

func (*CustomNodeConfig) DeepCopyInto

func (in *CustomNodeConfig) DeepCopyInto(out *CustomNodeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CustomNodeConfig) DeepCopyObject

func (in *CustomNodeConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CustomNodeConfigList

type CustomNodeConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CustomNodeConfig `json:"items"`
}

CustomNodeConfigList contains a list of CustomNodeConfig

func (*CustomNodeConfigList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomNodeConfigList.

func (*CustomNodeConfigList) DeepCopyInto

func (in *CustomNodeConfigList) DeepCopyInto(out *CustomNodeConfigList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CustomNodeConfigList) DeepCopyObject

func (in *CustomNodeConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CustomNodeConfigSpec

type CustomNodeConfigSpec struct {
}

func (*CustomNodeConfigSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomNodeConfigSpec.

func (*CustomNodeConfigSpec) DeepCopyInto

func (in *CustomNodeConfigSpec) DeepCopyInto(out *CustomNodeConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomNodeConfigStatus

type CustomNodeConfigStatus struct {
	// KatalystCustomConfigList contains a list of target custom config
	KatalystCustomConfigList []TargetConfig `json:"katalystCustomConfigList,omitempty"`

	// ServiceProfileConfigList contains a list of target service Profile config
	ServiceProfileConfigList []TargetConfig `json:"serviceProfileConfigList,omitempty"`
}

CustomNodeConfigStatus defines the desired state of KatalystCustomConfig

func (*CustomNodeConfigStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomNodeConfigStatus.

func (*CustomNodeConfigStatus) DeepCopyInto

func (in *CustomNodeConfigStatus) DeepCopyInto(out *CustomNodeConfigStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EphemeralSelector

type EphemeralSelector struct {
	// Specific nodes' name the configurations will be effected.
	// +optional
	NodeNames []string `json:"nodeNames,omitempty"`

	// define the duration this configuration will last from creationTimestamp.
	// must and only set when NodeNames already set
	LastDuration *metav1.Duration `json:"lastDuration,omitempty"`
}

func (*EphemeralSelector) DeepCopy

func (in *EphemeralSelector) DeepCopy() *EphemeralSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralSelector.

func (*EphemeralSelector) DeepCopyInto

func (in *EphemeralSelector) DeepCopyInto(out *EphemeralSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EvictionConfig added in v0.0.2

type EvictionConfig struct {
	// DryRun is the list of eviction plugins to dryRun
	// '*' means "all dry-run by default"
	// 'foo' means "dry-run 'foo'"
	// first item for a particular name wins
	// +optional
	DryRun []string `json:"dryRun"`

	// CPUPressureEvictionConfig is the config for cpu pressure eviction
	// +optional
	CPUPressureEvictionConfig *CPUPressureEvictionConfig `json:"cpuPressureEvictionConfig,omitempty"`

	// MemoryPressureEvictionConfig is the config for memory pressure eviction
	// +optional
	MemoryPressureEvictionConfig *MemoryPressureEvictionConfig `json:"memoryPressureEvictionConfig,omitempty"`

	// ReclaimedResourcesEvictionConfig is the config for reclaimed resources' eviction
	// +optional
	ReclaimedResourcesEvictionConfig *ReclaimedResourcesEvictionConfig `json:"reclaimedResourcesEvictionConfig,omitempty"`
}

func (*EvictionConfig) DeepCopy added in v0.0.2

func (in *EvictionConfig) DeepCopy() *EvictionConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionConfig.

func (*EvictionConfig) DeepCopyInto added in v0.0.2

func (in *EvictionConfig) DeepCopyInto(out *EvictionConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GenericConfigCondition

type GenericConfigCondition struct {
	// Type of config condition
	Type ConfigConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status"`
	// Last time the condition transit from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// reason is the reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// message is a human-readable explanation containing details about the transition
	// +optional
	Message string `json:"message,omitempty"`
}

func (*GenericConfigCondition) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericConfigCondition.

func (*GenericConfigCondition) DeepCopyInto

func (in *GenericConfigCondition) DeepCopyInto(out *GenericConfigCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GenericConfigSpec

type GenericConfigSpec struct {
	// RevisionHistoryLimit is the maximum number of revisions that will
	// be maintained in the resource's revision history. The revision history
	// consists of all revisions not represented by a currently applied
	// Spec version. The default value is 3.
	// +kubebuilder:default:=3
	RevisionHistoryLimit int64 `json:"revisionHistoryLimit,omitempty"`

	// NodeLabelSelector select nodes to apply these configurations
	// if spec.labelKey no set, NodeLabelSelector must be empty, the
	// label selector must only include KatalystCustomConfig.spec
	// .nodeLabelSelectorKey, otherwise it will not be synced
	// This field will be immutable after it is initially set.
	// +optional
	NodeLabelSelector string `json:"nodeLabelSelector,omitempty"`

	// EphemeralSelector is used to indicate the
	// +optional
	EphemeralSelector EphemeralSelector `json:"ephemeralSelector,omitempty"`
}

func (*GenericConfigSpec) DeepCopy

func (in *GenericConfigSpec) DeepCopy() *GenericConfigSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericConfigSpec.

func (*GenericConfigSpec) DeepCopyInto

func (in *GenericConfigSpec) DeepCopyInto(out *GenericConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GenericConfigStatus

type GenericConfigStatus struct {
	// Count of hash collisions for this cr. The kcc controller
	// uses this field as a collision avoidance mechanism when it needs to
	// create the name for the newest ControllerRevision.
	// +optional
	CollisionCount *int32 `json:"collisionCount,omitempty"`

	// The most recent generation observed by the kcc controller.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Represents the latest available observations of a config's current state.
	Conditions []GenericConfigCondition `json:"conditions,omitempty"`
}

func (*GenericConfigStatus) DeepCopy

func (in *GenericConfigStatus) DeepCopy() *GenericConfigStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericConfigStatus.

func (*GenericConfigStatus) DeepCopyInto

func (in *GenericConfigStatus) DeepCopyInto(out *GenericConfigStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KatalystCustomConfig

type KatalystCustomConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KatalystCustomConfigSpec   `json:"spec,omitempty"`
	Status KatalystCustomConfigStatus `json:"status,omitempty"`
}

KatalystCustomConfig is the Schema for the custom configuration API in katalyst

func (*KatalystCustomConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KatalystCustomConfig.

func (*KatalystCustomConfig) DeepCopyInto

func (in *KatalystCustomConfig) DeepCopyInto(out *KatalystCustomConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KatalystCustomConfig) DeepCopyObject

func (in *KatalystCustomConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KatalystCustomConfigCondition

type KatalystCustomConfigCondition struct {
	// Type of KatalystCustomConfig condition
	Type KatalystCustomConfigConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status"`
	// Last time the condition transit from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// reason is the reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// message is a human-readable explanation containing details about the transition
	// +optional
	Message string `json:"message,omitempty"`
}

func (*KatalystCustomConfigCondition) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KatalystCustomConfigCondition.

func (*KatalystCustomConfigCondition) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KatalystCustomConfigConditionType

type KatalystCustomConfigConditionType string
const (
	KatalystCustomConfigConditionTypeValid KatalystCustomConfigConditionType = "Valid"
)

type KatalystCustomConfigList

type KatalystCustomConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KatalystCustomConfig `json:"items"`
}

KatalystCustomConfigList contains a list of KatalystCustomConfig

func (*KatalystCustomConfigList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KatalystCustomConfigList.

func (*KatalystCustomConfigList) DeepCopyInto

func (in *KatalystCustomConfigList) DeepCopyInto(out *KatalystCustomConfigList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KatalystCustomConfigList) DeepCopyObject

func (in *KatalystCustomConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KatalystCustomConfigSpec

type KatalystCustomConfigSpec struct {
	// the GVR of target config type
	TargetType metav1.GroupVersionResource `json:"targetType"`
	// whether disable revisionHistory for the KatalystCustomConfig resource
	// +kubebuilder:default:=true
	// +optional
	DisableRevisionHistory bool `json:"disableRevisionHistory,omitempty"`
	// key of node label to select which nodes will be effected by the KatalystCustomConfig resource
	// +optional
	NodeLabelSelectorKey string `json:"nodeLabelSelectorKey,omitempty"`
}

KatalystCustomConfigSpec defines the desired state of KatalystCustomConfig

func (*KatalystCustomConfigSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KatalystCustomConfigSpec.

func (*KatalystCustomConfigSpec) DeepCopyInto

func (in *KatalystCustomConfigSpec) DeepCopyInto(out *KatalystCustomConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KatalystCustomConfigStatus

type KatalystCustomConfigStatus struct {
	// ObservedGeneration is the generation as observed by the controller consuming the KatalystCustomConfig.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// InvalidTargetConfigList is a name list of invalid Config
	InvalidTargetConfigList []string `json:"invalidTargetConfigList,omitempty"`

	// Represents the latest available observations of a KatalystCustomConfig's current state.
	Conditions []KatalystCustomConfigCondition `json:"conditions,omitempty"`
}

KatalystCustomConfigStatus defines the observed state of KatalystCustomConfig

func (*KatalystCustomConfigStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KatalystCustomConfigStatus.

func (*KatalystCustomConfigStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MemoryHeadroomConfig added in v0.1.6

type MemoryHeadroomConfig struct {
	// MemoryHeadroomUtilBasedConfig is a config for utilization based memory headroom policy
	// +optional
	UtilBasedConfig *MemoryHeadroomUtilBasedConfig `json:"utilBasedConfig,omitempty"`
}

func (*MemoryHeadroomConfig) DeepCopy added in v0.1.6

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryHeadroomConfig.

func (*MemoryHeadroomConfig) DeepCopyInto added in v0.1.6

func (in *MemoryHeadroomConfig) DeepCopyInto(out *MemoryHeadroomConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MemoryHeadroomUtilBasedConfig added in v0.1.6

type MemoryHeadroomUtilBasedConfig struct {
	// Enable is a flag to enable utilization based memory headroom policy
	// +optional
	Enable *bool `json:"enable,omitempty"`

	// FreeBasedRatio is the estimation of free memory utilization, which can
	// be used as system buffer to oversold memory.
	// +kubectl:validation:Minimum=0
	// +kubectl:validation:Maximum=1
	// +optional
	FreeBasedRatio *float64 `json:"freeBasedRatio,omitempty"`

	// StaticBasedCapacity is the static oversold memory size by bytes
	// +kubectl:validation:Minimum=0
	// +optional
	StaticBasedCapacity *float64 `json:"staticBasedCapacity,omitempty"`

	// CacheBasedRatio is the rate of cache oversold, 0 means disable cache oversold
	// +kubectl:validation:Minimum=0
	// +kubectl:validation:Maximum=1
	// +optional
	CacheBasedRatio *float64 `json:"cacheBasedRatio,omitempty"`
}

func (*MemoryHeadroomUtilBasedConfig) DeepCopy added in v0.1.6

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryHeadroomUtilBasedConfig.

func (*MemoryHeadroomUtilBasedConfig) DeepCopyInto added in v0.1.6

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MemoryPressureEvictionConfig added in v0.1.6

type MemoryPressureEvictionConfig struct {
	// EnableNumaLevelEviction is whether to enable numa-level eviction
	// +optional
	EnableNumaLevelEviction *bool `json:"enableNumaLevelEviction,omitempty"`

	// EnableSystemLevelEviction is whether to enable system-level eviction
	// +optional
	EnableSystemLevelEviction *bool `json:"enableSystemLevelEviction,omitempty"`

	// NumaFreeBelowWatermarkTimesThreshold is the threshold for the number of
	// times NUMA's free memory falls below the watermark
	// +kubectl:validation:Minimum=0
	// +optional
	NumaFreeBelowWatermarkTimesThreshold *int `json:"numaFreeBelowWatermarkTimesThreshold,omitempty"`

	// NumaFreeBelowWatermarkTimesThreshold is the threshold for the rate of
	// kswapd reclaiming rate
	// +kubectl:validation:Minimum=0
	// +optional
	SystemKswapdRateThreshold *int `json:"systemKswapdRateThreshold,omitempty"`

	// SystemKswapdRateExceedDurationThreshold is the threshold for the duration the kswapd reclaiming rate
	// exceeds the threshold
	// +kubectl:validation:Minimum=0
	// +optional
	SystemKswapdRateExceedDurationThreshold *int `json:"systemKswapdRateExceedDurationThreshold,omitempty"`

	// NumaEvictionRankingMetrics is the metrics used to rank pods for eviction
	// at the NUMA level
	// +kubebuilder:validation:MinItems=1
	// +optional
	NumaEvictionRankingMetrics []NumaEvictionRankingMetric `json:"numaEvictionRankingMetrics,omitempty"`

	// SystemEvictionRankingMetrics is the metrics used to rank pods for eviction
	// at the system level
	// +kubebuilder:validation:MinItems=1
	// +optional
	SystemEvictionRankingMetrics []SystemEvictionRankingMetric `json:"systemEvictionRankingMetrics,omitempty"`

	// EnableRSSOveruseEviction is whether to enable pod-level rss overuse eviction
	// +optional
	EnableRSSOveruseEviction *bool `json:"enableRSSOveruseEviction,omitempty"`

	// RSSOveruseRateThreshold is the threshold for the rate of rss
	// +kubectl:validation:Minimum=0
	// +optional
	RSSOveruseRateThreshold *float64 `json:"rssOveruseRateThreshold,omitempty"`

	// GracePeriod is the grace period of memory pressure eviction
	// +kubectl:validation:Minimum=0
	// +optional
	GracePeriod *int64 `json:"gracePeriod,omitempty"`
}

func (*MemoryPressureEvictionConfig) DeepCopy added in v0.1.6

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryPressureEvictionConfig.

func (*MemoryPressureEvictionConfig) DeepCopyInto added in v0.1.6

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NumaEvictionRankingMetric added in v0.1.6

type NumaEvictionRankingMetric string

NumaEvictionRankingMetric is the metrics used to rank pods for eviction at the NUMA level +kubebuilder:validation:Enum=qos.pod;priority.pod;mem.total.numa.container

type ReclaimedResourceConfig added in v0.0.4

type ReclaimedResourceConfig struct {
	// EnableReclaim is a flag to enable reclaim resource, if true, reclaim resource will be enabled,
	// which means reclaim resource will be reported to custom node resource and support colocation between
	// reclaimed_cores pod and other pods, otherwise, reclaim resource will be disabled.
	// +optional
	EnableReclaim *bool `json:"enableReclaim,omitempty"`

	// ReservedResourceForReport is a reserved resource for report to custom node resource, which is used to
	// prevent reclaim resource from being requested by reclaimed_cores pods.
	// +optional
	ReservedResourceForReport *v1.ResourceList `json:"reservedResourceForReport,omitempty"`

	// MinReclaimedResourceForReport is a minimum reclaimed resource for report to custom node resource, which means
	// if reclaimed resource is less than MinReclaimedResourceForReport, then reclaimed resource will be reported as
	// MinReclaimedResourceForReport.
	// +optional
	MinReclaimedResourceForReport *v1.ResourceList `json:"minReclaimedResourceForReport,omitempty"`

	// ReservedResourceForAllocate is a resource reserved for non-reclaimed_cores pods that are not allocated to
	// reclaimed_cores pods. It is used to set aside some buffer resources to avoid sudden increase in resource
	// requirements.
	// +optional
	ReservedResourceForAllocate *v1.ResourceList `json:"reservedResourceForAllocate,omitempty"`

	// MinReclaimedResourceForAllocate is a resource reserved for reclaimed_cores pods,these resources will not be used
	// by shared_cores pods.
	// +optional
	MinReclaimedResourceForAllocate *v1.ResourceList `json:"minReclaimedResourceForAllocate,omitempty"`

	// CPUHeadroomConfig is a configuration for cpu headroom
	// +optional
	CPUHeadroomConfig *CPUHeadroomConfig `json:"cpuHeadroomConfig,omitempty"`

	// MemoryHeadroomConfig is a configuration for memory headroom
	// +optional
	MemoryHeadroomConfig *MemoryHeadroomConfig `json:"memoryHeadroomConfig,omitempty"`
}

func (*ReclaimedResourceConfig) DeepCopy added in v0.0.4

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReclaimedResourceConfig.

func (*ReclaimedResourceConfig) DeepCopyInto added in v0.0.4

func (in *ReclaimedResourceConfig) DeepCopyInto(out *ReclaimedResourceConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReclaimedResourcesEvictionConfig added in v0.1.6

type ReclaimedResourcesEvictionConfig struct {
	// EvictionThreshold eviction threshold rate for reclaimed resources
	// +optional
	EvictionThreshold map[v1.ResourceName]float64 `json:"evictionThreshold"`

	// GracePeriod is the grace period of reclaimed resources' eviction
	// +kubectl:validation:Minimum=0
	// +optional
	GracePeriod *int64 `json:"gracePeriod,omitempty"`
}

func (*ReclaimedResourcesEvictionConfig) DeepCopy added in v0.1.6

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReclaimedResourcesEvictionConfig.

func (*ReclaimedResourcesEvictionConfig) DeepCopyInto added in v0.1.6

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SystemEvictionRankingMetric added in v0.1.6

type SystemEvictionRankingMetric string

SystemEvictionRankingMetric is the metrics used to rank pods for eviction at the system level +kubebuilder:validation:Enum=qos.pod;priority.pod;mem.usage.container

type TargetConfig

type TargetConfig struct {
	// ConfigType gvr of target config
	ConfigType metav1.GroupVersionResource `json:"configType"`
	// ConfigName name of target config
	ConfigName string `json:"configName"`
	// ConfigNamespace namespace of target config
	ConfigNamespace string `json:"configNamespace"`
	// Hash is current hash value of target config.
	// The agent will first check whether the local config hash and
	// the target config hash are equal, only if not, it will try to
	// update the local config from the remote.
	Hash string `json:"hash"`
}

TargetConfig current hash for specific gvk config object

func (*TargetConfig) DeepCopy

func (in *TargetConfig) DeepCopy() *TargetConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetConfig.

func (*TargetConfig) DeepCopyInto

func (in *TargetConfig) DeepCopyInto(out *TargetConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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