docs: clarifies scale down operation by CA in FAQ.md and main.go
This commit clarifies the condition when a node can be scaled down by the Cluster Autoscaler (CA). The changes updates the section and flag description in the FAQ.md and main.go files.
This commit is contained in:
		
							parent
							
								
									6a7e6a23f4
								
							
						
					
					
						commit
						6ec725638c
					
				| 
						 | 
				
			
			@ -590,7 +590,7 @@ any nodes left unregistered after this time.
 | 
			
		|||
Every 10 seconds (configurable by `--scan-interval` flag), if no scale-up is
 | 
			
		||||
needed, Cluster Autoscaler checks which nodes are unneeded. A node is considered for removal when **all** below conditions hold:
 | 
			
		||||
 | 
			
		||||
* The sum of cpu and memory requests of all pods running on this node ([DaemonSet pods](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) and [Mirror pods](https://kubernetes.io/docs/tasks/configure-pod-container/static-pod/) are included by default but this is configurable with `--ignore-daemonsets-utilization` and `--ignore-mirror-pods-utilization` flags) is smaller
 | 
			
		||||
* The sum of cpu requests and sum of memory requests of all pods running on this node ([DaemonSet pods](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) and [Mirror pods](https://kubernetes.io/docs/tasks/configure-pod-container/static-pod/) are included by default but this is configurable with `--ignore-daemonsets-utilization` and `--ignore-mirror-pods-utilization` flags) are smaller
 | 
			
		||||
  than 50% of the node's allocatable. (Before 1.1.0, node capacity was used
 | 
			
		||||
  instead of allocatable.) Utilization threshold can be configured using
 | 
			
		||||
  `--scale-down-utilization-threshold` flag.
 | 
			
		||||
| 
						 | 
				
			
			@ -770,7 +770,7 @@ The following startup parameters are supported for cluster autoscaler:
 | 
			
		|||
| `scale-down-delay-after-failure` | How long after scale down failure that scale down evaluation resumes | 3 minutes
 | 
			
		||||
| `scale-down-unneeded-time` | How long a node should be unneeded before it is eligible for scale down | 10 minutes
 | 
			
		||||
| `scale-down-unready-time` | How long an unready node should be unneeded before it is eligible for scale down | 20 minutes
 | 
			
		||||
| `scale-down-utilization-threshold` | Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down | 0.5
 | 
			
		||||
| `scale-down-utilization-threshold` | The maximum value between the sum of cpu requests and sum of memory requests of all pods running on the node divided by node's corresponding allocatable resource, below which a node can be considered for scale down. This value is a floating point number that can range between zero and one. | 0.5
 | 
			
		||||
| `scale-down-non-empty-candidates-count` | Maximum number of non empty nodes considered in one iteration as candidates for scale down with drain<br>Lower value means better CA responsiveness but possible slower scale down latency<br>Higher value can affect CA performance with big clusters (hundreds of nodes)<br>Set to non positive value to turn this heuristic off - CA will not limit the number of nodes it considers." | 30
 | 
			
		||||
| `scale-down-candidates-pool-ratio` | A ratio of nodes that are considered as additional non empty candidates for<br>scale down when some candidates from previous iteration are no longer valid<br>Lower value means better CA responsiveness but possible slower scale down latency<br>Higher value can affect CA performance with big clusters (hundreds of nodes)<br>Set to 1.0 to turn this heuristics off - CA will take all nodes as additional candidates.  | 0.1
 | 
			
		||||
| `scale-down-candidates-pool-min-count` | Minimum number of nodes that are considered as additional non empty candidates<br>for scale down when some candidates from previous iteration are no longer valid.<br>When calculating the pool size for additional candidates we take<br>`max(#nodes * scale-down-candidates-pool-ratio, scale-down-candidates-pool-min-count)` | 50
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -121,7 +121,7 @@ var (
 | 
			
		|||
	scaleDownUnreadyTime = flag.Duration("scale-down-unready-time", config.DefaultScaleDownUnreadyTime,
 | 
			
		||||
		"How long an unready node should be unneeded before it is eligible for scale down")
 | 
			
		||||
	scaleDownUtilizationThreshold = flag.Float64("scale-down-utilization-threshold", config.DefaultScaleDownUtilizationThreshold,
 | 
			
		||||
		"Sum of cpu or memory of all pods running on the node divided by node's corresponding allocatable resource, below which a node can be considered for scale down")
 | 
			
		||||
		"The maximum value between the sum of cpu requests and sum of memory requests of all pods running on the node divided by node's corresponding allocatable resource, below which a node can be considered for scale down")
 | 
			
		||||
	scaleDownGpuUtilizationThreshold = flag.Float64("scale-down-gpu-utilization-threshold", config.DefaultScaleDownGpuUtilizationThreshold,
 | 
			
		||||
		"Sum of gpu requests of all pods running on the node divided by node's allocatable resource, below which a node can be considered for scale down."+
 | 
			
		||||
			"Utilization calculation only cares about gpu resource for accelerator node. cpu and memory utilization will be ignored.")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue