From 6677c9e3158e4b6b725a5e6216ad172b5d7e7be2 Mon Sep 17 00:00:00 2001 From: Mukul Sharma Date: Sun, 6 Sep 2026 07:56:22 +0530 Subject: [PATCH] prometheus: turn on node-exporter for host-level metrics MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The other three disabled subcharts (alertmanager/kube-state-metrics/ pushgateway) stay off — none of them do anything cAdvisor's per-container metrics don't already cover for this deployment's actual purpose. node-exporter is different: it's the one thing here that would report on the node itself (disk, memory, load) rather than any particular container, which matters on an 8GB single node already near its ceiling. One DaemonSet pod, hostNetwork rather than a Service, resources capped at 32Mi/64Mi — light enough that turning it on doesn't meaningfully touch the budget the other three would have. Verified with `helm template`: the DaemonSet renders with hostNetwork/ hostPID true and the trimmed resources, and its Service carries the `prometheus.io/scrape: true` annotation the server's already-enabled kubernetes-service-endpoints job picks up automatically — no separate scrape config needed. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01Wajog7nELA3i8JWTjxYGHF --- .../prometheus/custom-values.yaml | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/helm-overrides/k8s-admin-prd-ase1/prometheus/custom-values.yaml b/helm-overrides/k8s-admin-prd-ase1/prometheus/custom-values.yaml index cfaca6f..9d06397 100644 --- a/helm-overrides/k8s-admin-prd-ase1/prometheus/custom-values.yaml +++ b/helm-overrides/k8s-admin-prd-ase1/prometheus/custom-values.yaml @@ -1,18 +1,35 @@ prometheus: - # Server only. alertmanager/kube-state-metrics/node-exporter/pushgateway - # are all enabled by default in this chart — none were asked for, and - # none are needed for what actually consumes this: toolshed's per-app - # CPU/memory come straight from kubelet's own cAdvisor endpoint (the + # alertmanager/kube-state-metrics/node-exporter/pushgateway are all + # enabled by default in this chart. None of the four are needed for + # what actually consumes this deployment — toolshed's per-app CPU/memory + # come straight from kubelet's own cAdvisor endpoint (the # kubernetes-nodes-cadvisor scrape job below, built into the server - # itself), not from any of these four. Each is its own pod on an 8GB - # node that was already at its ceiling before this — see claude.md's - # resource budget table. + # itself) — but node-exporter earns its keep separately: this box is an + # 8GB single node already near its ceiling, and node-exporter is the one + # thing here that would actually say so (host disk/memory/load, not + # per-container usage cAdvisor already covers). One DaemonSet pod on one + # node, hostNetwork rather than a Service — light enough to justify on + # its own. + # + # alertmanager/kube-state-metrics/pushgateway stay off: nothing here + # defines alerting rules to route (alertmanager), nothing needs + # deployment/rollout-status metrics yet as opposed to raw resource usage + # (kube-state-metrics), and nothing is a short-lived batch job pushing + # its own metrics (pushgateway). Each is a real pod this node has no + # spare room for — turn one on when something concrete needs it, not + # preemptively. alertmanager: enabled: false kube-state-metrics: enabled: false prometheus-node-exporter: - enabled: false + enabled: true + resources: + requests: + cpu: 20m + memory: 32Mi + limits: + memory: 64Mi prometheus-pushgateway: enabled: false