Kops rolling update cluster

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.

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.

  1. kops rolling-update cluster [CLUSTER] [flags]

Examples

  1. # Preview a rolling update.
  2. kops rolling-update cluster
  3. # Update the currently selected kOps cluster with defaults.
  4. # Nodes will be drained and the cluster will be validated between node replacement.
  5. kops rolling-update cluster --yes
  6. # Update the k8s-cluster.example.com kOps cluster.
  7. # Do not fail if the cluster does not validate.
  8. kops rolling-update cluster k8s-cluster.example.com --yes \
  9. --fail-on-validate-error="false"
  10. # Update the k8s-cluster.example.com kOps cluster.
  11. # Do not validate the cluster.
  12. # Force the entire cluster to update, even if rolling update
  13. # reports that the cluster does not need to be updated.
  14. kops rolling-update cluster k8s-cluster.example.com --yes \
  15. --cloudonly \
  16. --force
  17. # Update only the "nodes-1a" instance group of the k8s-cluster.example.com kOps cluster.
  18. kops rolling-update cluster k8s-cluster.example.com --yes \
  19. --instance-group nodes-1a

Options

  1. --bastion-interval duration Time to wait between restarting bastions (default 15s)
  2. --cloudonly Perform rolling update without confirming progress with Kubernetes
  3. --fail-on-drain-error Fail if draining a node fails (default true)
  4. --fail-on-validate-error Fail if the cluster fails to validate (default true)
  5. --force Force rolling update, even if no changes
  6. -h, --help help for cluster
  7. --instance-group strings Instance groups to update (defaults to all if not specified)
  8. --instance-group-roles strings Instance group roles to update (master,apiserver,node,bastion)
  9. -i, --interactive Prompt to continue after each instance is updated
  10. --master-interval duration Time to wait between restarting control plane nodes (default 15s)
  11. --node-interval duration Time to wait between restarting worker nodes (default 15s)
  12. --post-drain-delay duration Time to wait after draining each node (default 5s)
  13. --validate-count int32 Number of times that a cluster needs to be validated after single node update (default 2)
  14. --validation-timeout duration Maximum time to wait for a cluster to validate (default 15m0s)
  15. -y, --yes Perform rolling update immediately; without --yes rolling-update executes a dry-run

Options inherited from parent commands

  1. --add_dir_header If true, adds the file directory to the header of the log messages
  2. --alsologtostderr log to standard error as well as files
  3. --config string yaml config file (default is $HOME/.kops.yaml)
  4. --log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
  5. --log_dir string If non-empty, write log files in this directory
  6. --log_file string If non-empty, use this log file
  7. --log_file_max_size uint Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
  8. --logtostderr log to standard error instead of files (default true)
  9. --name string Name of cluster. Overrides KOPS_CLUSTER_NAME environment variable
  10. --one_output If true, only write logs to their native severity level (vs also writing to each lower severity level)
  11. --skip_headers If true, avoid header prefixes in the log messages
  12. --skip_log_headers If true, avoid headers when opening log files
  13. --state string Location of state storage (kops 'config' file). Overrides KOPS_STATE_STORE environment variable
  14. --stderrthreshold severity logs at or above this threshold go to stderr (default 2)
  15. -v, --v Level number for the log level verbosity
  16. --vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging

SEE ALSO