ManagedClusterPropertiesAutoScalerProfile Class

  • java.lang.Object
    • com.azure.resourcemanager.containerservice.models.ManagedClusterPropertiesAutoScalerProfile

Implements

public final class ManagedClusterPropertiesAutoScalerProfile
implements JsonSerializable<ManagedClusterPropertiesAutoScalerProfile>

Parameters to be applied to the cluster-autoscaler when enabled.

Constructor Summary

Constructor Description
ManagedClusterPropertiesAutoScalerProfile()

Creates an instance of ManagedClusterPropertiesAutoScalerProfile class.

Method Summary

Modifier and Type Method and Description
String balanceSimilarNodeGroups()

Get the balanceSimilarNodeGroups property: Valid values are 'true' and 'false'.

Boolean daemonsetEvictionForEmptyNodes()

Get the daemonsetEvictionForEmptyNodes property: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node.

Boolean daemonsetEvictionForOccupiedNodes()

Get the daemonsetEvictionForOccupiedNodes property: If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node.

Expander expander()

Get the expander property: If not specified, the default is 'random'.

static ManagedClusterPropertiesAutoScalerProfile fromJson(JsonReader jsonReader)

Reads an instance of ManagedClusterPropertiesAutoScalerProfile from the JsonReader.

Boolean ignoreDaemonsetsUtilization()

Get the ignoreDaemonsetsUtilization property: If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.

String maxEmptyBulkDelete()

Get the maxEmptyBulkDelete property: The default is 10.

String maxGracefulTerminationSec()

Get the maxGracefulTerminationSec property: The default is 600.

String maxNodeProvisionTime()

Get the maxNodeProvisionTime property: The default is '15m'.

String maxTotalUnreadyPercentage()

Get the maxTotalUnreadyPercentage property: The default is 45.

String newPodScaleUpDelay()

Get the newPodScaleUpDelay property: 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.

String okTotalUnreadyCount()

Get the okTotalUnreadyCount property: This must be an integer.

String scaleDownDelayAfterAdd()

Get the scaleDownDelayAfterAdd property: The default is '10m'.

String scaleDownDelayAfterDelete()

Get the scaleDownDelayAfterDelete property: The default is the scan-interval.

String scaleDownDelayAfterFailure()

Get the scaleDownDelayAfterFailure property: The default is '3m'.

String scaleDownUnneededTime()

Get the scaleDownUnneededTime property: The default is '10m'.

String scaleDownUnreadyTime()

Get the scaleDownUnreadyTime property: The default is '20m'.

String scaleDownUtilizationThreshold()

Get the scaleDownUtilizationThreshold property: The default is '0.5'.

String scanInterval()

Get the scanInterval property: The default is '10'.

String skipNodesWithLocalStorage()

Get the skipNodesWithLocalStorage property: The default is true.

String skipNodesWithSystemPods()

Get the skipNodesWithSystemPods property: The default is true.

JsonWriter toJson(JsonWriter jsonWriter)
void validate()

Validates the instance.

ManagedClusterPropertiesAutoScalerProfile withBalanceSimilarNodeGroups(String balanceSimilarNodeGroups)

Set the balanceSimilarNodeGroups property: Valid values are 'true' and 'false'.

ManagedClusterPropertiesAutoScalerProfile withDaemonsetEvictionForEmptyNodes(Boolean daemonsetEvictionForEmptyNodes)

Set the daemonsetEvictionForEmptyNodes property: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node.

ManagedClusterPropertiesAutoScalerProfile withDaemonsetEvictionForOccupiedNodes(Boolean daemonsetEvictionForOccupiedNodes)

Set the daemonsetEvictionForOccupiedNodes property: If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node.

ManagedClusterPropertiesAutoScalerProfile withExpander(Expander expander)

Set the expander property: If not specified, the default is 'random'.

ManagedClusterPropertiesAutoScalerProfile withIgnoreDaemonsetsUtilization(Boolean ignoreDaemonsetsUtilization)

Set the ignoreDaemonsetsUtilization property: If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.

ManagedClusterPropertiesAutoScalerProfile withMaxEmptyBulkDelete(String maxEmptyBulkDelete)

Set the maxEmptyBulkDelete property: The default is 10.

ManagedClusterPropertiesAutoScalerProfile withMaxGracefulTerminationSec(String maxGracefulTerminationSec)

Set the maxGracefulTerminationSec property: The default is 600.

ManagedClusterPropertiesAutoScalerProfile withMaxNodeProvisionTime(String maxNodeProvisionTime)

Set the maxNodeProvisionTime property: The default is '15m'.

ManagedClusterPropertiesAutoScalerProfile withMaxTotalUnreadyPercentage(String maxTotalUnreadyPercentage)

Set the maxTotalUnreadyPercentage property: The default is 45.

ManagedClusterPropertiesAutoScalerProfile withNewPodScaleUpDelay(String newPodScaleUpDelay)

Set the newPodScaleUpDelay property: 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.

ManagedClusterPropertiesAutoScalerProfile withOkTotalUnreadyCount(String okTotalUnreadyCount)

Set the okTotalUnreadyCount property: This must be an integer.

ManagedClusterPropertiesAutoScalerProfile withScaleDownDelayAfterAdd(String scaleDownDelayAfterAdd)

Set the scaleDownDelayAfterAdd property: The default is '10m'.

ManagedClusterPropertiesAutoScalerProfile withScaleDownDelayAfterDelete(String scaleDownDelayAfterDelete)

Set the scaleDownDelayAfterDelete property: The default is the scan-interval.

ManagedClusterPropertiesAutoScalerProfile withScaleDownDelayAfterFailure(String scaleDownDelayAfterFailure)

Set the scaleDownDelayAfterFailure property: The default is '3m'.

ManagedClusterPropertiesAutoScalerProfile withScaleDownUnneededTime(String scaleDownUnneededTime)

Set the scaleDownUnneededTime property: The default is '10m'.

ManagedClusterPropertiesAutoScalerProfile withScaleDownUnreadyTime(String scaleDownUnreadyTime)

Set the scaleDownUnreadyTime property: The default is '20m'.

ManagedClusterPropertiesAutoScalerProfile withScaleDownUtilizationThreshold(String scaleDownUtilizationThreshold)

Set the scaleDownUtilizationThreshold property: The default is '0.5'.

ManagedClusterPropertiesAutoScalerProfile withScanInterval(String scanInterval)

Set the scanInterval property: The default is '10'.

ManagedClusterPropertiesAutoScalerProfile withSkipNodesWithLocalStorage(String skipNodesWithLocalStorage)

Set the skipNodesWithLocalStorage property: The default is true.

ManagedClusterPropertiesAutoScalerProfile withSkipNodesWithSystemPods(String skipNodesWithSystemPods)

Set the skipNodesWithSystemPods property: The default is true.

Methods inherited from java.lang.Object

Constructor Details

ManagedClusterPropertiesAutoScalerProfile

public ManagedClusterPropertiesAutoScalerProfile()

Creates an instance of ManagedClusterPropertiesAutoScalerProfile class.

Method Details

balanceSimilarNodeGroups

public String balanceSimilarNodeGroups()

Get the balanceSimilarNodeGroups property: Valid values are 'true' and 'false'.

Returns:

the balanceSimilarNodeGroups value.

daemonsetEvictionForEmptyNodes

public Boolean daemonsetEvictionForEmptyNodes()

Get the daemonsetEvictionForEmptyNodes property: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.

Returns:

the daemonsetEvictionForEmptyNodes value.

daemonsetEvictionForOccupiedNodes

public Boolean daemonsetEvictionForOccupiedNodes()

Get the daemonsetEvictionForOccupiedNodes property: If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.

Returns:

the daemonsetEvictionForOccupiedNodes value.

expander

public Expander expander()

Get the expander property: If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md\#what-are-expanders) for more information.

Returns:

the expander value.

fromJson

public static ManagedClusterPropertiesAutoScalerProfile fromJson(JsonReader jsonReader)

Reads an instance of ManagedClusterPropertiesAutoScalerProfile from the JsonReader.

Parameters:

jsonReader - The JsonReader being read.

Returns:

An instance of ManagedClusterPropertiesAutoScalerProfile if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.

Throws:

IOException

- If an error occurs while reading the ManagedClusterPropertiesAutoScalerProfile.

ignoreDaemonsetsUtilization

public Boolean ignoreDaemonsetsUtilization()

Get the ignoreDaemonsetsUtilization property: If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.

Returns:

the ignoreDaemonsetsUtilization value.

maxEmptyBulkDelete

public String maxEmptyBulkDelete()

Get the maxEmptyBulkDelete property: The default is 10.

Returns:

the maxEmptyBulkDelete value.

maxGracefulTerminationSec

public String maxGracefulTerminationSec()

Get the maxGracefulTerminationSec property: The default is 600.

Returns:

the maxGracefulTerminationSec value.

maxNodeProvisionTime

public String maxNodeProvisionTime()

Get the maxNodeProvisionTime property: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.

Returns:

the maxNodeProvisionTime value.

maxTotalUnreadyPercentage

public String maxTotalUnreadyPercentage()

Get the maxTotalUnreadyPercentage property: The default is 45. The maximum is 100 and the minimum is 0.

Returns:

the maxTotalUnreadyPercentage value.

newPodScaleUpDelay

public String newPodScaleUpDelay()

Get the newPodScaleUpDelay property: 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).

Returns:

the newPodScaleUpDelay value.

okTotalUnreadyCount

public String okTotalUnreadyCount()

Get the okTotalUnreadyCount property: This must be an integer. The default is 3.

Returns:

the okTotalUnreadyCount value.

scaleDownDelayAfterAdd

public String scaleDownDelayAfterAdd()

Get the scaleDownDelayAfterAdd property: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.

Returns:

the scaleDownDelayAfterAdd value.

scaleDownDelayAfterDelete

public String scaleDownDelayAfterDelete()

Get the scaleDownDelayAfterDelete property: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.

Returns:

the scaleDownDelayAfterDelete value.

scaleDownDelayAfterFailure

public String scaleDownDelayAfterFailure()

Get the scaleDownDelayAfterFailure property: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.

Returns:

the scaleDownDelayAfterFailure value.

scaleDownUnneededTime

public String scaleDownUnneededTime()

Get the scaleDownUnneededTime property: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.

Returns:

the scaleDownUnneededTime value.

scaleDownUnreadyTime

public String scaleDownUnreadyTime()

Get the scaleDownUnreadyTime property: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.

Returns:

the scaleDownUnreadyTime value.

scaleDownUtilizationThreshold

public String scaleDownUtilizationThreshold()

Get the scaleDownUtilizationThreshold property: The default is '0.5'.

Returns:

the scaleDownUtilizationThreshold value.

scanInterval

public String scanInterval()

Get the scanInterval property: The default is '10'. Values must be an integer number of seconds.

Returns:

the scanInterval value.

skipNodesWithLocalStorage

public String skipNodesWithLocalStorage()

Get the skipNodesWithLocalStorage property: The default is true.

Returns:

the skipNodesWithLocalStorage value.

skipNodesWithSystemPods

public String skipNodesWithSystemPods()

Get the skipNodesWithSystemPods property: The default is true.

Returns:

the skipNodesWithSystemPods value.

toJson

public JsonWriter toJson(JsonWriter jsonWriter)

Parameters:

jsonWriter

Throws:

validate

public void validate()

Validates the instance.

withBalanceSimilarNodeGroups

public ManagedClusterPropertiesAutoScalerProfile withBalanceSimilarNodeGroups(String balanceSimilarNodeGroups)

Set the balanceSimilarNodeGroups property: Valid values are 'true' and 'false'.

Parameters:

balanceSimilarNodeGroups - the balanceSimilarNodeGroups value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withDaemonsetEvictionForEmptyNodes

public ManagedClusterPropertiesAutoScalerProfile withDaemonsetEvictionForEmptyNodes(Boolean daemonsetEvictionForEmptyNodes)

Set the daemonsetEvictionForEmptyNodes property: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.

Parameters:

daemonsetEvictionForEmptyNodes - the daemonsetEvictionForEmptyNodes value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withDaemonsetEvictionForOccupiedNodes

public ManagedClusterPropertiesAutoScalerProfile withDaemonsetEvictionForOccupiedNodes(Boolean daemonsetEvictionForOccupiedNodes)

Set the daemonsetEvictionForOccupiedNodes property: If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.

Parameters:

daemonsetEvictionForOccupiedNodes - the daemonsetEvictionForOccupiedNodes value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withExpander

public ManagedClusterPropertiesAutoScalerProfile withExpander(Expander expander)

Set the expander property: If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md\#what-are-expanders) for more information.

Parameters:

expander - the expander value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withIgnoreDaemonsetsUtilization

public ManagedClusterPropertiesAutoScalerProfile withIgnoreDaemonsetsUtilization(Boolean ignoreDaemonsetsUtilization)

Set the ignoreDaemonsetsUtilization property: If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.

Parameters:

ignoreDaemonsetsUtilization - the ignoreDaemonsetsUtilization value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withMaxEmptyBulkDelete

public ManagedClusterPropertiesAutoScalerProfile withMaxEmptyBulkDelete(String maxEmptyBulkDelete)

Set the maxEmptyBulkDelete property: The default is 10.

Parameters:

maxEmptyBulkDelete - the maxEmptyBulkDelete value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withMaxGracefulTerminationSec

public ManagedClusterPropertiesAutoScalerProfile withMaxGracefulTerminationSec(String maxGracefulTerminationSec)

Set the maxGracefulTerminationSec property: The default is 600.

Parameters:

maxGracefulTerminationSec - the maxGracefulTerminationSec value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withMaxNodeProvisionTime

public ManagedClusterPropertiesAutoScalerProfile withMaxNodeProvisionTime(String maxNodeProvisionTime)

Set the maxNodeProvisionTime property: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.

Parameters:

maxNodeProvisionTime - the maxNodeProvisionTime value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withMaxTotalUnreadyPercentage

public ManagedClusterPropertiesAutoScalerProfile withMaxTotalUnreadyPercentage(String maxTotalUnreadyPercentage)

Set the maxTotalUnreadyPercentage property: The default is 45. The maximum is 100 and the minimum is 0.

Parameters:

maxTotalUnreadyPercentage - the maxTotalUnreadyPercentage value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withNewPodScaleUpDelay

public ManagedClusterPropertiesAutoScalerProfile withNewPodScaleUpDelay(String newPodScaleUpDelay)

Set the newPodScaleUpDelay property: 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. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).

Parameters:

newPodScaleUpDelay - the newPodScaleUpDelay value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withOkTotalUnreadyCount

public ManagedClusterPropertiesAutoScalerProfile withOkTotalUnreadyCount(String okTotalUnreadyCount)

Set the okTotalUnreadyCount property: This must be an integer. The default is 3.

Parameters:

okTotalUnreadyCount - the okTotalUnreadyCount value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withScaleDownDelayAfterAdd

public ManagedClusterPropertiesAutoScalerProfile withScaleDownDelayAfterAdd(String scaleDownDelayAfterAdd)

Set the scaleDownDelayAfterAdd property: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.

Parameters:

scaleDownDelayAfterAdd - the scaleDownDelayAfterAdd value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withScaleDownDelayAfterDelete

public ManagedClusterPropertiesAutoScalerProfile withScaleDownDelayAfterDelete(String scaleDownDelayAfterDelete)

Set the scaleDownDelayAfterDelete property: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.

Parameters:

scaleDownDelayAfterDelete - the scaleDownDelayAfterDelete value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withScaleDownDelayAfterFailure

public ManagedClusterPropertiesAutoScalerProfile withScaleDownDelayAfterFailure(String scaleDownDelayAfterFailure)

Set the scaleDownDelayAfterFailure property: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.

Parameters:

scaleDownDelayAfterFailure - the scaleDownDelayAfterFailure value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withScaleDownUnneededTime

public ManagedClusterPropertiesAutoScalerProfile withScaleDownUnneededTime(String scaleDownUnneededTime)

Set the scaleDownUnneededTime property: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.

Parameters:

scaleDownUnneededTime - the scaleDownUnneededTime value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withScaleDownUnreadyTime

public ManagedClusterPropertiesAutoScalerProfile withScaleDownUnreadyTime(String scaleDownUnreadyTime)

Set the scaleDownUnreadyTime property: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.

Parameters:

scaleDownUnreadyTime - the scaleDownUnreadyTime value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withScaleDownUtilizationThreshold

public ManagedClusterPropertiesAutoScalerProfile withScaleDownUtilizationThreshold(String scaleDownUtilizationThreshold)

Set the scaleDownUtilizationThreshold property: The default is '0.5'.

Parameters:

scaleDownUtilizationThreshold - the scaleDownUtilizationThreshold value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withScanInterval

public ManagedClusterPropertiesAutoScalerProfile withScanInterval(String scanInterval)

Set the scanInterval property: The default is '10'. Values must be an integer number of seconds.

Parameters:

scanInterval - the scanInterval value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withSkipNodesWithLocalStorage

public ManagedClusterPropertiesAutoScalerProfile withSkipNodesWithLocalStorage(String skipNodesWithLocalStorage)

Set the skipNodesWithLocalStorage property: The default is true.

Parameters:

skipNodesWithLocalStorage - the skipNodesWithLocalStorage value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

withSkipNodesWithSystemPods

public ManagedClusterPropertiesAutoScalerProfile withSkipNodesWithSystemPods(String skipNodesWithSystemPods)

Set the skipNodesWithSystemPods property: The default is true.

Parameters:

skipNodesWithSystemPods - the skipNodesWithSystemPods value to set.

Returns:

the ManagedClusterPropertiesAutoScalerProfile object itself.

Applies to