prometheus: turn on node-exporter for host-level metrics
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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wajog7nELA3i8JWTjxYGHF
This commit is contained in:
co-authored by
Claude Opus 5
parent
6321533c47
commit
6677c9e315
@@ -1,18 +1,35 @@
|
|||||||
prometheus:
|
prometheus:
|
||||||
# Server only. alertmanager/kube-state-metrics/node-exporter/pushgateway
|
# alertmanager/kube-state-metrics/node-exporter/pushgateway are all
|
||||||
# are all enabled by default in this chart — none were asked for, and
|
# enabled by default in this chart. None of the four are needed for
|
||||||
# none are needed for what actually consumes this: toolshed's per-app
|
# what actually consumes this deployment — toolshed's per-app CPU/memory
|
||||||
# CPU/memory come straight from kubelet's own cAdvisor endpoint (the
|
# come straight from kubelet's own cAdvisor endpoint (the
|
||||||
# kubernetes-nodes-cadvisor scrape job below, built into the server
|
# 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
|
# itself) — but node-exporter earns its keep separately: this box is an
|
||||||
# node that was already at its ceiling before this — see claude.md's
|
# 8GB single node already near its ceiling, and node-exporter is the one
|
||||||
# resource budget table.
|
# 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:
|
alertmanager:
|
||||||
enabled: false
|
enabled: false
|
||||||
kube-state-metrics:
|
kube-state-metrics:
|
||||||
enabled: false
|
enabled: false
|
||||||
prometheus-node-exporter:
|
prometheus-node-exporter:
|
||||||
enabled: false
|
enabled: true
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 20m
|
||||||
|
memory: 32Mi
|
||||||
|
limits:
|
||||||
|
memory: 64Mi
|
||||||
prometheus-pushgateway:
|
prometheus-pushgateway:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user