Rolling update a cluster.
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
.
kops rolling-update cluster [CLUSTER] [flags]
# 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
--bastion-interval duration Time to wait between restarting bastions (default 15s)
--cloudonly Perform rolling update without confirming progress with Kubernetes
--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 (master,apiserver,node,bastion)
-i, --interactive Prompt to continue after each instance is updated
--master-interval duration Time to wait between restarting control plane nodes (default 15s)
--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
--add_dir_header If true, adds the file directory to the header of the log messages
--alsologtostderr log to standard error as well as files
--config string yaml config file (default is $HOME/.kops.yaml)
--log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
--log_dir string If non-empty, write log files in this directory
--log_file string If non-empty, use this log file
--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)
--logtostderr log to standard error instead of files (default true)
--name string Name of cluster. Overrides KOPS_CLUSTER_NAME environment variable
--one_output If true, only write logs to their native severity level (vs also writing to each lower severity level)
--skip_headers If true, avoid header prefixes in the log messages
--skip_log_headers If true, avoid headers when opening log files
--state string Location of state storage (kops 'config' file). Overrides KOPS_STATE_STORE environment variable
--stderrthreshold severity logs at or above this threshold go to stderr (default 2)
-v, --v Level number for the log level verbosity
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
- kops rolling-update - Rolling update a cluster.