More Info:
Node Auto-Upgrade Keeps Nodes At The Current Kubernetes And Os Security Patch Level To Mitigate Known VulnerabilitiesRisk Level
MediumAddress
SecurityCompliance Standards
- CIS GKE
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
Identify all node pools and their auto-upgrade status
- Run on: any machine with
gcloudaccess.
- Note any node pools where
management.autoUpgradeis notTrue.
- Run on: any machine with
-
Get detailed management settings per node pool
- For each node pool from step 1, run:
- Confirm whether
autoUpgradeistrueorfalseand record it.
-
Review operational and change-management constraints
- For node pools with
autoUpgrade: false, discuss with application owners/SREs:- Whether they rely on manual control of node versions (e.g., for strict change windows, legacy workloads, or custom kernel features).
- Whether there is an alternative patching process (documented, tested, and regularly executed).
- Decide for each pool whether automatic upgrades are acceptable, and if not, document the business justification and the alternate upgrade process.
- For node pools with
-
Enable node auto-upgrade where acceptable
- For each node pool where you decide auto-upgrade should be enabled, run:
- Be aware this changes how upgrades are scheduled; future automatic upgrades may cause node recreations during Google-managed windows.
-
If you must keep auto-upgrade disabled, harden manual processes
- For node pools intentionally left with
autoUpgrade: false, define and document:- A regular schedule to run:
and plan manual node pool upgrades when new patch versions are available.
- Change-control procedures and maintenance windows for manual upgrades:
- A regular schedule to run:
- For node pools intentionally left with
-
Verify the final state
- Re-run the audit to confirm the configuration matches your decisions:
- Optionally, for each node pool:
- Ensure auto-upgrade is enabled where required and disabled only where formally justified.
Using kubectl
Using kubectl
kubectl cannot enable Node Auto-Upgrade because this setting is managed at the GKE control-plane / node pool configuration level via gcloud, console, or IaC, not via Kubernetes API objects. Refer to the Manual Steps section for the exact
gcloud commands and configuration changes to enable auto-upgrade on the affected node pools.Automation
Automation
- For each node pool, look at the
managementblock, specificallyautoUpgrade. - Any node pool where:
"autoUpgrade": false, orautoUpgradeis missing ornull
>>> PROBLEM: autoUpgrade is NOT enabled for this node pool
