In Kubernetes, we specify a cAdvisor housekeeping interval of 10s. cAdvisor has backoff logic that could move this up to 15s, plus jitter logic that could double that, leaving us with an actual max housekeeping interval of 30s: https://github.com/kubernetes/kubernetes/blob/master/vendor/github.com/google/cadvisor/manager/container.go#L382. Thus, our Heapster image needs to have a metrics_resolution of at least 30s in order to avoid reading the same metrics batch twice from the node, which causes Heapster to skip rate calculation, which causes CPU metrics to not appear.
Does this only need to be applied to 3.5? or is this logic also in older versions like 3.4?
The templates should now be updated to support the increased value.
Verified with openshift-ansible master branch, https://github.com/openshift/openshift-ansible/blob/master/roles/openshift_metrics/defaults/main.yaml, the default value has been set from 15s to 30s.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2017:0884