KubernetesClusterAutoScalerProfileArgs

data class KubernetesClusterAutoScalerProfileArgs(val balanceSimilarNodeGroups: Output<Boolean>? = null, val daemonsetEvictionForEmptyNodesEnabled: Output<Boolean>? = null, val daemonsetEvictionForOccupiedNodesEnabled: Output<Boolean>? = null, val emptyBulkDeleteMax: Output<String>? = null, val expander: Output<String>? = null, val ignoreDaemonsetsUtilizationEnabled: Output<Boolean>? = null, val maxGracefulTerminationSec: Output<String>? = null, val maxNodeProvisioningTime: Output<String>? = null, val maxUnreadyNodes: Output<Int>? = null, val maxUnreadyPercentage: Output<Double>? = null, val newPodScaleUpDelay: Output<String>? = null, val scaleDownDelayAfterAdd: Output<String>? = null, val scaleDownDelayAfterDelete: Output<String>? = null, val scaleDownDelayAfterFailure: Output<String>? = null, val scaleDownUnneeded: Output<String>? = null, val scaleDownUnready: Output<String>? = null, val scaleDownUtilizationThreshold: Output<String>? = null, val scanInterval: Output<String>? = null, val skipNodesWithLocalStorage: Output<Boolean>? = null, val skipNodesWithSystemPods: Output<Boolean>? = null) : ConvertibleToJava<KubernetesClusterAutoScalerProfileArgs>

Constructors

Link copied to clipboard
constructor(balanceSimilarNodeGroups: Output<Boolean>? = null, daemonsetEvictionForEmptyNodesEnabled: Output<Boolean>? = null, daemonsetEvictionForOccupiedNodesEnabled: Output<Boolean>? = null, emptyBulkDeleteMax: Output<String>? = null, expander: Output<String>? = null, ignoreDaemonsetsUtilizationEnabled: Output<Boolean>? = null, maxGracefulTerminationSec: Output<String>? = null, maxNodeProvisioningTime: Output<String>? = null, maxUnreadyNodes: Output<Int>? = null, maxUnreadyPercentage: Output<Double>? = null, newPodScaleUpDelay: Output<String>? = null, scaleDownDelayAfterAdd: Output<String>? = null, scaleDownDelayAfterDelete: Output<String>? = null, scaleDownDelayAfterFailure: Output<String>? = null, scaleDownUnneeded: Output<String>? = null, scaleDownUnready: Output<String>? = null, scaleDownUtilizationThreshold: Output<String>? = null, scanInterval: Output<String>? = null, skipNodesWithLocalStorage: Output<Boolean>? = null, skipNodesWithSystemPods: Output<Boolean>? = null)

Properties

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

Detect similar node groups and balance the number of nodes between them. Defaults to false.

Link copied to clipboard

Whether DaemonSet pods will be gracefully terminated from empty nodes. Defaults to false.

Link copied to clipboard

Whether DaemonSet pods will be gracefully terminated from non-empty nodes. Defaults to true.

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

Maximum number of empty nodes that can be deleted at the same time. Defaults to 10.

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

Expander to use. Possible values are least-waste, priority, most-pods and random. Defaults to random.

Link copied to clipboard

Whether DaemonSet pods will be ignored when calculating resource utilization for scale down. Defaults to false.

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

Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.

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

Maximum time the autoscaler waits for a node to be provisioned. Defaults to 15m.

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

Maximum Number of allowed unready nodes. Defaults to 3.

Link copied to clipboard
val maxUnreadyPercentage: Output<Double>? = null

Maximum percentage of unready nodes the cluster autoscaler will stop if the percentage is exceeded. Defaults to 45.

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

For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. Defaults to 10s.

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

How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.

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

How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.

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

How long after scale down failure that scale down evaluation resumes. Defaults to 3m.

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

How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.

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

How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.

Link copied to clipboard

Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.

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

How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.

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

If true cluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults to true.

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). Defaults to true.

Functions

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