Documentation
¶
Overview ¶
Package v1alpha1 provides alpha API for Katalyst config API objects.
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AccessControlConfig
- type AccessControlPolicy
- type AdminQoSConfig
- type AdminQoSConfiguration
- type AdminQoSConfigurationList
- type AdminQoSConfigurationSpec
- type AdvisorConfig
- type Aggregator
- type AlgorithmConfig
- type AuthConfig
- type AuthConfiguration
- type AuthConfigurationList
- type AuthConfigurationSpec
- type BasicAuthConfig
- type BlockConfig
- type CPUAdvisorConfig
- type CPUHeadroomConfig
- type CPUHeadroomUtilBasedConfig
- type CPUPressureEvictionConfig
- type CPUProvisionConfig
- type CPUSystemPressureEvictionConfig
- type CgroupConfig
- type ConfigConditionType
- type ConfigUpdateStrategy
- type ConfigUpdateStrategyType
- type ControlKnobConstraints
- type ControlKnobName
- type CustomNodeConfig
- type CustomNodeConfigList
- type CustomNodeConfigSpec
- type CustomNodeConfigStatus
- type EphemeralSelector
- type EvictionConfig
- type GenericConfigCondition
- type GenericConfigSpec
- type GenericConfigStatus
- type GlobalResourcePortraitConfiguration
- type IndicatorTargetConfiguration
- type KatalystCustomConfig
- type KatalystCustomConfigCondition
- type KatalystCustomConfigConditionType
- type KatalystCustomConfigList
- type KatalystCustomConfigSpec
- type KatalystCustomConfigStatus
- type MemoryAdvisorConfig
- type MemoryGuardConfig
- type MemoryHeadroomConfig
- type MemoryHeadroomUtilBasedConfig
- type MemoryPressureEvictionConfig
- type NumaEvictionRankingMetric
- type PSIPolicyConf
- type PolicyRule
- type PriorityNodeLabelSelectorAllowedKeyList
- type QoSLevelConfig
- type QoSRegionType
- type ReclaimedResourceConfig
- type ReclaimedResourcesEvictionConfig
- type RefaultPolicyConf
- type RegionIndicators
- type ResourcePortraitConfig
- type ResourcePortraitConfiguration
- type ResourcePortraitFilter
- type ResourcePortraitIndicators
- type RestrictConstraints
- type RollingUpdateConfig
- type RootfsPressureEvictionConfig
- type SystemEvictionRankingMetric
- type SystemLoadPressureEvictionConfig
- type TMOConfigDetail
- type TMOPolicyName
- type TargetConfig
- type TimeWindow
- type TransparentMemoryOffloadingConfig
- type TransparentMemoryOffloadingConfiguration
- func (in *TransparentMemoryOffloadingConfiguration) DeepCopy() *TransparentMemoryOffloadingConfiguration
- func (in *TransparentMemoryOffloadingConfiguration) DeepCopyInto(out *TransparentMemoryOffloadingConfiguration)
- func (in *TransparentMemoryOffloadingConfiguration) DeepCopyObject() runtime.Object
- type TransparentMemoryOffloadingConfigurationList
- func (in *TransparentMemoryOffloadingConfigurationList) DeepCopy() *TransparentMemoryOffloadingConfigurationList
- func (in *TransparentMemoryOffloadingConfigurationList) DeepCopyInto(out *TransparentMemoryOffloadingConfigurationList)
- func (in *TransparentMemoryOffloadingConfigurationList) DeepCopyObject() runtime.Object
- type TransparentMemoryOffloadingConfigurationSpec
- type TransparentMemoryOffloadingIndicators
- type UserPasswordPair
Constants ¶
const ( ResourceNameKatalystCustomConfigs = "katalystcustomconfigs" ResourceNameCustomNodeConfigs = "customnodeconfigs" ResourceNameAdminQoSConfigurations = "adminqosconfigurations" ResourceNameAuthConfigurations = "authconfigurations" ResourceNameTMOConfigurations = "transparentmemoryoffloadingconfigurations" )
ResourceName const is used to construct standard gvr
const ( // GroupName is the group name used in this package GroupName string = "config.katalyst.kubewharf.io" )
Variables ¶
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 )
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
func (in *AdminQoSConfiguration) DeepCopy() *AdminQoSConfiguration
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
func (in *AdminQoSConfigurationList) DeepCopy() *AdminQoSConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminQoSConfigurationList.
func (*AdminQoSConfigurationList) DeepCopyInto ¶ added in v0.0.4
func (in *AdminQoSConfigurationList) DeepCopyInto(out *AdminQoSConfigurationList)
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
func (in *AdminQoSConfigurationSpec) DeepCopy() *AdminQoSConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminQoSConfigurationSpec.
func (*AdminQoSConfigurationSpec) DeepCopyInto ¶ added in v0.0.4
func (in *AdminQoSConfigurationSpec) DeepCopyInto(out *AdminQoSConfigurationSpec)
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
CPUAdvisorConfig *CPUAdvisorConfig `json:"cpuAdvisorConfig,omitempty"`
// +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 Aggregator ¶ added in v0.5.1
type Aggregator string
Aggregator is used in conjunction with TimeWindow to represent the conversion of time series data from input to output, which is the processing logic inside the resource portrait.
const ( Avg Aggregator = "avg" Max Aggregator = "max" )
type AlgorithmConfig ¶ added in v0.5.1
type AlgorithmConfig struct {
// Method is the method used to calculate the resource portrait.
Method string `json:"method"`
// Params contains a list of parameters used by the algorithm.
// +optional
Params map[string]string `json:"params,omitempty"`
// TimeWindow contains the time window used by the algorithm.
TimeWindow TimeWindow `json:"timeWindow"`
// ResyncPeriod contains the resync period used by the algorithm.
ResyncPeriod time.Duration `json:"resyncPeriod"`
}
func (*AlgorithmConfig) DeepCopy ¶ added in v0.5.1
func (in *AlgorithmConfig) DeepCopy() *AlgorithmConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlgorithmConfig.
func (*AlgorithmConfig) DeepCopyInto ¶ added in v0.5.1
func (in *AlgorithmConfig) DeepCopyInto(out *AlgorithmConfig)
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
func (in *AuthConfigurationList) DeepCopy() *AuthConfigurationList
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
func (in *AuthConfigurationSpec) DeepCopy() *AuthConfigurationSpec
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 BlockConfig ¶ added in v0.5.1
type BlockConfig struct {
// Labels indicates disable tmo if pods with these labels. The requirements are ORed.
// +optional
Labels []metav1.LabelSelectorRequirement `json:"labels,omitempty"`
// Annotations indicates disable tmo if pods with these annotations. The requirements are ORed.
// +optional
Annotations []metav1.LabelSelectorRequirement `json:"annotations,omitempty"`
}
func (*BlockConfig) DeepCopy ¶ added in v0.5.1
func (in *BlockConfig) DeepCopy() *BlockConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockConfig.
func (*BlockConfig) DeepCopyInto ¶ added in v0.5.1
func (in *BlockConfig) DeepCopyInto(out *BlockConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CPUAdvisorConfig ¶ added in v0.5.1
type CPUAdvisorConfig struct {
// we will rely on kernel features to ensure that shared_cores pods can suppress and preempt reclaimed_cores pods.
// +optional
AllowSharedCoresOverlapReclaimedCores *bool `json:"allowSharedCoresOverlapReclaimedCores,omitempty"`
// optional
CPUProvisionConfig *CPUProvisionConfig `json:"cpuProvisionConfig"`
}
func (*CPUAdvisorConfig) DeepCopy ¶ added in v0.5.1
func (in *CPUAdvisorConfig) DeepCopy() *CPUAdvisorConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUAdvisorConfig.
func (*CPUAdvisorConfig) DeepCopyInto ¶ added in v0.5.1
func (in *CPUAdvisorConfig) DeepCopyInto(out *CPUAdvisorConfig)
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
func (in *CPUHeadroomUtilBasedConfig) DeepCopy() *CPUHeadroomUtilBasedConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUHeadroomUtilBasedConfig.
func (*CPUHeadroomUtilBasedConfig) DeepCopyInto ¶ added in v0.1.6
func (in *CPUHeadroomUtilBasedConfig) DeepCopyInto(out *CPUHeadroomUtilBasedConfig)
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"`
// LoadLowerBoundRatio is the lower bound ratio of cpuset pool load, if the load
// of the target cpuset pool is greater than the load lower bound repeatedly, the
// node taint will be triggered
// +kubebuilder:validation:Minimum=0
// +optional
LoadLowerBoundRatio *float64 `json:"loadLowerBoundRatio,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
func (in *CPUPressureEvictionConfig) DeepCopy() *CPUPressureEvictionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUPressureEvictionConfig.
func (*CPUPressureEvictionConfig) DeepCopyInto ¶ added in v0.1.6
func (in *CPUPressureEvictionConfig) DeepCopyInto(out *CPUPressureEvictionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CPUProvisionConfig ¶ added in v0.5.1
type CPUProvisionConfig struct {
RegionIndicators []RegionIndicators `json:"regionIndicators,omitempty"`
Constraints []ControlKnobConstraints `json:"constraints,omitempty"`
}
func (*CPUProvisionConfig) DeepCopy ¶ added in v0.5.1
func (in *CPUProvisionConfig) DeepCopy() *CPUProvisionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUProvisionConfig.
func (*CPUProvisionConfig) DeepCopyInto ¶ added in v0.5.1
func (in *CPUProvisionConfig) DeepCopyInto(out *CPUProvisionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CPUSystemPressureEvictionConfig ¶ added in v0.5.1
type CPUSystemPressureEvictionConfig struct {
// +optional
EnableCPUSystemPressureEviction *bool `json:"enableCPUSystemPressureEviction,omitempty"`
// LoadUpperBoundRatio is the upper bound ratio of node, if the load
// of the node is greater than the load upper bound repeatedly, the
// eviction will be triggered
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=1
// +optional
LoadUpperBoundRatio *float64 `json:"loadUpperBoundRatio,omitempty"`
// LoadLowerBoundRatio is the lower bound ratio of node, if the load
// of the node is greater than the load lower bound repeatedly, the
// cordon will be triggered
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=1
// +optional
LoadLowerBoundRatio *float64 `json:"loadLowerBoundRatio,omitempty"`
// UsageUpperBoundRatio is the upper bound ratio of node, if the cpu usage
// of the node is greater than the usage upper bound repeatedly, the
// eviction will be triggered
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=1
// +optional
UsageUpperBoundRatio *float64 `json:"usageUpperBoundRatio,omitempty"`
// UsageLowerBoundRatio is the lower bound ratio of node, if the cpu usage
// of the node is greater than the usage lower bound repeatedly, the
// cordon will be triggered
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=1
// +optional
UsageLowerBoundRatio *float64 `json:"usageLowerBoundRatio,omitempty"`
// ThresholdMetPercentage is the percentage of the number of times the metric
// over the upper bound to the total number of times the metric is measured, if the
// percentage is greater than the threshold met percentage, the eviction or
// node tainted will be triggered
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=1
// +optional
ThresholdMetPercentage *float64 `json:"thresholdMetPercentage,omitempty"`
// MetricRingSize is the size of the load metric ring
// +kubebuilder:validation:Minimum=1
// +optional
MetricRingSize *int `json:"metricRingSize,omitempty"`
// EvictionCoolDownTime is the cool down duration of pod eviction
// +optional
EvictionCoolDownTime *metav1.Duration `json:"evictionCoolDownTime,omitempty"`
// EvictionRankingMetrics is the metric list for ranking eviction pods
// +optional
EvictionRankingMetrics []string `json:"evictionRankingMetrics,omitempty"`
// +optional
GracePeriod *int64 `json:"gracePeriod,omitempty"`
// +optional
CheckCPUManager *bool `json:"checkCPUManager,omitempty"`
// +optional
RankingLabels map[string][]string `json:"RankingLabels,omitempty"`
}
func (*CPUSystemPressureEvictionConfig) DeepCopy ¶ added in v0.5.1
func (in *CPUSystemPressureEvictionConfig) DeepCopy() *CPUSystemPressureEvictionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUSystemPressureEvictionConfig.
func (*CPUSystemPressureEvictionConfig) DeepCopyInto ¶ added in v0.5.1
func (in *CPUSystemPressureEvictionConfig) DeepCopyInto(out *CPUSystemPressureEvictionConfig)
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 ConfigUpdateStrategy ¶ added in v0.5.1
type ConfigUpdateStrategy struct {
// Type of config update. Only `RollingUpdate` is supported.
// +optional
Type ConfigUpdateStrategyType `json:"type,omitempty"`
// Rolling update config params. Present only if type = "RollingUpdate".
//---
// TODO: Update this to follow our convention for oneOf, whatever we decide it
// to be. Same as Deployment `strategy.rollingUpdate`.
// See https://github.com/kubernetes/kubernetes/issues/35345
// +optional
RollingUpdate *RollingUpdateConfig `json:"rollingUpdate,omitempty"`
}
ConfigUpdateStrategy is a struct used to control the update strategy for a KatalystCustomConfig target.
func (*ConfigUpdateStrategy) DeepCopy ¶ added in v0.5.1
func (in *ConfigUpdateStrategy) DeepCopy() *ConfigUpdateStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigUpdateStrategy.
func (*ConfigUpdateStrategy) DeepCopyInto ¶ added in v0.5.1
func (in *ConfigUpdateStrategy) DeepCopyInto(out *ConfigUpdateStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigUpdateStrategyType ¶ added in v0.5.1
type ConfigUpdateStrategyType string
+kubebuilder:validation:Enum=RollingUpdate
const ( // Replace the old configs by new ones using rolling update i.e replace them on each node one after the other. RollingUpdateConfigStrategyType ConfigUpdateStrategyType = "RollingUpdate" )
type ControlKnobConstraints ¶ added in v0.5.1
type ControlKnobConstraints struct {
Name ControlKnobName `json:"name"`
RestrictConstraints RestrictConstraints `json:",inline"`
}
func (*ControlKnobConstraints) DeepCopy ¶ added in v0.5.1
func (in *ControlKnobConstraints) DeepCopy() *ControlKnobConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlKnobConstraints.
func (*ControlKnobConstraints) DeepCopyInto ¶ added in v0.5.1
func (in *ControlKnobConstraints) DeepCopyInto(out *ControlKnobConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControlKnobName ¶ added in v0.5.1
type ControlKnobName string
ControlKnobName defines available control knob key for provision policy
const ( // ControlKnobNonReclaimedCPURequirement refers to cpu requirement of non-reclaimed workloads, like shared_cores and dedicated_cores ControlKnobNonReclaimedCPURequirement ControlKnobName = "non-reclaimed-cpu-requirement" // ControlKnobNonReclaimedCPURequirementUpper refers to the upper cpu size, for isolated pods now ControlKnobNonReclaimedCPURequirementUpper ControlKnobName = "non-reclaimed-cpu-requirement-upper" // ControlKnobNonReclaimedCPURequirementLower refers to the lower cpu size, for isolated pods now ControlKnobNonReclaimedCPURequirementLower ControlKnobName = "non-reclaimed-cpu-requirement-lower" )
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 ¶
func (in *CustomNodeConfigList) DeepCopy() *CustomNodeConfigList
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 ¶
func (in *CustomNodeConfigSpec) DeepCopy() *CustomNodeConfigSpec
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 ¶
func (in *CustomNodeConfigStatus) DeepCopy() *CustomNodeConfigStatus
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
//
// Deprecated: Please use CPUSystemPressureEvictionConfig instead to configure params for CPU eviction plugin at node level
SystemLoadPressureEvictionConfig *SystemLoadPressureEvictionConfig `json:"systemLoadPressureEvictionConfig,omitempty"`
// CPUSystemPressureEvictionConfig is the config for cpu system pressure eviction at node level
// +optional
CPUSystemPressureEvictionConfig *CPUSystemPressureEvictionConfig `json:"cpuSystemPressureEvictionConfig,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 ¶
func (in *GenericConfigCondition) DeepCopy() *GenericConfigCondition
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"`
// Indicates that the config is paused.
// +optional
Paused bool `json:"paused,omitempty"`
// An update strategy to replace existing CustomNodeConfig configurations with new ones.
// +optional
UpdateStrategy ConfigUpdateStrategy `json:"updateStrategy,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 {
// The number of nodes that this config is targeting.
// +optional
TargetNodes int32 `json:"targetNodes"`
// The number of nodes that this config is targeting and should be updated given the current strategy.
// +optional
CanaryNodes int32 `json:"canaryNodes"`
// The number of target nodes that have been updated by this config.
// +optional
UpdatedTargetNodes int32 `json:"updatedTargetNodes"`
// The number of nodes (including non-target nodes) that have been updated by this config.
// +optional
UpdatedNodes int32 `json:"updatedNodes"`
// The hash of the current config observed by the kcc controller.
// +optional
CurrentHash string `json:"currentHash,omitempty"`
// 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.
// +optional
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 GlobalResourcePortraitConfiguration ¶ added in v0.5.1
type GlobalResourcePortraitConfiguration struct {
metav1.TypeMeta `json:",inline"`
// Configs are global resource portrait configuration
Configs []ResourcePortraitConfiguration `json:"configs,omitempty"`
}
GlobalResourcePortraitConfiguration is the global configuration of the resource portrait plug-in, including resource portrait configuration and workload matching rules.
func (*GlobalResourcePortraitConfiguration) DeepCopy ¶ added in v0.5.1
func (in *GlobalResourcePortraitConfiguration) DeepCopy() *GlobalResourcePortraitConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalResourcePortraitConfiguration.
func (*GlobalResourcePortraitConfiguration) DeepCopyInto ¶ added in v0.5.1
func (in *GlobalResourcePortraitConfiguration) DeepCopyInto(out *GlobalResourcePortraitConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalResourcePortraitConfiguration) DeepCopyObject ¶ added in v0.5.1
func (in *GlobalResourcePortraitConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IndicatorTargetConfiguration ¶ added in v0.5.1
type IndicatorTargetConfiguration struct {
Name v1alpha1.ServiceSystemIndicatorName `json:"name"`
Target float64 `json:"target"`
}
func (*IndicatorTargetConfiguration) DeepCopy ¶ added in v0.5.1
func (in *IndicatorTargetConfiguration) DeepCopy() *IndicatorTargetConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndicatorTargetConfiguration.
func (*IndicatorTargetConfiguration) DeepCopyInto ¶ added in v0.5.1
func (in *IndicatorTargetConfiguration) DeepCopyInto(out *IndicatorTargetConfiguration)
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 ¶
func (in *KatalystCustomConfig) DeepCopy() *KatalystCustomConfig
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 ¶
func (in *KatalystCustomConfigCondition) DeepCopy() *KatalystCustomConfigCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KatalystCustomConfigCondition.
func (*KatalystCustomConfigCondition) DeepCopyInto ¶
func (in *KatalystCustomConfigCondition) DeepCopyInto(out *KatalystCustomConfigCondition)
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 ¶
func (in *KatalystCustomConfigList) DeepCopy() *KatalystCustomConfigList
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 ¶
func (in *KatalystCustomConfigSpec) DeepCopy() *KatalystCustomConfigSpec
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 ¶
func (in *KatalystCustomConfigStatus) DeepCopy() *KatalystCustomConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KatalystCustomConfigStatus.
func (*KatalystCustomConfigStatus) DeepCopyInto ¶
func (in *KatalystCustomConfigStatus) DeepCopyInto(out *KatalystCustomConfigStatus)
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
func (in *MemoryHeadroomConfig) DeepCopy() *MemoryHeadroomConfig
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
func (in *MemoryHeadroomUtilBasedConfig) DeepCopy() *MemoryHeadroomUtilBasedConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryHeadroomUtilBasedConfig.
func (*MemoryHeadroomUtilBasedConfig) DeepCopyInto ¶ added in v0.1.6
func (in *MemoryHeadroomUtilBasedConfig) DeepCopyInto(out *MemoryHeadroomUtilBasedConfig)
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
func (in *MemoryPressureEvictionConfig) DeepCopy() *MemoryPressureEvictionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryPressureEvictionConfig.
func (*MemoryPressureEvictionConfig) DeepCopyInto ¶ added in v0.1.6
func (in *MemoryPressureEvictionConfig) DeepCopyInto(out *MemoryPressureEvictionConfig)
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
func (in *PriorityNodeLabelSelectorAllowedKeyList) DeepCopy() *PriorityNodeLabelSelectorAllowedKeyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityNodeLabelSelectorAllowedKeyList.
func (*PriorityNodeLabelSelectorAllowedKeyList) DeepCopyInto ¶ added in v0.1.15
func (in *PriorityNodeLabelSelectorAllowedKeyList) DeepCopyInto(out *PriorityNodeLabelSelectorAllowedKeyList)
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 QoSRegionType ¶ added in v0.5.1
type QoSRegionType string
QoSRegionType declares pre-defined region types
const ( QoSRegionTypeShare QoSRegionType = "share" // QoSRegionTypeIsolation for each isolation pool QoSRegionTypeIsolation QoSRegionType = "isolation" // QoSRegionTypeDedicatedNumaExclusive for each dedicated core with numa binding // and numa exclusive container QoSRegionTypeDedicatedNumaExclusive QoSRegionType = "dedicated-numa-exclusive" )
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
func (in *ReclaimedResourceConfig) DeepCopy() *ReclaimedResourceConfig
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
func (in *ReclaimedResourcesEvictionConfig) DeepCopy() *ReclaimedResourcesEvictionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReclaimedResourcesEvictionConfig.
func (*ReclaimedResourcesEvictionConfig) DeepCopyInto ¶ added in v0.1.6
func (in *ReclaimedResourcesEvictionConfig) DeepCopyInto(out *ReclaimedResourcesEvictionConfig)
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 RegionIndicators ¶ added in v0.5.1
type RegionIndicators struct {
RegionType QoSRegionType `json:"regionType"`
Targets []IndicatorTargetConfiguration `json:"targets"`
}
func (*RegionIndicators) DeepCopy ¶ added in v0.5.1
func (in *RegionIndicators) DeepCopy() *RegionIndicators
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionIndicators.
func (*RegionIndicators) DeepCopyInto ¶ added in v0.5.1
func (in *RegionIndicators) DeepCopyInto(out *RegionIndicators)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourcePortraitConfig ¶ added in v0.5.1
type ResourcePortraitConfig struct {
// Source indicates the source of the configuration.
// When this field is empty, the configuration is ignored.
Source string `json:"source"`
// Algorithm is the algorithm config used to calculate the resource portrait.
AlgorithmConfig AlgorithmConfig `json:"algorithmConfig"`
// Metrics contains preset metric query templates, such as CPU and memory metric queries.
// +optional
Metrics []string `json:"metrics,omitempty"`
// CustomMetrics contains custom metric query, the key is the metric name, the value is the metric query.
// +optional
CustomMetrics map[string]string `json:"customMetrics,omitempty"`
}
ResourcePortraitConfig defines configuration detail of ResourcePortraitConfiguration
func (*ResourcePortraitConfig) DeepCopy ¶ added in v0.5.1
func (in *ResourcePortraitConfig) DeepCopy() *ResourcePortraitConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePortraitConfig.
func (*ResourcePortraitConfig) DeepCopyInto ¶ added in v0.5.1
func (in *ResourcePortraitConfig) DeepCopyInto(out *ResourcePortraitConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourcePortraitConfiguration ¶ added in v0.5.1
type ResourcePortraitConfiguration struct {
// Config defines the algorithm and indicator configuration used for resource portrait.
Config ResourcePortraitConfig `json:"config"`
// Filter filters SPDs matching filter rules by namespaces and labels.
// Namespaces and labels are derived from the workload referenced by the SPD.
Filter ResourcePortraitFilter `json:"filter,omitempty"`
}
ResourcePortraitConfiguration defines the global configuration and matching rules of resource portraits. When the workload corresponding to the SPD meets the matching rules, the corresponding resource portrait config will be written to the SPD.
func (*ResourcePortraitConfiguration) DeepCopy ¶ added in v0.5.1
func (in *ResourcePortraitConfiguration) DeepCopy() *ResourcePortraitConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePortraitConfiguration.
func (*ResourcePortraitConfiguration) DeepCopyInto ¶ added in v0.5.1
func (in *ResourcePortraitConfiguration) DeepCopyInto(out *ResourcePortraitConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourcePortraitFilter ¶ added in v0.5.1
type ResourcePortraitFilter struct {
// Selector is used to filter workloads associated with SPD from the label dimension.
// +optional
Selector *metav1.LabelSelector `json:"selector,omitempty"`
// Namespaces contains a list of namespaces used for filtering the target workload with spd.
// The workload only needs to match a single namespace.
// +optional
Namespaces []string `json:"namespaces,omitempty"`
}
func (*ResourcePortraitFilter) DeepCopy ¶ added in v0.5.1
func (in *ResourcePortraitFilter) DeepCopy() *ResourcePortraitFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePortraitFilter.
func (*ResourcePortraitFilter) DeepCopyInto ¶ added in v0.5.1
func (in *ResourcePortraitFilter) DeepCopyInto(out *ResourcePortraitFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourcePortraitIndicators ¶ added in v0.5.1
type ResourcePortraitIndicators struct {
metav1.TypeMeta `json:",inline"`
// Configs are spd's resource portrait configuration
Configs []ResourcePortraitConfig `json:"configs,omitempty"`
}
ResourcePortraitIndicators define multiple resource portrait configurations that a single SPD may contain.
func (*ResourcePortraitIndicators) DeepCopy ¶ added in v0.5.1
func (in *ResourcePortraitIndicators) DeepCopy() *ResourcePortraitIndicators
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePortraitIndicators.
func (*ResourcePortraitIndicators) DeepCopyInto ¶ added in v0.5.1
func (in *ResourcePortraitIndicators) DeepCopyInto(out *ResourcePortraitIndicators)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourcePortraitIndicators) DeepCopyObject ¶ added in v0.5.1
func (in *ResourcePortraitIndicators) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RestrictConstraints ¶ added in v0.5.1
type RestrictConstraints struct {
// MaxUpperGap is the maximum upward offset value from the baseline
MaxUpperGap *float64 `json:"maxUpperGap,omitempty"`
// MaxLowerGap is the maximum downward offset value from the baseline
MaxLowerGap *float64 `json:"maxLowerGap,omitempty"`
// MaxUpperGapRatio is the maximum upward offset ratio from the baseline
MaxUpperGapRatio *float64 `json:"maxUpperGapRatio,omitempty"`
// MaxLowerGapRatio is the maximum downward offset ratio from the baseline
MaxLowerGapRatio *float64 `json:"maxLowerGapRatio,omitempty"`
}
func (*RestrictConstraints) DeepCopy ¶ added in v0.5.1
func (in *RestrictConstraints) DeepCopy() *RestrictConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestrictConstraints.
func (*RestrictConstraints) DeepCopyInto ¶ added in v0.5.1
func (in *RestrictConstraints) DeepCopyInto(out *RestrictConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RollingUpdateConfig ¶ added in v0.5.1
type RollingUpdateConfig struct {
// The number or percentage of target CustomNodeConfigs to update to the current configuration.
// For example: `100“ and `20%` are valid values.
// +kubebuilder:validation:XIntOrString
// +kubebuilder:validation:Pattern=`^(100|[1-9][0-9]?|0)%$`
// +optional
Canary *intstr.IntOrString `json:"canary,omitempty"`
}
Spec to control the desired behavior of config rolling update.
func (*RollingUpdateConfig) DeepCopy ¶ added in v0.5.1
func (in *RollingUpdateConfig) DeepCopy() *RollingUpdateConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpdateConfig.
func (*RollingUpdateConfig) DeepCopyInto ¶ added in v0.5.1
func (in *RollingUpdateConfig) DeepCopyInto(out *RollingUpdateConfig)
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
func (in *RootfsPressureEvictionConfig) DeepCopy() *RootfsPressureEvictionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootfsPressureEvictionConfig.
func (*RootfsPressureEvictionConfig) DeepCopyInto ¶ added in v0.4.0
func (in *RootfsPressureEvictionConfig) DeepCopyInto(out *RootfsPressureEvictionConfig)
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;native.qos.pod;owner.pod
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
func (in *SystemLoadPressureEvictionConfig) DeepCopy() *SystemLoadPressureEvictionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemLoadPressureEvictionConfig.
func (*SystemLoadPressureEvictionConfig) DeepCopyInto ¶ added in v0.1.16
func (in *SystemLoadPressureEvictionConfig) DeepCopyInto(out *SystemLoadPressureEvictionConfig)
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" TMOPolicyNameIntegrated TMOPolicyName = "Integrated" )
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 TimeWindow ¶ added in v0.5.1
type TimeWindow struct {
// Input is the time interval used when querying the time series data source, with the unit being seconds.
Input int `json:"input"`
// HistorySteps is the number of steps to use as the input for the algorithm.
HistorySteps int `json:"historySteps"`
// Aggregator is the aggregator used to aggregate the time series data group.
Aggregator Aggregator `json:"aggregator"`
// Output is the grouping interval of portrait data, which groups portrait data at an integer multiple of Input.
Output int `json:"output"`
// PredictionSteps is the number of steps to predict the future value.
PredictionSteps int `json:"predictionSteps"`
}
func (*TimeWindow) DeepCopy ¶ added in v0.5.1
func (in *TimeWindow) DeepCopy() *TimeWindow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeWindow.
func (*TimeWindow) DeepCopyInto ¶ added in v0.5.1
func (in *TimeWindow) DeepCopyInto(out *TimeWindow)
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"`
// BlockConfig is a configuration for blocking tmo on specified pods.
// +optional
BlockConfig *BlockConfig `json:"blockConfig,omitempty"`
}
func (*TransparentMemoryOffloadingConfig) DeepCopy ¶ added in v0.5.0
func (in *TransparentMemoryOffloadingConfig) DeepCopy() *TransparentMemoryOffloadingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransparentMemoryOffloadingConfig.
func (*TransparentMemoryOffloadingConfig) DeepCopyInto ¶ added in v0.5.0
func (in *TransparentMemoryOffloadingConfig) DeepCopyInto(out *TransparentMemoryOffloadingConfig)
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
func (in *TransparentMemoryOffloadingConfiguration) DeepCopy() *TransparentMemoryOffloadingConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransparentMemoryOffloadingConfiguration.
func (*TransparentMemoryOffloadingConfiguration) DeepCopyInto ¶ added in v0.5.0
func (in *TransparentMemoryOffloadingConfiguration) DeepCopyInto(out *TransparentMemoryOffloadingConfiguration)
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
func (in *TransparentMemoryOffloadingConfiguration) DeepCopyObject() runtime.Object
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
func (in *TransparentMemoryOffloadingConfigurationList) DeepCopy() *TransparentMemoryOffloadingConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransparentMemoryOffloadingConfigurationList.
func (*TransparentMemoryOffloadingConfigurationList) DeepCopyInto ¶ added in v0.5.0
func (in *TransparentMemoryOffloadingConfigurationList) DeepCopyInto(out *TransparentMemoryOffloadingConfigurationList)
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
func (in *TransparentMemoryOffloadingConfigurationList) DeepCopyObject() runtime.Object
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
func (in *TransparentMemoryOffloadingConfigurationSpec) DeepCopy() *TransparentMemoryOffloadingConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransparentMemoryOffloadingConfigurationSpec.
func (*TransparentMemoryOffloadingConfigurationSpec) DeepCopyInto ¶ added in v0.5.0
func (in *TransparentMemoryOffloadingConfigurationSpec) DeepCopyInto(out *TransparentMemoryOffloadingConfigurationSpec)
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
func (in *TransparentMemoryOffloadingIndicators) DeepCopy() *TransparentMemoryOffloadingIndicators
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransparentMemoryOffloadingIndicators.
func (*TransparentMemoryOffloadingIndicators) DeepCopyInto ¶ added in v0.5.0
func (in *TransparentMemoryOffloadingIndicators) DeepCopyInto(out *TransparentMemoryOffloadingIndicators)
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
func (in *TransparentMemoryOffloadingIndicators) DeepCopyObject() runtime.Object
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.