v1alpha1

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2024 License: Apache-2.0 Imports: 7 Imported by: 14

Documentation

Overview

Package v1alpha1 provides alpha API for Katalyst config API objects.

Index

Constants

View Source
const (
	ResourceNameKatalystCustomConfigs  = "katalystcustomconfigs"
	ResourceNameCustomNodeConfigs      = "customnodeconfigs"
	ResourceNameAdminQoSConfigurations = "adminqosconfigurations"
	ResourceNameAuthConfigurations     = "authconfigurations"
	ResourceNameTMOConfigurations      = "transparentmemoryoffloadingconfigurations"
)

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 AccessControlConfig added in v0.3.3

type AccessControlConfig struct {
	// +optional
	AccessControlPolicies []AccessControlPolicy `json:"accessControlPolicies,omitempty"`
}

func (*AccessControlConfig) DeepCopy added in v0.3.3

func (in *AccessControlConfig) DeepCopy() *AccessControlConfig

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

func (*AccessControlConfig) DeepCopyInto added in v0.3.3

func (in *AccessControlConfig) DeepCopyInto(out *AccessControlConfig)

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

type AccessControlPolicy added in v0.3.3

type AccessControlPolicy struct {
	// +optional
	Username string `json:"username,omitempty"`
	// +optional
	PolicyRule PolicyRule `json:"policyRule,omitempty"`
}

func (*AccessControlPolicy) DeepCopy added in v0.3.3

func (in *AccessControlPolicy) DeepCopy() *AccessControlPolicy

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

func (*AccessControlPolicy) DeepCopyInto added in v0.3.3

func (in *AccessControlPolicy) DeepCopyInto(out *AccessControlPolicy)

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

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"`

	// +optional
	AdvisorConfig *AdvisorConfig `json:"advisorConfig,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 AdvisorConfig added in v0.5.0

type AdvisorConfig struct {
	// +optional
	MemoryAdvisorConfig *MemoryAdvisorConfig `json:"memoryAdvisorConfig,omitempty"`
}

func (*AdvisorConfig) DeepCopy added in v0.5.0

func (in *AdvisorConfig) DeepCopy() *AdvisorConfig

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

func (*AdvisorConfig) DeepCopyInto added in v0.5.0

func (in *AdvisorConfig) DeepCopyInto(out *AdvisorConfig)

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

type AuthConfig added in v0.3.3

type AuthConfig struct {
	// BasicAuthConfig is configuration related to basic access authentication
	// +optional
	BasicAuthConfig *BasicAuthConfig `json:"basicAuthConfig,omitempty"`

	// BasicAuthConfig is configuration about access control
	// +optional
	AccessControlConfig *AccessControlConfig `json:"accessControlConfig,omitempty"`
}

func (*AuthConfig) DeepCopy added in v0.3.3

func (in *AuthConfig) DeepCopy() *AuthConfig

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

func (*AuthConfig) DeepCopyInto added in v0.3.3

func (in *AuthConfig) DeepCopyInto(out *AuthConfig)

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

type AuthConfiguration added in v0.3.3

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

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

AuthConfiguration is the Schema for the configuration API used by authentication and authorization

func (*AuthConfiguration) DeepCopy added in v0.3.3

func (in *AuthConfiguration) DeepCopy() *AuthConfiguration

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

func (*AuthConfiguration) DeepCopyInto added in v0.3.3

func (in *AuthConfiguration) DeepCopyInto(out *AuthConfiguration)

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

func (*AuthConfiguration) DeepCopyObject added in v0.3.3

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

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

type AuthConfigurationList added in v0.3.3

type AuthConfigurationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []AuthConfiguration `json:"items"`
}

AuthConfigurationList contains a list of AuthConfiguration

func (*AuthConfigurationList) DeepCopy added in v0.3.3

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

func (*AuthConfigurationList) DeepCopyInto added in v0.3.3

func (in *AuthConfigurationList) DeepCopyInto(out *AuthConfigurationList)

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

func (*AuthConfigurationList) DeepCopyObject added in v0.3.3

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

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

type AuthConfigurationSpec added in v0.3.3

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

	Config AuthConfig `json:"config,omitempty"`
}

AuthConfigurationSpec defines the desired state of AuthConfiguration

func (*AuthConfigurationSpec) DeepCopy added in v0.3.3

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

func (*AuthConfigurationSpec) DeepCopyInto added in v0.3.3

func (in *AuthConfigurationSpec) DeepCopyInto(out *AuthConfigurationSpec)

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

type BasicAuthConfig added in v0.3.3

type BasicAuthConfig struct {
	// UserPasswordPairs is the list of valid username and corresponding password
	// +optional
	UserPasswordPairs []UserPasswordPair `json:"userPasswordPairs,omitempty"`
}

func (*BasicAuthConfig) DeepCopy added in v0.3.3

func (in *BasicAuthConfig) DeepCopy() *BasicAuthConfig

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

func (*BasicAuthConfig) DeepCopyInto added in v0.3.3

func (in *BasicAuthConfig) DeepCopyInto(out *BasicAuthConfig)

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
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder: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
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder: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
	// +kubebuilder: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
	// +kubebuilder: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
	// +kubebuilder: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
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder: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
	// +kubebuilder: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
	// +kubebuilder: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 CgroupConfig added in v0.5.0

type CgroupConfig struct {
	// CgroupPath is an cgroupV2 absolute path, e.g. /sys/fs/cgroup/hdfs
	CgroupPath string `json:"cgroupPath"`

	// ConfigDetail is configuration details of TMO
	ConfigDetail TMOConfigDetail `json:"configDetail"`
}

func (*CgroupConfig) DeepCopy added in v0.5.0

func (in *CgroupConfig) DeepCopy() *CgroupConfig

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

func (*CgroupConfig) DeepCopyInto added in v0.5.0

func (in *CgroupConfig) DeepCopyInto(out *CgroupConfig)

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"`

	// SystemLoadPressureEvictionConfig is the config for system load eviction
	// +optional
	SystemLoadPressureEvictionConfig *SystemLoadPressureEvictionConfig `json:"systemLoadPressureEvictionConfig,omitempty"`

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

	// RootfsPressureEvictionConfig is the config for rootfs pressure eviction
	// +optional
	RootfsPressureEvictionConfig *RootfsPressureEvictionConfig `json:"rootfsPressureEvictionConfig,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,
	// the priority and node label selector must be matched according
	// to KatalystCustomConfig.spec.nodeLabelSelectorAllowedKeyList,
	// otherwise it will not be synced.
	// +optional
	NodeLabelSelector string `json:"nodeLabelSelector,omitempty"`

	// Priority is used by one node matched by NodeLabelSelector of more
	// than one configuration, and the higher priority will be considered.
	// The priority only be supported when NodeLabelSelector set
	// +optional
	Priority int32 `json:"priority,omitempty"`

	// EphemeralSelector is a selector for temporary use only
	// +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"`
	// the keys list allowed in node selector to select which nodes will be effected by the KatalystCustomConfig resource,
	// and the priority will be used when one node match two KatalystCustomConfig resource at the same time, the higher
	// priority one will be considered. If not set, node label selector is not allowed to use.
	// +patchMergeKey=priority
	// +patchStrategy=merge
	// +optional
	NodeLabelSelectorAllowedKeyList []PriorityNodeLabelSelectorAllowedKeyList `json:"nodeLabelSelectorAllowedKeyList,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 MemoryAdvisorConfig added in v0.5.0

type MemoryAdvisorConfig struct {
	// MemoryGuardConfig is a config for memory guard plugin, which is used to avoid high priority workload from being
	// affected by memory bursting caused by low priority workload.
	// +optional
	MemoryGuardConfig *MemoryGuardConfig `json:"memoryGuardConfig,omitempty"`
}

func (*MemoryAdvisorConfig) DeepCopy added in v0.5.0

func (in *MemoryAdvisorConfig) DeepCopy() *MemoryAdvisorConfig

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

func (*MemoryAdvisorConfig) DeepCopyInto added in v0.5.0

func (in *MemoryAdvisorConfig) DeepCopyInto(out *MemoryAdvisorConfig)

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

type MemoryGuardConfig added in v0.5.0

type MemoryGuardConfig struct {
	// Enable is a flag to enable memory guard plugin
	// +optional
	Enable *bool `json:"enable,omitempty"`
}

func (*MemoryGuardConfig) DeepCopy added in v0.5.0

func (in *MemoryGuardConfig) DeepCopy() *MemoryGuardConfig

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

func (*MemoryGuardConfig) DeepCopyInto added in v0.5.0

func (in *MemoryGuardConfig) DeepCopyInto(out *MemoryGuardConfig)

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.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=1
	// +optional
	FreeBasedRatio *float64 `json:"freeBasedRatio,omitempty"`

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

	// CacheBasedRatio is the rate of cache oversold, 0 means disable cache oversold
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder: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"`

	// NumaVictimMinimumUtilizationThreshold is the victim's minimum memory usage on a NUMA node, if a pod
	// uses less memory on a NUMA node than this threshold,it won't be evicted by this NUMA's memory pressure.
	// +optional
	NumaVictimMinimumUtilizationThreshold *float64 `json:"numaVictimMinimumUtilizationThreshold,omitempty"`

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

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

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

	// SystemFreeMemoryThresholdMinimum is the system free memory threshold minimum.
	// +optional
	SystemFreeMemoryThresholdMinimum *resource.Quantity `json:"systemFreeMemoryThresholdMinimum,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
	// +kubebuilder:validation:Minimum=0
	// +optional
	RSSOveruseRateThreshold *float64 `json:"rssOveruseRateThreshold,omitempty"`

	// GracePeriod is the grace period of memory pressure eviction
	// +kubebuilder: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 PSIPolicyConf added in v0.5.0

type PSIPolicyConf struct {
	// MaxProbe limits the memory offloading size in one cycle, it's a ratio of memory usage.
	MaxProbe *float64 `json:"maxProbe,omitempty"`

	// PSIAvg60Threshold indicates the threshold of memory pressure. If observed pressure exceeds
	// this threshold, memory offloading will be paused.
	PSIAvg60Threshold *float64 `json:"psiAvg60Threshold,omitempty"`
}

func (*PSIPolicyConf) DeepCopy added in v0.5.0

func (in *PSIPolicyConf) DeepCopy() *PSIPolicyConf

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

func (*PSIPolicyConf) DeepCopyInto added in v0.5.0

func (in *PSIPolicyConf) DeepCopyInto(out *PSIPolicyConf)

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

type PolicyRule added in v0.3.3

type PolicyRule struct {
	// +optional
	Resources []string `json:"resources,omitempty"`
}

func (*PolicyRule) DeepCopy added in v0.3.3

func (in *PolicyRule) DeepCopy() *PolicyRule

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

func (*PolicyRule) DeepCopyInto added in v0.3.3

func (in *PolicyRule) DeepCopyInto(out *PolicyRule)

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

type PriorityNodeLabelSelectorAllowedKeyList added in v0.1.15

type PriorityNodeLabelSelectorAllowedKeyList struct {
	// Priority is the priority of configurations
	Priority int32 `json:"priority"`
	// KeyList is allowed to use in node selector in the Priority
	KeyList []string `json:"keyList"`
}

PriorityNodeLabelSelectorAllowedKeyList defines the priority and its allowed key list

func (*PriorityNodeLabelSelectorAllowedKeyList) DeepCopy added in v0.1.15

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

func (*PriorityNodeLabelSelectorAllowedKeyList) DeepCopyInto added in v0.1.15

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

type QoSLevelConfig added in v0.5.0

type QoSLevelConfig struct {
	// QoSLevel is either of reclaimed_cores, shared_cores, dedicated_cores, system_cores
	QoSLevel consts.QoSLevel `json:"qosLevel"`

	// ConfigDetail is configuration details of TMO
	ConfigDetail TMOConfigDetail `json:"configDetail"`
}

func (*QoSLevelConfig) DeepCopy added in v0.5.0

func (in *QoSLevelConfig) DeepCopy() *QoSLevelConfig

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

func (*QoSLevelConfig) DeepCopyInto added in v0.5.0

func (in *QoSLevelConfig) DeepCopyInto(out *QoSLevelConfig)

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

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
	// +kubebuilder:validation:Minimum=0
	// +optional
	GracePeriod *int64 `json:"gracePeriod,omitempty"`

	// ThresholdMetToleranceDuration is the tolerance duration before eviction.
	// +kubebuilder:validation:Minimum=0
	// +optional
	ThresholdMetToleranceDuration *int64 `json:"thresholdMetToleranceDuration,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 RefaultPolicyConf added in v0.5.0

type RefaultPolicyConf struct {
	// MaxProbe limits the memory offloading size in one cycle, it's a ratio of memory usage.
	MaxProbe *float64 `json:"maxProbe,omitempty"`
	// ReclaimAccuracyTarget indicates the desired level of precision or accuracy in offloaded pages.
	ReclaimAccuracyTarget *float64 `json:"reclaimAccuracyTarget,omitempty"`
	// ReclaimScanEfficiencyTarget indicates the desired level of efficiency in scanning and
	// identifying memory pages that can be offloaded.
	ReclaimScanEfficiencyTarget *float64 `json:"reclaimScanEfficiencyTarget,omitempty"`
}

func (*RefaultPolicyConf) DeepCopy added in v0.5.0

func (in *RefaultPolicyConf) DeepCopy() *RefaultPolicyConf

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

func (*RefaultPolicyConf) DeepCopyInto added in v0.5.0

func (in *RefaultPolicyConf) DeepCopyInto(out *RefaultPolicyConf)

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

type RootfsPressureEvictionConfig added in v0.4.0

type RootfsPressureEvictionConfig struct {
	// EnableRootfsPressureEviction is whether to enable rootfs pressure eviction.
	// +optional
	EnableRootfsPressureEviction *bool `json:"enableRootfsPressureEviction,omitempty"`

	// MinimumImageFsFreeThreshold is a threshold for a node.
	// Once the image rootfs free space of current node is lower than this threshold, the eviction manager will try to evict some pods.
	// For example: "200Gi", "10%".
	// +optional
	// +kubebuilder:validation:Pattern=`^(0|[1-9][0-9]*)(\.[0-9]+)?%?$|^(0|[1-9][0-9]*)([kKmMGTPeE]i?)$`
	MinimumImageFsFreeThreshold *string `json:"minimumImageFsFreeThreshold,omitempty"`

	// MinimumImageFsInodesFreeThreshold is a threshold for a node.
	// Once the image rootfs free inodes of current node is lower than this threshold, the eviction manager will try to evict some pods.
	// For example: "100000", "10%".
	// +optional
	// +kubebuilder:validation:Pattern=`^(0|[1-9]\d*)(\.\d+)?%?$|^\d+$`
	MinimumImageFsInodesFreeThreshold *string `json:"minimumImageFsInodesFreeThreshold,omitempty"`

	// PodMinimumUsedThreshold is a threshold for all pods.
	// The eviction manager will ignore this pod if its rootfs used in bytes is lower than this threshold.
	// For example: "200Gi", "1%".
	// +optional
	// +kubebuilder:validation:Pattern=`^(0|[1-9][0-9]*)(\.[0-9]+)?%?$|^(0|[1-9][0-9]*)([kKmMGTPeE]i?)$`
	PodMinimumUsedThreshold *string `json:"podMinimumUsedThreshold,omitempty"`

	// PodMinimumInodesUsedThreshold is a threshold for all pods.
	// The eviction manager will ignore this pod if its rootfs inodes used is lower than this threshold.
	// For example: "1000", "1%".
	// +optional
	// +kubebuilder:validation:Pattern=`^(0|[1-9]\d*)(\.\d+)?%?$|^\d+$`
	PodMinimumInodesUsedThreshold *string `json:"podMinimumInodesUsedThreshold,omitempty"`

	// ReclaimedQoSPodUsedPriorityThreshold is a threshold for all offline pods.
	// The eviction manager will prioritize the eviction of offline pods that reach this threshold.
	// For example: "100Gi", "1%".
	// +optional
	// +kubebuilder:validation:Pattern=`^(0|[1-9][0-9]*)(\.[0-9]+)?%?$|^(0|[1-9][0-9]*)([kKmMGTPeE]i?)$`
	ReclaimedQoSPodUsedPriorityThreshold *string `json:"reclaimedQoSPodUsedPriorityThreshold,omitempty"`

	// ReclaimedQoSPodInodesUsedPriorityThreshold is a threshold for all offline pods.
	// The eviction manager will prioritize the eviction of reclaimed pods that reach this threshold.
	// For example: "500", "1%".
	// +optional
	// +kubebuilder:validation:Pattern=`^(0|[1-9]\d*)(\.\d+)?%?$|^\d+$`
	ReclaimedQoSPodInodesUsedPriorityThreshold *string `json:"reclaimedQoSPodInodesUsedPriorityThreshold,omitempty"`

	// MinimumImageFsDiskCapacityThreshold is a threshold for all nodes.
	// The eviction manager will ignore those nodes whose image fs disk capacity is less than this threshold.
	// Fox example: "100Gi".
	MinimumImageFsDiskCapacityThreshold *resource.Quantity `json:"minimumImageFsDiskCapacityThreshold,omitempty"`

	// GracePeriod is the grace period of pod deletion
	// +optional
	GracePeriod *int64 `json:"gracePeriod,omitempty"`
}

func (*RootfsPressureEvictionConfig) DeepCopy added in v0.4.0

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

func (*RootfsPressureEvictionConfig) DeepCopyInto added in v0.4.0

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 SystemLoadPressureEvictionConfig added in v0.1.16

type SystemLoadPressureEvictionConfig struct {
	// SoftThreshold is the soft threshold of system load pressure, it should be an integral multiple of 100, which means
	// the real threshold is (SoftThreshold / 100) * CoreNumber
	// +optional
	SoftThreshold *int64 `json:"softThreshold,omitempty"`

	// HardThreshold is the hard threshold of system load pressure, it should be an integral multiple of 100, which means
	// the real threshold is (SoftThreshold / 100) * CoreNumber
	// +optional
	HardThreshold *int64 `json:"hardThreshold,omitempty"`

	// HistorySize is the size of the load metric ring, which is used to calculate the system load
	// +kubebuilder:validation:Minimum=1
	// +optional
	HistorySize *int64 `json:"historySize,omitempty"`

	// SyncPeriod is the interval in seconds of the plugin fetch the load information
	// +kubebuilder:validation:Minimum=1
	// +optional
	SyncPeriod *int64 `json:"syncPeriod,omitempty"`

	// CoolDownTime is the cool-down time of the plugin evict pods
	// +kubebuilder:validation:Minimum=1
	// +optional
	CoolDownTime *int64 `json:"coolDownTime,omitempty"`

	// GracePeriod is the grace period of pod deletion
	// +optional
	GracePeriod *int64 `json:"gracePeriod,omitempty"`

	// the plugin considers the node is facing load pressure only when the ratio of load history which is greater than
	// threshold is greater than this percentage
	// +optional
	ThresholdMetPercentage *float64 `json:"thresholdMetPercentage,omitempty"`
}

func (*SystemLoadPressureEvictionConfig) DeepCopy added in v0.1.16

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

func (*SystemLoadPressureEvictionConfig) DeepCopyInto added in v0.1.16

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

type TMOConfigDetail added in v0.5.0

type TMOConfigDetail struct {
	// EnableTMO is whether to enable TMO on target objective
	// +optional
	EnableTMO *bool `json:"enableTMO,omitempty"`

	// EnableSwap is whether to enable swap to offloading anon pages
	// +optional
	EnableSwap *bool `json:"enableSwap,omitempty"`

	// Interval is the minimum duration the objectives got memory reclaimed by TMO
	// +optional
	Interval *metav1.Duration `json:"interval,omitempty"`

	// PolicyName is used to specify the policy for calculating memory offloading size
	// +optional
	PolicyName *TMOPolicyName `json:"policyName,omitempty"`

	// PSIPolicyConf is configurations of a TMO policy which reclaim memory by PSI
	// +optional
	PSIPolicyConf *PSIPolicyConf `json:"psiPolicy,omitempty"`

	// RefaultPolicy is configurations of a TMO policy which reclaim memory by refault
	// +optional
	RefaultPolicConf *RefaultPolicyConf `json:"refaultPolicy,omitempty"`
}

func (*TMOConfigDetail) DeepCopy added in v0.5.0

func (in *TMOConfigDetail) DeepCopy() *TMOConfigDetail

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

func (*TMOConfigDetail) DeepCopyInto added in v0.5.0

func (in *TMOConfigDetail) DeepCopyInto(out *TMOConfigDetail)

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

type TMOPolicyName added in v0.5.0

type TMOPolicyName string
const (
	TMOPolicyNamePSI     TMOPolicyName = "PSI"
	TMOPolicyNameRefault TMOPolicyName = "Refault"
)

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.

type TransparentMemoryOffloadingConfig added in v0.5.0

type TransparentMemoryOffloadingConfig struct {
	// QoSLevelConfig is a configuration for manipulating TMO on Different QoS Level
	// +optional
	// +listMapKey=qosLevel
	// +listType=map
	QoSLevelConfig []QoSLevelConfig `json:"qosLevelConfig,omitempty"`

	// CgroupConfig is a configuration for manipulating TMO on specified cgroups
	// +optional
	// +listMapKey=cgroupPath
	// +listType=map
	CgroupConfig []CgroupConfig `json:"CgroupConfig,omitempty"`
}

func (*TransparentMemoryOffloadingConfig) DeepCopy added in v0.5.0

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

func (*TransparentMemoryOffloadingConfig) DeepCopyInto added in v0.5.0

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

type TransparentMemoryOffloadingConfiguration added in v0.5.0

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

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

TransparentMemoryOffloadingConfiguration is the Schema for the configuration API used by Transparent Memory Offloading

func (*TransparentMemoryOffloadingConfiguration) DeepCopy added in v0.5.0

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

func (*TransparentMemoryOffloadingConfiguration) DeepCopyInto added in v0.5.0

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

func (*TransparentMemoryOffloadingConfiguration) DeepCopyObject added in v0.5.0

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

type TransparentMemoryOffloadingConfigurationList added in v0.5.0

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

TransparentMemoryOffloadingConfigurationList contains a list of TransparentMemoryOffloadingConfiguration

func (*TransparentMemoryOffloadingConfigurationList) DeepCopy added in v0.5.0

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

func (*TransparentMemoryOffloadingConfigurationList) DeepCopyInto added in v0.5.0

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

func (*TransparentMemoryOffloadingConfigurationList) DeepCopyObject added in v0.5.0

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

type TransparentMemoryOffloadingConfigurationSpec added in v0.5.0

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

	// Config is custom field for TMO configuration
	Config TransparentMemoryOffloadingConfig `json:"config"`
}

TransparentMemoryOffloadingConfigurationSpec defines the desired state of TransparentMemoryOffloadingConfiguration

func (*TransparentMemoryOffloadingConfigurationSpec) DeepCopy added in v0.5.0

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

func (*TransparentMemoryOffloadingConfigurationSpec) DeepCopyInto added in v0.5.0

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

type TransparentMemoryOffloadingIndicators added in v0.5.0

type TransparentMemoryOffloadingIndicators struct {
	metav1.TypeMeta `json:",inline"`

	// ConfigDetail is configuration details of TMO
	ConfigDetail *TMOConfigDetail `json:"configDetail,omitempty"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object TransparentMemoryOffloadingIndicators is indicator for transparent memory offloading

func (*TransparentMemoryOffloadingIndicators) DeepCopy added in v0.5.0

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

func (*TransparentMemoryOffloadingIndicators) DeepCopyInto added in v0.5.0

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

func (*TransparentMemoryOffloadingIndicators) DeepCopyObject added in v0.5.0

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

type UserPasswordPair added in v0.3.3

type UserPasswordPair struct {
	// +optional
	Username string `json:"username,omitempty"`
	// base64 encoded password
	// +optional
	Password string `json:"password,omitempty"`
}

func (*UserPasswordPair) DeepCopy added in v0.3.3

func (in *UserPasswordPair) DeepCopy() *UserPasswordPair

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

func (*UserPasswordPair) DeepCopyInto added in v0.3.3

func (in *UserPasswordPair) DeepCopyInto(out *UserPasswordPair)

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