io.k8s.api.autoscaling.v2

Type members

Classlikes

final case class ContainerResourceMetricSource(container: String, name: String, target: MetricTarget)

ContainerResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source. Only one "target" type should be set.

ContainerResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source. Only one "target" type should be set.

Source:
ContainerResourceMetricSource.scala
final case class ContainerResourceMetricStatus(container: String, current: MetricValueStatus, name: String)

ContainerResourceMetricStatus indicates the current value of a resource metric known to Kubernetes, as specified in requests and limits, describing a single container in each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source.

ContainerResourceMetricStatus indicates the current value of a resource metric known to Kubernetes, as specified in requests and limits, describing a single container in each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source.

Source:
ContainerResourceMetricStatus.scala
final case class CrossVersionObjectReference(name: String)

CrossVersionObjectReference contains enough information to let you identify the referred resource.

CrossVersionObjectReference contains enough information to let you identify the referred resource.

Source:
CrossVersionObjectReference.scala
final case class ExternalMetricSource(metric: MetricIdentifier, target: MetricTarget)

ExternalMetricSource indicates how to scale on a metric not associated with any Kubernetes object (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).

ExternalMetricSource indicates how to scale on a metric not associated with any Kubernetes object (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).

Source:
ExternalMetricSource.scala
final case class ExternalMetricStatus(current: MetricValueStatus, metric: MetricIdentifier)

ExternalMetricStatus indicates the current value of a global metric not associated with any Kubernetes object.

ExternalMetricStatus indicates the current value of a global metric not associated with any Kubernetes object.

Source:
ExternalMetricStatus.scala
final case class HPAScalingPolicy(periodSeconds: Int, `type`: String, value: Int)

HPAScalingPolicy is a single policy which must hold true for a specified past interval.

HPAScalingPolicy is a single policy which must hold true for a specified past interval.

Source:
HPAScalingPolicy.scala
final case class HPAScalingRules(policies: Option[Seq[HPAScalingPolicy]], selectPolicy: Option[String], stabilizationWindowSeconds: Option[Int])

HPAScalingRules configures the scaling behavior for one direction. These Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.

HPAScalingRules configures the scaling behavior for one direction. These Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.

Source:
HPAScalingRules.scala

HorizontalPodAutoscaler is the configuration for a horizontal pod autoscaler, which automatically manages the replica count of any resource implementing the scale subresource based on the metrics specified.

HorizontalPodAutoscaler is the configuration for a horizontal pod autoscaler, which automatically manages the replica count of any resource implementing the scale subresource based on the metrics specified.

Source:
HorizontalPodAutoscaler.scala

HorizontalPodAutoscalerBehavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively).

HorizontalPodAutoscalerBehavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively).

Source:
HorizontalPodAutoscalerBehavior.scala
final case class HorizontalPodAutoscalerCondition(status: String, `type`: String, reason: Option[String], lastTransitionTime: Option[Time], message: Option[String])

HorizontalPodAutoscalerCondition describes the state of a HorizontalPodAutoscaler at a certain point.

HorizontalPodAutoscalerCondition describes the state of a HorizontalPodAutoscaler at a certain point.

Source:
HorizontalPodAutoscalerCondition.scala
final case class HorizontalPodAutoscalerList(items: Seq[HorizontalPodAutoscaler], metadata: Option[ListMeta]) extends KObject

HorizontalPodAutoscalerList is a list of horizontal pod autoscaler objects.

HorizontalPodAutoscalerList is a list of horizontal pod autoscaler objects.

Source:
HorizontalPodAutoscalerList.scala
final case class HorizontalPodAutoscalerSpec(maxReplicas: Int, scaleTargetRef: CrossVersionObjectReference, minReplicas: Option[Int], metrics: Option[Seq[MetricSpec]], behavior: Option[HorizontalPodAutoscalerBehavior])

HorizontalPodAutoscalerSpec describes the desired functionality of the HorizontalPodAutoscaler.

HorizontalPodAutoscalerSpec describes the desired functionality of the HorizontalPodAutoscaler.

Source:
HorizontalPodAutoscalerSpec.scala
final case class HorizontalPodAutoscalerStatus(desiredReplicas: Int, conditions: Option[Seq[HorizontalPodAutoscalerCondition]], currentMetrics: Option[Seq[MetricStatus]], lastScaleTime: Option[Time], observedGeneration: Option[Int], currentReplicas: Option[Int])

HorizontalPodAutoscalerStatus describes the current status of a horizontal pod autoscaler.

HorizontalPodAutoscalerStatus describes the current status of a horizontal pod autoscaler.

Source:
HorizontalPodAutoscalerStatus.scala
final case class MetricIdentifier(name: String, selector: Option[LabelSelector])

MetricIdentifier defines the name and optionally selector for a metric

MetricIdentifier defines the name and optionally selector for a metric

Source:
MetricIdentifier.scala
final case class MetricSpec(`type`: String, `object`: Option[ObjectMetricSource], external: Option[ExternalMetricSource], containerResource: Option[ContainerResourceMetricSource], resource: Option[ResourceMetricSource], pods: Option[PodsMetricSource])

MetricSpec specifies how to scale based on a single metric (only type and one other matching field should be set at once).

MetricSpec specifies how to scale based on a single metric (only type and one other matching field should be set at once).

Source:
MetricSpec.scala
final case class MetricStatus(`type`: String, `object`: Option[ObjectMetricStatus], external: Option[ExternalMetricStatus], containerResource: Option[ContainerResourceMetricStatus], resource: Option[ResourceMetricStatus], pods: Option[PodsMetricStatus])

MetricStatus describes the last-read state of a single metric.

MetricStatus describes the last-read state of a single metric.

Source:
MetricStatus.scala
final case class MetricTarget(`type`: String, averageUtilization: Option[Int], averageValue: Option[Quantity], value: Option[Quantity])

MetricTarget defines the target value, average value, or average utilization of a specific metric

MetricTarget defines the target value, average value, or average utilization of a specific metric

Source:
MetricTarget.scala
final case class MetricValueStatus(averageUtilization: Option[Int], averageValue: Option[Quantity], value: Option[Quantity])

MetricValueStatus holds the current value for a metric

MetricValueStatus holds the current value for a metric

Source:
MetricValueStatus.scala
final case class ObjectMetricSource(describedObject: CrossVersionObjectReference, metric: MetricIdentifier, target: MetricTarget)

ObjectMetricSource indicates how to scale on a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).

ObjectMetricSource indicates how to scale on a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).

Source:
ObjectMetricSource.scala
final case class ObjectMetricStatus(current: MetricValueStatus, describedObject: CrossVersionObjectReference, metric: MetricIdentifier)

ObjectMetricStatus indicates the current value of a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).

ObjectMetricStatus indicates the current value of a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).

Source:
ObjectMetricStatus.scala
final case class PodsMetricSource(metric: MetricIdentifier, target: MetricTarget)

PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.

PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.

Source:
PodsMetricSource.scala
final case class PodsMetricStatus(current: MetricValueStatus, metric: MetricIdentifier)

PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second).

PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second).

Source:
PodsMetricStatus.scala
final case class ResourceMetricSource(name: String, target: MetricTarget)

ResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source. Only one "target" type should be set.

ResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source. Only one "target" type should be set.

Source:
ResourceMetricSource.scala
final case class ResourceMetricStatus(current: MetricValueStatus, name: String)

ResourceMetricStatus indicates the current value of a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source.

ResourceMetricStatus indicates the current value of a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source.

Source:
ResourceMetricStatus.scala