AutoscalingConfigArgs

data class AutoscalingConfigArgs(val clusterId: Output<String>? = null, val coolDownDuration: Output<String>? = null, val daemonsetEvictionForNodes: Output<Boolean>? = null, val expander: Output<String>? = null, val gpuUtilizationThreshold: Output<String>? = null, val maxGracefulTerminationSec: Output<Int>? = null, val minReplicaCount: Output<Int>? = null, val recycleNodeDeletionEnabled: Output<Boolean>? = null, val scaleDownEnabled: Output<Boolean>? = null, val scaleUpFromZero: Output<Boolean>? = null, val scalerType: Output<String>? = null, val scanInterval: Output<String>? = null, val skipNodesWithLocalStorage: Output<Boolean>? = null, val skipNodesWithSystemPods: Output<Boolean>? = null, val unneededDuration: Output<String>? = null, val utilizationThreshold: Output<String>? = null) : ConvertibleToJava<AutoscalingConfigArgs>

This resource will help you configure auto scaling for the kubernetes cluster, see What is autoscaling config.

NOTE: Available since v1.127.0. NOTE: From version 1.164.0, support for specifying whether to allow the scale-in of nodes by parameter scale_down_enabled. NOTE: From version 1.164.0, support for selecting the policy for selecting which node pool to scale by parameter expander. NOTE: From version 1.237.0, support for selecting the type of autoscaler by parameter scaler_type.

Constructors

Link copied to clipboard
constructor(clusterId: Output<String>? = null, coolDownDuration: Output<String>? = null, daemonsetEvictionForNodes: Output<Boolean>? = null, expander: Output<String>? = null, gpuUtilizationThreshold: Output<String>? = null, maxGracefulTerminationSec: Output<Int>? = null, minReplicaCount: Output<Int>? = null, recycleNodeDeletionEnabled: Output<Boolean>? = null, scaleDownEnabled: Output<Boolean>? = null, scaleUpFromZero: Output<Boolean>? = null, scalerType: Output<String>? = null, scanInterval: Output<String>? = null, skipNodesWithLocalStorage: Output<Boolean>? = null, skipNodesWithSystemPods: Output<Boolean>? = null, unneededDuration: Output<String>? = null, utilizationThreshold: Output<String>? = null)

Properties

Link copied to clipboard
val clusterId: Output<String>? = null

The id of kubernetes cluster.

Link copied to clipboard
val coolDownDuration: Output<String>? = null

The cool down duration. Default is 10m. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.

Link copied to clipboard
val daemonsetEvictionForNodes: Output<Boolean>? = null

If true DaemonSet pods will be terminated from nodes. Default is false.

Link copied to clipboard
val expander: Output<String>? = null

The policy for selecting which node pool to scale. Valid values: least-waste, random, priority. For more information on these policies, see Configure auto scaling

Link copied to clipboard
val gpuUtilizationThreshold: Output<String>? = null

The scale-in threshold for GPU instance. Default is 0.5.

Link copied to clipboard
val maxGracefulTerminationSec: Output<Int>? = null

Maximum number of seconds CA waits for pod termination when trying to scale down a node. Default is 14400.

Link copied to clipboard
val minReplicaCount: Output<Int>? = null

Minimum number of replicas that a replica set or replication controller should have to allow their pods deletion in scale down. Default is 0.

Link copied to clipboard
val recycleNodeDeletionEnabled: Output<Boolean>? = null

Should CA delete the K8s node object when recycle node has scaled down successfully. Default is false.

Link copied to clipboard
val scaleDownEnabled: Output<Boolean>? = null

Specify whether to allow the scale-in of nodes. Default is true.

Link copied to clipboard
val scalerType: Output<String>? = null

The type of autoscaler. Valid values: cluster-autoscaler, goatscaler. For cluster version 1.22 and below, we only support cluster-autoscaler.

Link copied to clipboard
val scaleUpFromZero: Output<Boolean>? = null

Should CA scale up when there 0 ready nodes. Default is true.

Link copied to clipboard
val scanInterval: Output<String>? = null

The interval at which the cluster is reevaluated for scaling. Default is 30s.

Link copied to clipboard
val skipNodesWithLocalStorage: Output<Boolean>? = null

If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath. Default is false.

Link copied to clipboard
val skipNodesWithSystemPods: Output<Boolean>? = null

If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Default is true.

Link copied to clipboard
val unneededDuration: Output<String>? = null

The unneeded duration. Default is 10m.

Link copied to clipboard
val utilizationThreshold: Output<String>? = null

The scale-in threshold. Default is 0.5.

Functions

Link copied to clipboard
open override fun toJava(): AutoscalingConfigArgs