Documentation
¶
Overview ¶
Package v1alpha1 provides alpha API for Katalyst config API objects.
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AdminQoSConfig
- type AdminQoSConfiguration
- type AdminQoSConfigurationList
- type AdminQoSConfigurationSpec
- type CPUHeadroomConfig
- type CPUHeadroomUtilBasedConfig
- type CPUPressureEvictionConfig
- type ConfigConditionType
- type CustomNodeConfig
- type CustomNodeConfigList
- type CustomNodeConfigSpec
- type CustomNodeConfigStatus
- type EphemeralSelector
- type EvictionConfig
- type GenericConfigCondition
- type GenericConfigSpec
- type GenericConfigStatus
- type KatalystCustomConfig
- type KatalystCustomConfigCondition
- type KatalystCustomConfigConditionType
- type KatalystCustomConfigList
- type KatalystCustomConfigSpec
- type KatalystCustomConfigStatus
- type MemoryHeadroomConfig
- type MemoryHeadroomUtilBasedConfig
- type MemoryPressureEvictionConfig
- type NumaEvictionRankingMetric
- type PriorityNodeLabelSelectorAllowedKeyList
- type ReclaimedResourceConfig
- type ReclaimedResourcesEvictionConfig
- type SystemEvictionRankingMetric
- type SystemLoadPressureEvictionConfig
- type TargetConfig
Constants ¶
const ( ResourceNameKatalystCustomConfigs = "katalystcustomconfigs" ResourceNameCustomNodeConfigs = "customnodeconfigs" ResourceNameAdminQoSConfigurations = "adminqosconfigurations" )
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 AdminQoSConfig ¶ added in v0.0.4
type AdminQoSConfig struct { // ReclaimedResourceConfig is a configuration for reclaim resource // +optional ReclaimedResourceConfig *ReclaimedResourceConfig `json:"reclaimedResourceConfig,omitempty"` // EvictionConfig is a configuration for eviction // +optional EvictionConfig *EvictionConfig `json:"evictionConfig,omitempty"` }
func (*AdminQoSConfig) DeepCopy ¶ added in v0.0.4
func (in *AdminQoSConfig) DeepCopy() *AdminQoSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminQoSConfig.
func (*AdminQoSConfig) DeepCopyInto ¶ added in v0.0.4
func (in *AdminQoSConfig) DeepCopyInto(out *AdminQoSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdminQoSConfiguration ¶ added in v0.0.4
type AdminQoSConfiguration struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AdminQoSConfigurationSpec `json:"spec,omitempty"` Status GenericConfigStatus `json:"status,omitempty"` }
AdminQoSConfiguration is the Schema for the configuration API used by admin QoS policy
func (*AdminQoSConfiguration) DeepCopy ¶ added in v0.0.4
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 CPUHeadroomConfig ¶ added in v0.1.6
type CPUHeadroomConfig struct { // UtilBasedConfig is a config for utilization based cpu headroom policy // +optional UtilBasedConfig *CPUHeadroomUtilBasedConfig `json:"utilBasedConfig,omitempty"` }
func (*CPUHeadroomConfig) DeepCopy ¶ added in v0.1.6
func (in *CPUHeadroomConfig) DeepCopy() *CPUHeadroomConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUHeadroomConfig.
func (*CPUHeadroomConfig) DeepCopyInto ¶ added in v0.1.6
func (in *CPUHeadroomConfig) DeepCopyInto(out *CPUHeadroomConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CPUHeadroomUtilBasedConfig ¶ added in v0.1.6
type CPUHeadroomUtilBasedConfig struct { // Enable is a flag to enable utilization based cpu headroom policy // +optional Enable *bool `json:"enable,omitempty"` // TargetReclaimedCoreUtilization is the target reclaimed core utilization to be used for // calculating the oversold cpu headroom // +kubectl:validation:Minimum=0 // +kubectl:validation:Maximum=1 // +optional TargetReclaimedCoreUtilization *float64 `json:"targetReclaimedCoreUtilization,omitempty"` // MaxReclaimedCoreUtilization is the max reclaimed core utilization of reclaimed_cores pool, // which is used to calculate the oversold cpu headroom, if zero means no limit // +kubectl:validation:Minimum=0 // +kubectl:validation:Maximum=1 // +optional MaxReclaimedCoreUtilization *float64 `json:"maxReclaimedCoreUtilization,omitempty"` // MaxOversoldRate is the max oversold rate of cpu headroom to the actual size of // reclaimed_cores pool // +kubectl:validation:Minimum=0 // +optional MaxOversoldRate *float64 `json:"maxOversoldRate,omitempty"` // MaxHeadroomCapacityRate is the max headroom capacity rate of cpu headroom to the total // cpu capacity of node // +kubectl:validation:Minimum=0 // +optional MaxHeadroomCapacityRate *float64 `json:"maxHeadroomCapacityRate,omitempty"` }
func (*CPUHeadroomUtilBasedConfig) DeepCopy ¶ added in v0.1.6
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 // +kubectl:validation:Minimum=1 // +optional LoadUpperBoundRatio *float64 `json:"loadUpperBoundRatio,omitempty"` // LoadThresholdMetPercentage is the percentage of the number of times the load // over the upper bound to the total number of times the load is measured, if the // percentage is greater than the load threshold met percentage, the eviction or // node tainted will be triggered // +kubectl:validation:Minimum=0 // +kubectl:validation:Maximum=1 // +optional LoadThresholdMetPercentage *float64 `json:"loadThresholdMetPercentage,omitempty"` // LoadMetricRingSize is the size of the load metric ring, which is used to calculate the // load of the target cpuset pool // +kubebuilder:validation:Minimum=1 // +optional LoadMetricRingSize *int `json:"loadMetricRingSize,omitempty"` // LoadEvictionCoolDownTime is the cool-down time of cpu load eviction, // if the cpu load eviction is triggered, the cpu load eviction will be // disabled for the cool-down time // +optional LoadEvictionCoolDownTime *metav1.Duration `json:"loadEvictionCoolDownTime,omitempty"` // EnableSuppressionEviction is whether to enable pod-level cpu suppression eviction // +optional EnableSuppressionEviction *bool `json:"enableSuppressionEviction,omitempty"` // MaxSuppressionToleranceRate is the maximum cpu suppression tolerance rate that // can be set by the pod, if the cpu suppression tolerance rate of the pod is greater // than the maximum cpu suppression tolerance rate, the cpu suppression tolerance rate // of the pod will be set to the maximum cpu suppression tolerance rate // +kubectl:validation:Minimum=0 // +optional MaxSuppressionToleranceRate *float64 `json:"maxSuppressionToleranceRate,omitempty"` // MinSuppressionToleranceDuration is the minimum duration a pod can tolerate cpu // suppression, only if the cpu suppression duration of the pod is greater than the // minimum cpu suppression duration, the eviction will be triggered // +optional MinSuppressionToleranceDuration *metav1.Duration `json:"minSuppressionToleranceDuration,omitempty"` // GracePeriod is the grace period of cpu pressure eviction // +kubectl:validation:Minimum=0 // +optional GracePeriod *int64 `json:"gracePeriod,omitempty"` }
func (*CPUPressureEvictionConfig) DeepCopy ¶ added in v0.1.6
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 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 ¶
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 SystemLoadPressureEvictionConfig *SystemLoadPressureEvictionConfig `json:"systemLoadPressureEvictionConfig,omitempty"` // MemoryPressureEvictionConfig is the config for memory pressure eviction // +optional MemoryPressureEvictionConfig *MemoryPressureEvictionConfig `json:"memoryPressureEvictionConfig,omitempty"` // ReclaimedResourcesEvictionConfig is the config for reclaimed resources' eviction // +optional ReclaimedResourcesEvictionConfig *ReclaimedResourcesEvictionConfig `json:"reclaimedResourcesEvictionConfig,omitempty"` }
func (*EvictionConfig) DeepCopy ¶ added in v0.0.2
func (in *EvictionConfig) DeepCopy() *EvictionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EvictionConfig.
func (*EvictionConfig) DeepCopyInto ¶ added in v0.0.2
func (in *EvictionConfig) DeepCopyInto(out *EvictionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GenericConfigCondition ¶
type GenericConfigCondition struct { // Type of config condition Type ConfigConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status v1.ConditionStatus `json:"status"` // Last time the condition transit from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // reason is the reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // message is a human-readable explanation containing details about the transition // +optional Message string `json:"message,omitempty"` }
func (*GenericConfigCondition) DeepCopy ¶
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"` }
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 ¶
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 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. // +kubectl:validation:Minimum=0 // +kubectl:validation:Maximum=1 // +optional FreeBasedRatio *float64 `json:"freeBasedRatio,omitempty"` // StaticBasedCapacity is the static oversold memory size by bytes // +kubectl:validation:Minimum=0 // +optional StaticBasedCapacity *float64 `json:"staticBasedCapacity,omitempty"` // CacheBasedRatio is the rate of cache oversold, 0 means disable cache oversold // +kubectl:validation:Minimum=0 // +kubectl:validation:Maximum=1 // +optional CacheBasedRatio *float64 `json:"cacheBasedRatio,omitempty"` }
func (*MemoryHeadroomUtilBasedConfig) DeepCopy ¶ added in v0.1.6
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"` // NumaFreeBelowWatermarkTimesThreshold is the threshold for the number of // times NUMA's free memory falls below the watermark // +kubectl:validation:Minimum=0 // +optional NumaFreeBelowWatermarkTimesThreshold *int `json:"numaFreeBelowWatermarkTimesThreshold,omitempty"` // NumaFreeBelowWatermarkTimesThreshold is the threshold for the rate of // kswapd reclaiming rate // +kubectl:validation:Minimum=0 // +optional SystemKswapdRateThreshold *int `json:"systemKswapdRateThreshold,omitempty"` // SystemKswapdRateExceedDurationThreshold is the threshold for the duration the kswapd reclaiming rate // exceeds the threshold // +kubectl:validation:Minimum=0 // +optional SystemKswapdRateExceedDurationThreshold *int `json:"systemKswapdRateExceedDurationThreshold,omitempty"` // NumaEvictionRankingMetrics is the metrics used to rank pods for eviction // at the NUMA level // +kubebuilder:validation:MinItems=1 // +optional NumaEvictionRankingMetrics []NumaEvictionRankingMetric `json:"numaEvictionRankingMetrics,omitempty"` // SystemEvictionRankingMetrics is the metrics used to rank pods for eviction // at the system level // +kubebuilder:validation:MinItems=1 // +optional SystemEvictionRankingMetrics []SystemEvictionRankingMetric `json:"systemEvictionRankingMetrics,omitempty"` // EnableRSSOveruseEviction is whether to enable pod-level rss overuse eviction // +optional EnableRSSOveruseEviction *bool `json:"enableRSSOveruseEviction,omitempty"` // RSSOveruseRateThreshold is the threshold for the rate of rss // +kubectl:validation:Minimum=0 // +optional RSSOveruseRateThreshold *float64 `json:"rssOveruseRateThreshold,omitempty"` // GracePeriod is the grace period of memory pressure eviction // +kubectl:validation:Minimum=0 // +optional GracePeriod *int64 `json:"gracePeriod,omitempty"` }
func (*MemoryPressureEvictionConfig) DeepCopy ¶ added in v0.1.6
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 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 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 // +kubectl:validation:Minimum=0 // +optional GracePeriod *int64 `json:"gracePeriod,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 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
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 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.