-
Notifications
You must be signed in to change notification settings - Fork 1.3k
system:heapster ClusterRole lacking nodes/stats get privileges #1936
Comments
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/remove-lifecycle stale |
@r0bj - have started the kubelet with authorization-webhook true ? currently I'm facing the same issue which I cannot solve |
Yes, kubelet is started with authorization-webhook true. As a workaround I just created separate ClusterRole and use it for heapster:
|
thanks worked for me just starting the kubelet with --authentication-token-webhook=true and later on adding it to the kops config files. |
With K8S v1.12.0 I was able to get the Dashboard + Heapster working with this suggestion plus adding the verb |
This fix should be implemented by default until metrics-server migration is complete. took me too long to figure out why heapster isn't working. |
* Heapster can now get nodes (i.e. kubelets) from the apiserver and source metrics from the Kubelet authenticated API (10250) instead of the Kubelet HTTP read-only API (10255) * https://github.com/kubernetes/heapster/blob/master/docs/source-configuration.md * Use the heapster service account token via Kubelet bearer token authn/authz. * Permit Heapster to skip CA verification. The CA cert does not contain IP SANs and cannot since nodes get random IPs that aren't known upfront. Heapster obtains the node list from the apiserver, so the risk of spoofing a node is limited. For the same reason, Prometheus scrapes skip CA verification for scraping Kubelet's provided by the apiserver. * https://github.com/poseidon/typhoon/blob/v1.12.1/addons/prometheus/config.yaml#L68 * Create a heapster ClusterRole to work around the default Kubernetes `system:heapster` ClusterRole lacking the proper GET `nodes/stats` access. See kubernetes-retired/heapster#1936
* Heapster can now get nodes (i.e. kubelets) from the apiserver and source metrics from the Kubelet authenticated API (10250) instead of the Kubelet HTTP read-only API (10255) * https://github.com/kubernetes/heapster/blob/master/docs/source-configuration.md * Use the heapster service account token via Kubelet bearer token authn/authz. * Permit Heapster to skip CA verification. The CA cert does not contain IP SANs and cannot since nodes get random IPs that aren't known upfront. Heapster obtains the node list from the apiserver, so the risk of spoofing a node is limited. For the same reason, Prometheus scrapes must skip CA verification for scraping Kubelet's provided by the apiserver. * https://github.com/poseidon/typhoon/blob/v1.12.1/addons/prometheus/config.yaml#L68 * Create a heapster ClusterRole to work around the default Kubernetes `system:heapster` ClusterRole lacking the proper GET `nodes/stats` access. See kubernetes-retired/heapster#1936
The
system:heapster
ClusterRole appears to be missing the ability to GET tonodes/stats
resource.heapster deployment:
error messages from API server:
error message from heapster:
Issue is fixed after adding those lines to ClusterRole
system:heapster
:kubernetes: 1.9.1
heapster: 1.5.0
The text was updated successfully, but these errors were encountered: