Skip to content

refresh cluster

Cluster operations (list, get, upgrade)

refresh cluster [options] <command>

Discover and operate on EKS clusters: list them (optionally across all regions), describe one in depth, run an upgrade readiness check (upgrade-check), and orchestrate a full control-plane + add-on + nodegroup upgrade (upgrade).

Flags

Flag Env Default Description
--help, -h show help

Subcommands

refresh cluster list

List EKS clusters with health status (multi-region support)

refresh cluster list [options] [name-pattern]

Fast cluster discovery across regions with integrated health validation. Direct EKS API calls provide high performance along with comprehensive health monitoring and multi-region capabilities.

Scope with -A/--all-regions (every EKS-supported region) or repeated -r/--region. Filter with repeatable --filter key=value (keys: name, status, version); sort with --sort and --desc. -o plain emits uncolored TSV for grep/awk; -o tree (or --tree, which implies --all-regions) renders a region/cluster hierarchy. Use --watch to redraw on the --watch-interval (top-style on a terminal, appended when piped) until Ctrl+C.

refresh cluster list -A --filter status=ACTIVE refresh cluster list -o tree refresh cluster list --watch --watch-interval 5s

Flags

Flag Env Default Description
--timeout, -t duration REFRESH_TIMEOUT 1m0s Operation timeout (e.g. 60s, 2m)
--max-concurrency, -C int REFRESH_MAX_CONCURRENCY 8 Max concurrent region requests
--all-regions, -A Query all EKS-supported regions
--sort string name Sort by field: name,status,version,region
--desc Sort descending
--region, -r string Specific region(s) to query (can be used multiple times)
--show-health, -H Include health status for each cluster
--filter, -f string Filter clusters (format: key=value)
--format, -o string table Output format (table, json, yaml, plain, tree)
--tree, -T Display results as hierarchical tree (implies --all-regions)
--watch, -w Re-run and redraw every --watch-interval until interrupted
--watch-interval duration 10s Refresh interval for --watch
--help, -h show help

refresh cluster describe

Describe comprehensive cluster information

Aliases: get

refresh cluster describe [options] [cluster]

Get detailed information about an EKS cluster including networking, security configuration, add-ons, and health status. Direct EKS API calls provide fast, comprehensive results without CloudFormation dependency.

Flags

Flag Env Default Description
--timeout, -t duration REFRESH_TIMEOUT 1m0s Operation timeout (e.g. 60s, 2m)
--cluster, -c string EKS cluster name or pattern
--detailed, -d Show comprehensive information including networking and security
--show-health, -H Include health status from existing health framework
--show-security, -s Include security configuration analysis
--include-addons, -a Include EKS add-on information
--check-readiness, -R Measure real Kubernetes node readiness (Ready/desired) via the cluster API; without it NODES shows desired count only
--kubeconfig string Path to the kubeconfig for --check-readiness (defaults to $KUBECONFIG, then ~/.kube/config)
--format, -o string table Output format (table, json, yaml, plain)
--help, -h show help

refresh cluster upgrade-check

Report upgrade readiness: EKS Cluster Insights + version skew (read-only)

refresh cluster upgrade-check [options] [cluster]

Read-only upgrade-readiness report for an EKS cluster.

Surfaces AWS Cluster Insights (the same upgrade checks the console shows) plus a local version-skew picture: control-plane version vs each managed nodegroup, and installed addons vs the latest compatible version — with ordered, actionable findings. Nothing is mutated; this is the pre-flight read before 'cluster upgrade'.

Insights are defined and computed by EKS (the same set the console shows), and that catalog evolves — so list the live set for your cluster with --show-passing, then drill into any with --id, which accepts the short ID shown in the table, the full ID, or a case-insensitive name substring (e.g. --id "deprecated").

Examples: refresh cluster upgrade-check -c prod-east refresh cluster upgrade-check -c prod-east --show-passing -o json refresh cluster upgrade-check -c prod-east --id "deprecated" # detail view (by name)

Flags

Flag Env Default Description
--cluster, -c string EKS cluster name or pattern
--timeout, -t duration REFRESH_TIMEOUT 1m0s Operation timeout (e.g. 60s, 2m)
--category string UPGRADE_READINESS Insight category (UPGRADE_READINESS, MISCONFIGURATION)
--status string Filter by insight status (PASSING, WARNING, ERROR, UNKNOWN)
--show-passing Include PASSING insights (hidden by default)
--id string Show the detail view for one insight — accepts its ID, a short ID prefix (as shown in the table), or a name substring
--format, -o string table Output format (table, json, yaml, plain)
--help, -h show help

refresh cluster upgrade

Orchestrate a cluster upgrade: control plane → addons → nodegroups, with gates

refresh cluster upgrade [options] [cluster]

Plan and execute a full EKS cluster upgrade to a target Kubernetes version.

EKS upgrades one minor version at a time, so a multi-minor upgrade expands into sequential hops. Each hop runs: readiness (cluster insights + kubelet version skew) → control plane → addons (dependency order, versions compatible with the hop target) → nodegroup rolls, with a health gate after every phase.

The plan is re-derived from live cluster state on every run, so rerunning the same command after a failure (or Ctrl+C) resumes where it left off, and rerunning after success is a no-op.

Examples: # Print the plan only (exits non-zero if anything blocks the upgrade) refresh cluster upgrade -c prod-east --to 1.33 --dry-run

# Execute, confirming each mutating phase refresh cluster upgrade -c prod-east --to 1.33

# Non-interactive (CI) run refresh cluster upgrade -c prod-east --to 1.33 --yes

Flags

Flag Env Default Description
--cluster, -c string EKS cluster name or pattern
--to string Target Kubernetes version (e.g. 1.33)
--dry-run, -d Print the full ordered plan without mutating anything
--yes, -y Skip per-phase confirmation prompts
--force Force nodegroup rolls when pods can't be drained due to PDBs
--skip, -s string Addon to skip (repeatable; for addons managed via Helm/GitOps)
--skip-nodegroup string Nodegroup name pattern to skip (repeatable)
--quiet, -q Suppress progress output
--timeout, -t duration REFRESH_TIMEOUT 4h0m0s Overall operation timeout
--poll-interval, -p duration 15s How often to poll in-flight updates
--format, -o string table Plan output format (table, json, yaml, plain)
--help, -h show help