Cluster autoscaler resource definition
This ClusterAutoscaler resource definition shows the parameters and sample values for the cluster autoscaler.
|
|
When you change the configuration of an existing cluster autoscaler, it restarts. |
apiVersion: "autoscaling.openshift.io/v1"
kind: "ClusterAutoscaler"
metadata:
name: "default"
spec:
podPriorityThreshold: -10
resourceLimits:
maxNodesTotal: 24
cores:
min: 8
max: 128
memory:
min: 4
max: 256
gpus:
- type: <gpu_type>
min: 0
max: 16
logVerbosity: 4
scaleDown:
cordonNodeBeforeTerminating: Enabled
enabled: true
delayAfterAdd: 10m
delayAfterDelete: 5m
delayAfterFailure: 30s
unneededTime: 5m
utilizationThreshold: "0.4"
scaleUp:
newPodScaleUpDelay: "10s"
expanders: ["Random"]
| Parameter | Description |
|---|---|
|
Specify the priority that a pod must exceed to cause the cluster autoscaler to deploy additional nodes. Enter a 32-bit integer value. The |
|
Specify the maximum number of nodes to deploy. This value is the total number of machines that are deployed in your cluster, not just the ones that the autoscaler controls. Ensure that this value is large enough to account for all of your control plane and compute machines and the total number of replicas that you specify in your |
|
Specify the minimum number of cores to deploy in the cluster. |
|
Specify the maximum number of cores to deploy in the cluster. |
|
Specify the minimum amount of memory, in GiB, in the cluster. |
|
Specify the maximum amount of memory, in GiB, in the cluster. |
|
Optional: To configure the cluster autoscaler to deploy GPU-enabled nodes, specify a |
|
Specify the minimum number of GPUs of the specified type to deploy in the cluster. |
|
Specify the maximum number of GPUs of the specified type to deploy in the cluster. |
|
Specify the logging verbosity level between
If you do not specify a value, the default value of |
|
In this section, you can specify the period to wait for each action by using any valid ParseDuration interval, including |
|
Optional: Specify whether the cluster autoscaler should cordon a node before removing that node by using one of the following values:
|
|
Specify whether the cluster autoscaler can remove unnecessary nodes. |
|
Optional: Specify the period to wait before deleting a node after a node has recently been added. If you do not specify a value, the default value of |
|
Optional: Specify the period to wait before deleting a node after a node has recently been deleted. If you do not specify a value, the default value of |
|
Optional: Specify the period to wait before deleting a node after a scale down failure occurred. If you do not specify a value, the default value of |
|
Optional: Specify a period of time before an unnecessary node is eligible for deletion. If you do not specify a value, the default value of |
|
Optional: Specify the node utilization level. Nodes below this utilization level are eligible for deletion. The node utilization level is the sum of the requested resources divided by the allocated resources for the node, and must be a value greater than |
|
In this section, you can specify the period to wait before recognizing newly pending pods by using any valid ParseDuration interval, including |
|
Optional: Specify the period to ignore a new unschedulable pod before adding a new node. If you do not specify a value, the default value of |
|
Optional: Specify any expanders that you want the cluster autoscaler to use. The following values are valid:
If you do not specify a value, the default value of You can specify multiple expanders by using the In the |
|
|
When performing a scaling operation, the cluster autoscaler remains within the ranges set in the The minimum and maximum CPUs, memory, and GPU values are determined by calculating those resources on all nodes in the cluster, even if the cluster autoscaler does not manage the nodes. For example, the control plane nodes are considered in the total memory in the cluster, even though the cluster autoscaler does not manage the control plane nodes. |