doctl kubernetes cluster update
Generated on 10 Jun 2025
from doctl
version
v1.130.0
Usage
doctl kubernetes cluster update <id|name> [flags]
Aliases
u
Description
Updates the configuration values for a Kubernetes cluster. The cluster must be referred to by its name or ID. Use the doctl kubernetes cluster list
command to get a list of clusters on your account.
Example
The following example updates a cluster named example-cluster
to enable automatic upgrades and sets the maintenance window to saturday=02:00
:
doctl kubernetes cluster update example-cluster --auto-upgrade --maintenance-window saturday=02:00
Flags
Option | Description |
---|---|
--auto-upgrade |
Indicates whether the cluster automatically upgrades to new patch releases during its maintenance window. To enable automatic upgrade, use --auto-upgrade=true .Default: false |
--cluster-name |
Specifies a new cluster name |
--control-plane-firewall-allowed-addresses |
A comma-separated list of allowed addresses that can access the control plane. |
--enable-control-plane-firewall |
Creates the cluster with control plane firewall enabled. Defaults to false. To enable the control plane firewall, supply –enable-control-plane-firewall=true. Default: false |
--enable-routing-agent |
Creates the cluster with routing-agent enabled. Defaults to false. To enable routing-agent, supply –routing-agent=true. Default: false |
--expanders |
Customizes expanders used by cluster-autoscaler. The autoscaler will apply each expander from the provided comma-separated list to narrow down the selection of node types created to scale up, until either a single node type is left, or the list of expanders is exhausted. Available expanders: random, least-waste, priority. If this value is empty, autoscaler will use its default expanders. To unset expander customization, pass an empty string. |
--ha |
Enables the highly-available control plane for the cluster Default: false |
--help , -h |
Help for this command |
--maintenance-window |
Sets the beginning of the four hour maintenance window for the cluster. Syntax is in the format: ‘day=HH:MM’, where time is in UTC. Day can be: any , monday , tuesday , wednesday , thursday , friday , saturday , sunday .Default: any=00:00 |
--scale-down-unneeded-time |
The unneed time for the cluster autoscaler’s scale-down-unneeded-time. It defines how long a node should be unneeded before it is eligible for scale down. To set the scale-down-unneeded-time to a minute and 30 seconds for example, pass the string ‘1m30s’. |
--scale-down-utilization-threshold |
The threshold value for the cluster autoscaler’s scale-down-utilization-threshold. It is 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. To set the scale-down-utilization-threshold to 50%, pass the floating point value 0.5. |
--set-current-context |
Sets the current kubectl context to that of the new cluster Default: true |
--surge-upgrade |
Enables surge-upgrade for the cluster Default: false |
--tag |
A comma-separated list of tags to apply to the cluster. This removes other user-provided tags from the cluster if they are not specified in this argument. |
--update-kubeconfig |
Updates the cluster in your kubeconfig Default: true |
Related Commands
Command | Description |
---|---|
doctl kubernetes cluster | Display commands for managing Kubernetes clusters |
Global Flags
Option | Description |
---|---|
--access-token , -t |
API V2 access token |
--api-url , -u |
Override default API endpoint |
--config , -c |
Specify a custom config file Default: |
--context |
Specify a custom authentication context name |
--http-retry-max |
Set maximum number of retries for requests that fail with a 429 or 500-level error
Default: 5 |
--http-retry-wait-max |
Set the minimum number of seconds to wait before retrying a failed request
Default: 30 |
--http-retry-wait-min |
Set the maximum number of seconds to wait before retrying a failed request
Default: 1 |
--interactive |
Enable interactive behavior. Defaults to true if the terminal supports it (default false)
Default: false |
--output , -o |
Desired output format [text|json] Default: text |
--trace |
Show a log of network activity while performing a command Default: false |
--verbose , -v |
Enable verbose output Default: false |