mirror of https://github.com/kubernetes/kops.git
94 lines
4.4 KiB
Markdown
94 lines
4.4 KiB
Markdown
|
|
<!--- This file is automatically generated by make gen-cli-docs; changes should be made in the go CLI command code (under cmd/kops) -->
|
|
|
|
## kops rolling-update cluster
|
|
|
|
Rolling update a cluster.
|
|
|
|
### Synopsis
|
|
|
|
This command updates a kubernetes cluster to match the cloud and kOps specifications.
|
|
|
|
To perform a rolling update, you need to update the cloud resources first with the command
|
|
`kops update cluster --yes`. Nodes may be additionally marked for update by placing a
|
|
`kops.k8s.io/needs-update` annotation on them.
|
|
|
|
If rolling-update does not report that the cluster needs to be updated, you can force the cluster to be
|
|
updated with the --force flag. Rolling update drains and validates the cluster by default. A cluster is
|
|
deemed validated when all required nodes are running and all pods with a critical priority are operational.
|
|
|
|
If the cluster is in a broken state and cannot be validated, rolling-update will get stuck and eventually
|
|
fail; you can force the update to proceed with the --cloudonly flag, which will skip validation.
|
|
|
|
Note: terraform users will need to run all of the following commands from the same directory
|
|
`kops update cluster --target=terraform` then `terraform plan` then
|
|
`terraform apply` prior to running `kops rolling-update cluster`.
|
|
|
|
```
|
|
kops rolling-update cluster [CLUSTER] [flags]
|
|
```
|
|
|
|
### Examples
|
|
|
|
```
|
|
# Preview a rolling update.
|
|
kops rolling-update cluster
|
|
|
|
# Update the currently selected kOps cluster with defaults.
|
|
# Nodes will be drained and the cluster will be validated between node replacement.
|
|
kops rolling-update cluster --yes
|
|
|
|
# Update the k8s-cluster.example.com kOps cluster.
|
|
# Do not fail if the cluster does not validate.
|
|
kops rolling-update cluster k8s-cluster.example.com --yes \
|
|
--fail-on-validate-error="false"
|
|
|
|
# Update the k8s-cluster.example.com kOps cluster.
|
|
# Do not validate the cluster.
|
|
# Force the entire cluster to update, even if rolling update
|
|
# reports that the cluster does not need to be updated.
|
|
kops rolling-update cluster k8s-cluster.example.com --yes \
|
|
--cloudonly \
|
|
--force
|
|
|
|
# Update only the "nodes-1a" instance group of the k8s-cluster.example.com kOps cluster.
|
|
kops rolling-update cluster k8s-cluster.example.com --yes \
|
|
--instance-group nodes-1a
|
|
```
|
|
|
|
### Options
|
|
|
|
```
|
|
--admin duration a cluster admin user credential with the specified lifetime (default 18h0m0s)
|
|
--bastion-interval duration Time to wait between restarting bastions (default 15s)
|
|
--cloudonly Perform rolling update without validating cluster status (will cause downtime)
|
|
--control-plane-interval duration Time to wait between restarting control plane nodes (default 15s)
|
|
--drain-timeout duration Maximum time to wait for a node to drain (default 15m0s)
|
|
--fail-on-drain-error Fail if draining a node fails (default true)
|
|
--fail-on-validate-error Fail if the cluster fails to validate (default true)
|
|
--force Force rolling update, even if no changes
|
|
-h, --help help for cluster
|
|
--instance-group strings Instance groups to update (defaults to all if not specified)
|
|
--instance-group-roles strings Instance group roles to update (control-plane,apiserver,node,bastion)
|
|
-i, --interactive Prompt to continue after each instance is updated
|
|
--node-interval duration Time to wait between restarting worker nodes (default 15s)
|
|
--post-drain-delay duration Time to wait after draining each node (default 5s)
|
|
--validate-count int32 Number of times that a cluster needs to be validated after single node update (default 2)
|
|
--validation-timeout duration Maximum time to wait for a cluster to validate (default 15m0s)
|
|
-y, --yes Perform rolling update immediately; without --yes rolling-update executes a dry-run
|
|
```
|
|
|
|
### Options inherited from parent commands
|
|
|
|
```
|
|
--config string yaml config file (default is $HOME/.kops.yaml)
|
|
--name string Name of cluster. Overrides KOPS_CLUSTER_NAME environment variable
|
|
--state string Location of state storage (kops 'config' file). Overrides KOPS_STATE_STORE environment variable
|
|
-v, --v Level number for the log level verbosity
|
|
```
|
|
|
|
### SEE ALSO
|
|
|
|
* [kops rolling-update](kops_rolling-update.md) - Rolling update a cluster.
|
|
|