Documentation
¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the autoscaling API. +k8s:deepcopy-gen=package,register +groupName=autoscaling.crane.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type ConditionType
- type ContainerResourcePolicy
- type ContainerScalingPolicy
- type CronSpec
- type EffectiveHorizontalPodAutoscaler
- type EffectiveHorizontalPodAutoscalerList
- type EffectiveHorizontalPodAutoscalerSpec
- type EffectiveHorizontalPodAutoscalerStatus
- type EffectiveVerticalPodAutoscaler
- type EffectiveVerticalPodAutoscalerList
- type EffectiveVerticalPodAutoscalerSpec
- type EffectiveVerticalPodAutoscalerStatus
- type PodResourcePolicy
- type Prediction
- type PredictionAlgorithm
- type ResourceEstimator
- type ResourceEstimatorStatus
- type ResourceMetric
- type ResourceMetricList
- type ResourceName
- type ScaleStrategy
- type Substitute
- type SubstituteList
- type SubstituteSpec
- type SubstituteStatus
Constants ¶
const GroupName = "autoscaling.crane.io"
GroupName specifies the group name used to register the objects.
Variables ¶
var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder // Depreciated: use Install instead AddToScheme = localSchemeBuilder.AddToScheme Install = localSchemeBuilder.AddToScheme )
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}
GroupVersion specifies the group and the version used to register the objects.
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type ConditionType ¶
type ConditionType string
const ( // PredictionReady indicates that the prediction is ready. // For enabled prediction effective-hpa. PredictionReady ConditionType = "PredictionReady" // Ready indicates that whole autoscaling is running as expect. Ready ConditionType = "Ready" )
type ContainerResourcePolicy ¶
type ContainerResourcePolicy struct {
// Name of the container or DefaultContainerResourcePolicy, in which
// case the policy is used by the containers that don't have their own
// policy specified.
ContainerName string `json:"containerName,omitempty"`
// ScaleUpPolicy define the policy when scale up containers resources.
// +optional
ScaleUpPolicy *ContainerScalingPolicy `json:"scaleUpPolicy,omitempty"`
// ScaleDownPolicy define the policy when scale down containers resources.
// +optional
ScaleDownPolicy *ContainerScalingPolicy `json:"scaleDownPolicy,omitempty"`
// Specifies the minimal amount of resources that will be recommended
// for the container. The default is no minimum.
// +optional
MinAllowed v1.ResourceList `json:"minAllowed,omitempty"`
// Specifies the maximum amount of resources that will be recommended
// for the container. The default is no maximum.
// +optional
MaxAllowed v1.ResourceList `json:"maxAllowed,omitempty"`
// Specifies the type of recommendations that will be computed
// (and possibly applied) by VPA.
// If not specified, the default of [ResourceCPU, ResourceMemory] will be used.
ControlledResources *[]ResourceName `json:"controlledResources,omitempty" patchStrategy:"merge"`
// Specifies which resource values should be controlled.
// The default is "RequestsAndLimits".
// +optional
ControlledValues *vpatypes.ContainerControlledValues `json:"controlledValues,omitempty"`
}
ContainerResourcePolicy controls how autoscaler computes the recommended resources for a specific container.
func (*ContainerResourcePolicy) DeepCopy ¶
func (in *ContainerResourcePolicy) DeepCopy() *ContainerResourcePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerResourcePolicy.
func (*ContainerResourcePolicy) DeepCopyInto ¶
func (in *ContainerResourcePolicy) DeepCopyInto(out *ContainerResourcePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerScalingPolicy ¶
type ContainerScalingPolicy struct {
// ScaleMode controls Whether autoscaler is enabled for the container.
// The default is "Auto".
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Auto;Off
// +kubebuilder:default=Auto
ScaleMode *vpatypes.ContainerScalingMode `json:"mode,omitempty"`
// MetricThresholds defines resource usages thresholds for vertical scaling.
// Only if actual usage is reached to threshold, autoscaling estimator will be triggered.
MetricThresholds *ResourceMetricList `json:"metricThresholds,omitempty"`
// StabilizationWindowSeconds is the number of seconds for which past vertical scaling
// considered while scaling up or scaling down.
// +optional
// +kubebuilder:validation:Type=integer
// +kubebuilder:default=3600
StabilizationWindowSeconds *int32 `json:"stabilizationWindowSeconds,omitempty"`
}
ContainerScalingPolicy define effective policy for vertical scaling in certain direction: Up or Down
func (*ContainerScalingPolicy) DeepCopy ¶
func (in *ContainerScalingPolicy) DeepCopy() *ContainerScalingPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerScalingPolicy.
func (*ContainerScalingPolicy) DeepCopyInto ¶
func (in *ContainerScalingPolicy) DeepCopyInto(out *ContainerScalingPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CronSpec ¶
type CronSpec struct {
// Name is the identifier of this cron scale. name must be unique in the same ehpa
// +kubebuilder:validation:Type=string
Name string `json:"name,omitempty"`
// Description is the description of the cron
// +optional
// +kubebuilder:validation:Type=string
Description string `json:"description,omitempty"`
// TimeZone is the time zone of this cron schedule running in, default is UTC time.
// +optional
// +kubebuilder:validation:Type=string
TimeZone *string `json:"timezone,omitempty"`
// Start is a crontab format, see https://en.wikipedia.org/wiki/Cron
// Define the cron schedule start, when the cron start is triggered, hpa will reconcile targetRef to scale to the TargetReplicas continuously.
// +kubebuilder:validation:Type=string
Start string `json:"start,omitempty"`
// End is a crontab format, see https://en.wikipedia.org/wiki/Cron
// Define the cron schedule end, when it ended, EHPA will stop to trigger hpa to scale.
// Between the start and end, EHPA will keep replicas of the targetRef to equal to TargetReplicas, a scaling is a process rather than a instant action, make it as a final consistent system.
// +kubebuilder:validation:Type=string
End string `json:"end,omitempty"`
// TargetReplicas is the target replicas when it is time to do scale between cron start and end
// +kubebuilder:validation:Type=integer
TargetReplicas int32 `json:"targetReplicas,omitempty"`
}
CronSpec defines the cron scale info
func (*CronSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CronSpec.
func (*CronSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EffectiveHorizontalPodAutoscaler ¶
type EffectiveHorizontalPodAutoscaler struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec EffectiveHorizontalPodAutoscalerSpec `json:"spec,omitempty"`
// +optional
Status EffectiveHorizontalPodAutoscalerStatus `json:"status,omitempty"`
}
EffectiveHorizontalPodAutoscaler is the Schema for the effectivehorizontalpodautoscaler API
func (*EffectiveHorizontalPodAutoscaler) DeepCopy ¶
func (in *EffectiveHorizontalPodAutoscaler) DeepCopy() *EffectiveHorizontalPodAutoscaler
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EffectiveHorizontalPodAutoscaler.
func (*EffectiveHorizontalPodAutoscaler) DeepCopyInto ¶
func (in *EffectiveHorizontalPodAutoscaler) DeepCopyInto(out *EffectiveHorizontalPodAutoscaler)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EffectiveHorizontalPodAutoscaler) DeepCopyObject ¶
func (in *EffectiveHorizontalPodAutoscaler) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EffectiveHorizontalPodAutoscalerList ¶
type EffectiveHorizontalPodAutoscalerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []EffectiveHorizontalPodAutoscaler `json:"items"`
}
EffectiveHorizontalPodAutoscalerList contains a list of EffectiveHorizontalPodAutoscaler
func (*EffectiveHorizontalPodAutoscalerList) DeepCopy ¶
func (in *EffectiveHorizontalPodAutoscalerList) DeepCopy() *EffectiveHorizontalPodAutoscalerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EffectiveHorizontalPodAutoscalerList.
func (*EffectiveHorizontalPodAutoscalerList) DeepCopyInto ¶
func (in *EffectiveHorizontalPodAutoscalerList) DeepCopyInto(out *EffectiveHorizontalPodAutoscalerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EffectiveHorizontalPodAutoscalerList) DeepCopyObject ¶
func (in *EffectiveHorizontalPodAutoscalerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EffectiveHorizontalPodAutoscalerSpec ¶
type EffectiveHorizontalPodAutoscalerSpec struct {
// ScaleTargetRef is the reference to the workload that should be scaled.
ScaleTargetRef autoscalingv2.CrossVersionObjectReference `json:"scaleTargetRef"`
// MinReplicas is the lower limit replicas to the scale target which the autoscaler can scale down to.
// the default MinReplicas is 1.
// +optional
// +kubebuilder:default=1
MinReplicas *int32 `json:"minReplicas,omitempty"`
// MaxReplicas is the upper limit replicas to the scale target which the autoscaler can scale up to.
// It cannot be less that MinReplicas.
MaxReplicas int32 `json:"maxReplicas"`
// ScaleStrategy indicate the strategy to scaling target, value can be "Auto" and "Preview"
// the default ScaleStrategy is Auto.
// +optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Auto;Preview
// +kubebuilder:default=Auto
ScaleStrategy ScaleStrategy `json:"scaleStrategy"`
// SpecificReplicas specify the target replicas if ScaleStrategy is Preview
// If not set, when ScaleStrategy is setting to Preview, it will just stop scaling
// +optional
// +kubebuilder:validation:Type=integer
SpecificReplicas *int32 `json:"specificReplicas,omitempty"`
// metrics contains the specifications for which to use to calculate the
// desired replica count (the maximum replica count across all metrics will
// be used). The desired replica count is calculated multiplying the
// ratio between the target value and the current value by the current
// number of pods. Ergo, metrics used must decrease as the pod count is
// increased, and vice-versa. See the individual metric source types for
// more information about how each type of metric must respond.
// If not set, the default metric will be set to 80% average CPU utilization.
// +optional
Metrics []autoscalingv2.MetricSpec `json:"metrics,omitempty"`
// Crons contains cron specs to use crontab to scale workloads
// +optional
Crons []CronSpec `json:"crons,omitempty"`
// behavior configures the scaling behavior of the target
// in both Up and Down directions (scaleUp and scaleDown fields respectively).
// If not set, the default HPAScalingRules for scale up and scale down are used.
// +optional
Behavior *autoscalingv2.HorizontalPodAutoscalerBehavior `json:"behavior,omitempty"`
// Prediction defines configurations for predict resources.
// If unspecified, defaults don't enable prediction.
Prediction *Prediction `json:"prediction,omitempty"`
}
EffectiveHorizontalPodAutoscalerSpec defines the desired spec of EffectiveHorizontalPodAutoscaler
func (*EffectiveHorizontalPodAutoscalerSpec) DeepCopy ¶
func (in *EffectiveHorizontalPodAutoscalerSpec) DeepCopy() *EffectiveHorizontalPodAutoscalerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EffectiveHorizontalPodAutoscalerSpec.
func (*EffectiveHorizontalPodAutoscalerSpec) DeepCopyInto ¶
func (in *EffectiveHorizontalPodAutoscalerSpec) DeepCopyInto(out *EffectiveHorizontalPodAutoscalerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EffectiveHorizontalPodAutoscalerStatus ¶
type EffectiveHorizontalPodAutoscalerStatus struct {
// ExpectReplicas is the expected replicas to scale to.
// +optional
ExpectReplicas *int32 `json:"expectReplicas,omitempty"`
// CurrentReplicas is the current replicas to the scale target.
// +optional
CurrentReplicas *int32 `json:"currentReplicas,omitempty"`
// LastScaleTime indicates the last time to execute scaling.
// +optional
LastScaleTime *metav1.Time `json:"lastScaleTime,omitempty"`
// Conditions is an array of current autoscaler conditions.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
func (*EffectiveHorizontalPodAutoscalerStatus) DeepCopy ¶
func (in *EffectiveHorizontalPodAutoscalerStatus) DeepCopy() *EffectiveHorizontalPodAutoscalerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EffectiveHorizontalPodAutoscalerStatus.
func (*EffectiveHorizontalPodAutoscalerStatus) DeepCopyInto ¶
func (in *EffectiveHorizontalPodAutoscalerStatus) DeepCopyInto(out *EffectiveHorizontalPodAutoscalerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EffectiveVerticalPodAutoscaler ¶
type EffectiveVerticalPodAutoscaler struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec EffectiveVerticalPodAutoscalerSpec `json:"spec"`
// +optional
Status EffectiveVerticalPodAutoscalerStatus `json:"status,omitempty"`
}
EffectiveVerticalPodAutoscaler is the Schema for the effectiveverticalpodautoscaler API
func (*EffectiveVerticalPodAutoscaler) DeepCopy ¶
func (in *EffectiveVerticalPodAutoscaler) DeepCopy() *EffectiveVerticalPodAutoscaler
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EffectiveVerticalPodAutoscaler.
func (*EffectiveVerticalPodAutoscaler) DeepCopyInto ¶
func (in *EffectiveVerticalPodAutoscaler) DeepCopyInto(out *EffectiveVerticalPodAutoscaler)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EffectiveVerticalPodAutoscaler) DeepCopyObject ¶
func (in *EffectiveVerticalPodAutoscaler) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EffectiveVerticalPodAutoscalerList ¶
type EffectiveVerticalPodAutoscalerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []EffectiveVerticalPodAutoscaler `json:"items"`
}
EffectiveVerticalPodAutoscalerList contains a list of EffectiveVerticalPodAutoscaler
func (*EffectiveVerticalPodAutoscalerList) DeepCopy ¶
func (in *EffectiveVerticalPodAutoscalerList) DeepCopy() *EffectiveVerticalPodAutoscalerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EffectiveVerticalPodAutoscalerList.
func (*EffectiveVerticalPodAutoscalerList) DeepCopyInto ¶
func (in *EffectiveVerticalPodAutoscalerList) DeepCopyInto(out *EffectiveVerticalPodAutoscalerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EffectiveVerticalPodAutoscalerList) DeepCopyObject ¶
func (in *EffectiveVerticalPodAutoscalerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EffectiveVerticalPodAutoscalerSpec ¶
type EffectiveVerticalPodAutoscalerSpec struct {
// TargetRef points to the controller managing the set of pods for the
// autoscaler to control - e.g. Deployment, StatefulSet. VerticalPodAutoscaler
// can be targeted at controller implementing scale subresource (the pod set is
// retrieved from the controller's ScaleStatus) or some well known controllers
// (e.g. for DaemonSet the pod set is read from the controller's spec).
// If VerticalPodAutoscaler cannot use specified target it will report
// ConfigUnsupported condition.
// Note that VerticalPodAutoscaler does not require full implementation
// of scale subresource - it will not use it to modify the replica count.
// The only thing retrieved is a label selector matching pods grouped by
// the target resource.
TargetRef *autoscalingv2.CrossVersionObjectReference `json:"targetRef"`
// Describes the rules on how changes are applied to the pods.
// If not specified, all fields in the `PodUpdatePolicy` are set to their
// default values.
// +optional
UpdatePolicy *vpatypes.PodUpdatePolicy `json:"updatePolicy,omitempty"`
// Controls how the autoscaler computes recommended resources.
// The resource policy may be used to set constraints on the recommendations
// for individual containers. If not specified, the autoscaler computes recommended
// resources for all containers in the pod, without additional constraints.
// +optional
ResourcePolicy *PodResourcePolicy `json:"resourcePolicy,omitempty"`
// ResourceEstimators Contains the specifications for estimators.
// +optional
ResourceEstimators []ResourceEstimator `json:"resourceEstimators,omitempty"`
}
func (*EffectiveVerticalPodAutoscalerSpec) DeepCopy ¶
func (in *EffectiveVerticalPodAutoscalerSpec) DeepCopy() *EffectiveVerticalPodAutoscalerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EffectiveVerticalPodAutoscalerSpec.
func (*EffectiveVerticalPodAutoscalerSpec) DeepCopyInto ¶
func (in *EffectiveVerticalPodAutoscalerSpec) DeepCopyInto(out *EffectiveVerticalPodAutoscalerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EffectiveVerticalPodAutoscalerStatus ¶
type EffectiveVerticalPodAutoscalerStatus struct {
// CurrentEstimators is the last state of the estimators used by this autoscaler
CurrentEstimators []ResourceEstimatorStatus `json:"currentEstimators,omitempty"`
// The most recently computed amount of resources recommended by the
// autoscaler for the controlled pods.
// +optional
Recommendation *vpatypes.RecommendedPodResources `json:"recommendation,omitempty"`
// Conditions is an array of current autoscaler conditions.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
EffectiveVerticalPodAutoscalerStatus describes the runtime state of the autoscaler.
func (*EffectiveVerticalPodAutoscalerStatus) DeepCopy ¶
func (in *EffectiveVerticalPodAutoscalerStatus) DeepCopy() *EffectiveVerticalPodAutoscalerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EffectiveVerticalPodAutoscalerStatus.
func (*EffectiveVerticalPodAutoscalerStatus) DeepCopyInto ¶
func (in *EffectiveVerticalPodAutoscalerStatus) DeepCopyInto(out *EffectiveVerticalPodAutoscalerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodResourcePolicy ¶
type PodResourcePolicy struct {
// Per-container resource policies.
// +optional
// +patchMergeKey=containerName
// +patchStrategy=merge
ContainerPolicies []ContainerResourcePolicy `json:"containerPolicies,omitempty" patchStrategy:"merge" patchMergeKey:"containerName"`
}
PodResourcePolicy controls how autoscaler computes the recommended resources for containers belonging to the pod. There can be at most one entry for every named container and optionally a single wildcard entry with `containerName` = '*', which handles all containers that don't have individual policies.
func (*PodResourcePolicy) DeepCopy ¶
func (in *PodResourcePolicy) DeepCopy() *PodResourcePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodResourcePolicy.
func (*PodResourcePolicy) DeepCopyInto ¶
func (in *PodResourcePolicy) DeepCopyInto(out *PodResourcePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Prediction ¶
type Prediction struct {
// PredictionWindowSeconds is the time window seconds to predict metrics in the future.
// +optional
// +kubebuilder:validation:Type=integer
// +kubebuilder:default=3600
PredictionWindowSeconds *int32 `json:"predictionWindowSeconds,omitempty"`
// PredictionAlgorithm contains all algorithm config that provider by prediction api.
// +optional
PredictionAlgorithm *PredictionAlgorithm `json:"predictionAlgorithm,omitempty"`
}
Prediction defines configurations for predict resources
func (*Prediction) DeepCopy ¶
func (in *Prediction) DeepCopy() *Prediction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Prediction.
func (*Prediction) DeepCopyInto ¶
func (in *Prediction) DeepCopyInto(out *Prediction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PredictionAlgorithm ¶
type PredictionAlgorithm struct {
// AlgorithmType specifies algorithm to predict resource
AlgorithmType predictionapi.AlgorithmType `json:"algorithmType,omitempty"`
// +optional
DSP *predictionapi.DSP `json:"dsp,omitempty"`
// +optional
Percentile *predictionapi.Percentile `json:"percentile,omitempty"`
}
PredictionAlgorithm defines the algorithm to predict resources
func (*PredictionAlgorithm) DeepCopy ¶
func (in *PredictionAlgorithm) DeepCopy() *PredictionAlgorithm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictionAlgorithm.
func (*PredictionAlgorithm) DeepCopyInto ¶
func (in *PredictionAlgorithm) DeepCopyInto(out *PredictionAlgorithm)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceEstimator ¶
type ResourceEstimator struct {
// Type defines the type for this estimator.
// +optional
Type string `json:"type,omitempty"`
// Priority defines the priority for this estimator.
// +optional
Priority int `json:"priority,omitempty"`
// Config contains key value pairs for this estimator
// for example, we can define configs like:
// key1: value1
// key2: value2
// these configs will pass into estimators when execute scaling
// +optional
Config map[string]string `json:"config,omitempty"`
}
ResourceEstimator defines the spec for resource estimator
func (*ResourceEstimator) DeepCopy ¶
func (in *ResourceEstimator) DeepCopy() *ResourceEstimator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceEstimator.
func (*ResourceEstimator) DeepCopyInto ¶
func (in *ResourceEstimator) DeepCopyInto(out *ResourceEstimator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceEstimatorStatus ¶
type ResourceEstimatorStatus struct {
// Type defines the type for this estimator.
// +optional
Type string `json:"type,omitempty"`
// LastUpdateTime is the last time the status updated.
// +optional
LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
// The most recently computed amount of resources recommended by the
// estimator for the controlled pods.
// +optional
Recommendation *vpatypes.RecommendedPodResources `json:"recommendation,omitempty"`
}
ResourceEstimatorStatus contains state for resource estimator
func (*ResourceEstimatorStatus) DeepCopy ¶
func (in *ResourceEstimatorStatus) DeepCopy() *ResourceEstimatorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceEstimatorStatus.
func (*ResourceEstimatorStatus) DeepCopyInto ¶
func (in *ResourceEstimatorStatus) DeepCopyInto(out *ResourceEstimatorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceMetric ¶
type ResourceMetric struct {
// Utilization is the target value of resource recommended ratio.
// +optional
Utilization *int32 `json:"utilization,omitempty"`
}
func (*ResourceMetric) DeepCopy ¶
func (in *ResourceMetric) DeepCopy() *ResourceMetric
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceMetric.
func (*ResourceMetric) DeepCopyInto ¶
func (in *ResourceMetric) DeepCopyInto(out *ResourceMetric)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceMetricList ¶
type ResourceMetricList map[ResourceName]ResourceMetric
func (ResourceMetricList) DeepCopy ¶
func (in ResourceMetricList) DeepCopy() ResourceMetricList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceMetricList.
func (ResourceMetricList) DeepCopyInto ¶
func (in ResourceMetricList) DeepCopyInto(out *ResourceMetricList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceName ¶
type ResourceName string
type ScaleStrategy ¶
type ScaleStrategy string
const ( // ScaleStrategyAuto execute scale based on metrics. ScaleStrategyAuto ScaleStrategy = "Auto" // ScaleStrategyPreview is the preview for ScaleStrategyAuto. ScaleStrategyPreview ScaleStrategy = "Preview" )
type Substitute ¶
type Substitute struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec SubstituteSpec `json:"spec,omitempty"`
// +optional
Status SubstituteStatus `json:"status,omitempty"`
}
Substitute is the Schema for the Substitute API
func (*Substitute) DeepCopy ¶
func (in *Substitute) DeepCopy() *Substitute
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Substitute.
func (*Substitute) DeepCopyInto ¶
func (in *Substitute) DeepCopyInto(out *Substitute)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Substitute) DeepCopyObject ¶
func (in *Substitute) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SubstituteList ¶
type SubstituteList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []Substitute `json:"items"`
}
SubstituteList contains a list of Substitute
func (*SubstituteList) DeepCopy ¶
func (in *SubstituteList) DeepCopy() *SubstituteList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubstituteList.
func (*SubstituteList) DeepCopyInto ¶
func (in *SubstituteList) DeepCopyInto(out *SubstituteList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SubstituteList) DeepCopyObject ¶
func (in *SubstituteList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SubstituteSpec ¶
type SubstituteSpec struct {
// Replicas is used by presents dryRun replicas for SubstituteTargetRef.
Replicas int32 `json:"replicas,omitempty"`
// SubstituteTargetRef is the reference to the workload that should be Substituted.
SubstituteTargetRef autoscalingv2.CrossVersionObjectReference `json:"substituteTargetRef"`
}
SubstituteSpec defines the desired spec of Substitute
func (*SubstituteSpec) DeepCopy ¶
func (in *SubstituteSpec) DeepCopy() *SubstituteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubstituteSpec.
func (*SubstituteSpec) DeepCopyInto ¶
func (in *SubstituteSpec) DeepCopyInto(out *SubstituteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubstituteStatus ¶
type SubstituteStatus struct {
// LabelSelector is label selectors that is sync with SubstituteTargetRef's labelSelector which used by HPA.
// +optional
LabelSelector string `json:"labelSelector,omitempty"`
// Replicas is used by presents dryRun replicas for SubstituteTargetRef.
// status.replicas should be equal to spec.replicas.
Replicas int32 `json:"replicas,omitempty"`
}
SubstituteStatus defines the status of Substitute
func (*SubstituteStatus) DeepCopy ¶
func (in *SubstituteStatus) DeepCopy() *SubstituteStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubstituteStatus.
func (*SubstituteStatus) DeepCopyInto ¶
func (in *SubstituteStatus) DeepCopyInto(out *SubstituteStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.