kops rolling-update

kops rolling-update

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 commandkops update cluster. Nodes may be additionally marked for update by placing akops.k8s.io/needs-update annotation on them.

If rolling-update does not report that the cluster needs to be rolled, you can force the cluster to berolled with the force flag. Rolling update drains and validates the cluster by default. A cluster isdeemed validated when all required nodes are running and all pods with a critical priority are operational.When a node is deleted, rolling-update sleeps the interval for the node type, and then tries for the same periodof time for the cluster to be validated. For instance, setting —master-interval=3m causes rolling-updateto wait for 3 minutes after a master is rolled, and another 3 minutes for the cluster to stabilize and passvalidation.

Note: terraform users will need to run all of the following commands from the same directorykops update cluster —target=terraform then terraform plan thenterraform apply prior to running kops rolling-update cluster.

Examples

  1. # Preview a rolling-update.
  2. kops rolling-update cluster
  3.  
  4. # Roll the currently selected kops cluster with defaults.
  5. # Nodes will be drained and the cluster will be validated between node replacement.
  6. kops rolling-update cluster --yes
  7.  
  8. # Roll the k8s-cluster.example.com kops cluster,
  9. # do not fail if the cluster does not validate,
  10. # wait 8 min to create new node, and wait at least
  11. # 8 min to validate the cluster.
  12. kops rolling-update cluster k8s-cluster.example.com --yes \
  13. --fail-on-validate-error="false" \
  14. --master-interval=8m \
  15. --node-interval=8m
  16.  
  17. # Roll the k8s-cluster.example.com kops cluster,
  18. # do not validate the cluster because of the cloudonly flag.
  19. # Force the entire cluster to roll, even if rolling update
  20. # reports that the cluster does not need to be rolled.
  21. kops rolling-update cluster k8s-cluster.example.com --yes \
  22. --cloudonly \
  23. --force
  24.  
  25. # Roll the k8s-cluster.example.com kops cluster,
  26. # only roll the node instancegroup,
  27. # use the new drain and validate functionality.
  28. kops rolling-update cluster k8s-cluster.example.com --yes \
  29. --fail-on-validate-error="false" \
  30. --node-interval 8m \
  31. --instance-group nodes

Options

  1. -h, --help help for rolling-update

Options inherited from parent commands

  1. --add_dir_header If true, adds the file directory to the header
  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. --skip_headers If true, avoid header prefixes in the log messages
  11. --skip_log_headers If true, avoid headers when opening log files
  12. --state string Location of state storage (kops 'config' file). Overrides KOPS_STATE_STORE environment variable
  13. --stderrthreshold severity logs at or above this threshold go to stderr (default 2)
  14. -v, --v Level number for the log level verbosity
  15. --vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging

SEE ALSO