More Info:
The kubelet streamingConnectionIdleTimeout should not be 0, which disables the timeout and leaves idle streaming connections open indefinitely.Risk Level
HighAddress
SecurityCompliance Standards
- CIS AKS
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
Check current kubelet config (per worker node)
Run on every worker node:Note whether--configis used (config file) and whether--streaming-connection-idle-timeout=0appears as a flag. -
If using kubelet config file, set a non‑zero timeout
Run on every worker node (only if/var/lib/kubelet/config.yamlis in use):If the key does not exist, append it: -
If using command‑line flags, set a non‑zero timeout
Run on every worker node (only if kubelet is configured via systemd flags):
Edit the drop‑in unit:In theKUBELET_SYSTEM_PODS_ARGS(or corresponding) environment variable, ensure this flag is present and not 0, for example:Save and exit. -
Reload systemd and restart kubelet
Run on every worker node: -
Verify kubelet restarted cleanly
Run on every worker node: -
Verify non‑zero streaming idle timeout is in effect
Run on every worker node:Confirm that--streaming-connection-idle-timeoutis either absent (and handled via config file) or present with a value other than0, and if using/var/lib/kubelet/config.yaml, confirm:shows a non‑zero value (for example5m).
Using kubectl
Using kubectl
kubectl cannot modify kubelet process flags or its config file, so this finding cannot be fixed via the Kubernetes API. The
streamingConnectionIdleTimeout setting must be changed directly on each worker node’s host configuration (for example /var/lib/kubelet/config.yaml or the kubelet systemd unit); see the Manual Steps section for how to do that.Automation
Automation

