DirectorySecurity AdvisoriesPricing
Sign in
Directory
prometheus-node-exporter logoHELM

prometheus-node-exporter

Helm chart
Last changed
Request a free trial

Contact our team to test out this Helm chart and related images for free. Please also indicate any other images you would like to evaluate.

Overview
Chart versions
Default values
Chart metadata
Images

Tag:
Compare:

1
# Default values for prometheus-node-exporter.
2
# This is a YAML-formatted file.
3
# Declare variables to be passed into your templates.
4
image:
5
registry: cgr.dev
6
repository: chainguard-private/prometheus-node-exporter
7
# Overrides the image tag whose default is {{ printf "v%s" .Chart.AppVersion }}
8
tag: 1.12.1
9
# Use the distroless image variant.
10
distroless: false
11
pullPolicy: IfNotPresent
12
digest: sha256:e894eee33a334b63151798cdbce45f2e98435eb008500096b5c02c60c9770fd6
13
imagePullSecrets: []
14
# - name: "image-pull-secret"
15
nameOverride: ""
16
fullnameOverride: ""
17
# Number of old history to retain to allow rollback
18
# Default Kubernetes value is set to 10
19
revisionHistoryLimit: 10
20
global:
21
# To help compatibility with other charts which use global.imagePullSecrets.
22
# Allow either an array of {name: pullSecret} maps (k8s-style), or an array of strings (more common helm-style).
23
# global:
24
# imagePullSecrets:
25
# - name: pullSecret1
26
# - name: pullSecret2
27
# or
28
# global:
29
# imagePullSecrets:
30
# - pullSecret1
31
# - pullSecret2
32
imagePullSecrets: []
33
#
34
# Allow parent charts to override registry hostname
35
imageRegistry: ""
36
# Configure kube-rbac-proxy. When enabled, creates a kube-rbac-proxy to protect the node-exporter http endpoint.
37
# The requests are served through the same service but requests are HTTPS.
38
kubeRBACProxy:
39
enabled: false
40
## Set environment variables as name/value pairs
41
env: {}
42
# VARIABLE: value
43
image:
44
registry: cgr.dev
45
repository: chainguard-private/kube-rbac-proxy
46
tag: 0.22.1
47
sha: sha256:95092d3f845583b6570c29f37c4b08d207a24ab89171e54e885494d79bf05b3b
48
pullPolicy: IfNotPresent
49
# List of additional cli arguments to configure kube-rbac-proxy
50
# for example: --tls-cipher-suites, --log-file, etc.
51
# all the possible args can be found here: https://github.com/brancz/kube-rbac-proxy#usage
52
extraArgs: []
53
## Specify security settings for a Container
54
## Allows overrides and additional options compared to (Pod) securityContext
55
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
56
containerSecurityContext: {}
57
# Specify the port used for the Node exporter container (upstream port)
58
port: 8100
59
# Host/interface prefix for --secure-listen-address (for example ":" or "$(POD_IP):")
60
listenHost: ":"
61
# Specify the name of the container port
62
portName: http
63
# Configure a hostPort. If true, hostPort will be enabled in the container and set to service.port.
64
enableHostPort: false
65
# Configure Proxy Endpoints Port
66
# This is the port being probed for readiness
67
proxyEndpointsPort: 8888
68
# Configure a hostPort. If true, hostPort will be enabled in the container and set to proxyEndpointsPort.
69
enableProxyEndpointsHostPort: false
70
resources: {}
71
# We usually recommend not to specify default resources and to leave this as a conscious
72
# choice for the user. This also increases chances charts run on environments with little
73
# resources, such as Minikube. If you do want to specify resources, uncomment the following
74
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
75
# limits:
76
# cpu: 100m
77
# memory: 64Mi
78
# requests:
79
# cpu: 10m
80
# memory: 32Mi
81
82
## Additional volume mounts in the kube-rbac-proxy container
83
## See extraVolumes below
84
extraVolumeMounts: []
85
# - name: extra-volume
86
# mountPath: /extra
87
# readOnly: true
88
89
## tls enables using TLS resources from a volume on secret referred to in tlsSecret below.
90
## When enabling tlsClientAuth, client CA certificate must be set in tlsSecret.caItem.
91
## Ref. https://github.com/brancz/kube-rbac-proxy/issues/187
92
tls:
93
enabled: false
94
tlsClientAuth: false
95
## tlsSecret refers to an existing secret holding TLS items: client CA certificate, private key and certificate.
96
## secretName and volumeName can be templated.
97
## If enabled, volume volumeName gets created on secret secretName.
98
## The volume's resources will be used by kube-rbac-proxy if kubeRBACProxy.tls.enabled is set.
99
tlsSecret:
100
enabled: false
101
## Key with client CA certificate (optional)
102
caItem: ""
103
## Key with certificate
104
certItem: tls.crt
105
## Key with private key
106
keyItem: tls.key
107
## Name of an existing secret
108
secretName: prometheus-node-exporter-tls
109
## Name of the volume to be created
110
volumeName: prometheus-node-exporter-tls
111
## Service configuration
112
service:
113
## Creating a service is enabled by default
114
enabled: true
115
## Service type
116
type: ClusterIP
117
## IP address for type ClusterIP
118
clusterIP: ""
119
## Default service port. Sets the port of the exposed container as well (NE or kubeRBACProxy).
120
## Use "servicePort" below if changing the service port only is desired.
121
port: 9100
122
## Service port. Use this field if you wish to set a different service port
123
## without changing the container port ("port" above).
124
servicePort: ""
125
## Targeted port in the pod. Must refer to an open container port ("port" or "portName").
126
## (IntOrString)
127
targetPort: 9100
128
## Name of the service port. Sets the port name of the main container (NE) as well.
129
portName: metrics
130
## Port number for service type NodePort
131
nodePort: null
132
## If true, node exporter will listen on all interfaces
133
listenOnAllInterfaces: true
134
## Additional annotations and labels for the service
135
annotations:
136
prometheus.io/scrape: "true"
137
labels: {}
138
## Dual stack settings for the service
139
## https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
140
ipDualStack:
141
enabled: false
142
ipFamilies: ["IPv6", "IPv4"]
143
ipFamilyPolicy: "PreferDualStack"
144
## External/Internal traffic policy setting (Cluster, Local)
145
## https://kubernetes.io/docs/reference/networking/virtual-ips/#traffic-policies
146
externalTrafficPolicy: ""
147
internalTrafficPolicy: ""
148
# Set a NetworkPolicy with:
149
# ingress only on service.port or custom policy
150
# no egress permitted
151
networkPolicy:
152
enabled: false
153
# ingress:
154
# - {}
155
# Additional environment variables that will be passed to the daemonset
156
env: {}
157
## env:
158
## VARIABLE: value
159
160
prometheus:
161
monitor:
162
enabled: false
163
additionalLabels: {}
164
namespace: ""
165
jobLabel: ""
166
# List of pod labels to add to node exporter metrics
167
# https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#servicemonitor
168
podTargetLabels: []
169
# List of target labels to add to node exporter metrics
170
# https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#servicemonitor
171
targetLabels: []
172
scheme: http
173
basicAuth: {}
174
bearerTokenFile:
175
tlsConfig: {}
176
## proxyUrl: URL of a proxy that should be used for scraping.
177
##
178
proxyUrl: ""
179
## Override serviceMonitor selector
180
##
181
selectorOverride: {}
182
## Attach node metadata to discovered targets. Requires Prometheus v2.35.0 and above.
183
##
184
attachMetadata:
185
node: false
186
relabelings: []
187
metricRelabelings: []
188
interval: ""
189
scrapeTimeout: 10s
190
## prometheus.monitor.apiVersion ApiVersion for the serviceMonitor Resource(defaults to "monitoring.coreos.com/v1")
191
apiVersion: ""
192
## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
193
##
194
sampleLimit: 0
195
## TargetLimit defines a limit on the number of scraped targets that will be accepted.
196
##
197
targetLimit: 0
198
## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
199
##
200
labelLimit: 0
201
## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
202
##
203
labelNameLengthLimit: 0
204
## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
205
##
206
labelValueLengthLimit: 0
207
# PodMonitor defines monitoring for a set of pods.
208
# ref. https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#podmonitor
209
# Using a PodMonitor may be preferred in some environments where there is very large number
210
# of Node Exporter endpoints (1000+) behind a single service.
211
# The PodMonitor is disabled by default. When switching from ServiceMonitor to PodMonitor,
212
# the time series resulting from the configuration through PodMonitor may have different labels.
213
# For instance, there will not be the service label any longer which might
214
# affect PromQL queries selecting that label.
215
podMonitor:
216
enabled: false
217
# Namespace in which to deploy the pod monitor. Defaults to the release namespace.
218
namespace: ""
219
# Additional labels, e.g. setting a label for pod monitor selector as set in prometheus
220
additionalLabels: {}
221
# release: kube-prometheus-stack
222
# PodTargetLabels transfers labels of the Kubernetes Pod onto the target.
223
podTargetLabels: []
224
# apiVersion defaults to monitoring.coreos.com/v1.
225
apiVersion: ""
226
# Override pod selector to select pod objects.
227
selectorOverride: {}
228
# Attach node metadata to discovered targets. Requires Prometheus v2.35.0 and above.
229
attachMetadata:
230
node: false
231
# The label to use to retrieve the job name from. Defaults to label app.kubernetes.io/name.
232
jobLabel: ""
233
# Scheme/protocol to use for scraping.
234
scheme: "http"
235
# Path to scrape metrics at.
236
path: "/metrics"
237
# BasicAuth allow an endpoint to authenticate over basic authentication.
238
# More info: https://prometheus.io/docs/operating/configuration/#endpoint
239
basicAuth: {}
240
# Secret to mount to read bearer token for scraping targets.
241
# The secret needs to be in the same namespace as the pod monitor and accessible by the Prometheus Operator.
242
# https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#secretkeyselector-v1-core
243
bearerTokenSecret: {}
244
# TLS configuration to use when scraping the endpoint.
245
tlsConfig: {}
246
# Authorization section for this endpoint.
247
# https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#safeauthorization
248
authorization: {}
249
# OAuth2 for the URL. Only valid in Prometheus versions 2.27.0 and newer.
250
# https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#oauth2
251
oauth2: {}
252
# ProxyURL eg http://proxyserver:2195. Directs scrapes through proxy to this endpoint.
253
proxyUrl: ""
254
# Interval at which endpoints should be scraped. If not specified Prometheus' global scrape interval is used.
255
interval: ""
256
# Timeout after which the scrape is ended. If not specified, the Prometheus global scrape interval is used.
257
scrapeTimeout: ""
258
# HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
259
honorTimestamps: true
260
# HonorLabels chooses the metric's labels on collisions with target labels.
261
honorLabels: true
262
# Whether to enable HTTP2. Default false.
263
enableHttp2: ""
264
# Drop pods that are not running. (Failed, Succeeded).
265
# Enabled by default. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
266
filterRunning: ""
267
# FollowRedirects configures whether scrape requests follow HTTP 3xx redirects. Default false.
268
followRedirects: ""
269
# Optional HTTP URL parameters
270
params: {}
271
# RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds
272
# relabelings for a few standard Kubernetes fields. The original scrape job's name
273
# is available via the __tmp_prometheus_job_name label.
274
# More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
275
relabelings: []
276
# MetricRelabelConfigs to apply to samples before ingestion.
277
metricRelabelings: []
278
# SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
279
sampleLimit: 0
280
# TargetLimit defines a limit on the number of scraped targets that will be accepted.
281
targetLimit: 0
282
# Per-scrape limit on number of labels that will be accepted for a sample.
283
# Only valid in Prometheus versions 2.27.0 and newer.
284
labelLimit: 0
285
# Per-scrape limit on length of labels name that will be accepted for a sample.
286
# Only valid in Prometheus versions 2.27.0 and newer.
287
labelNameLengthLimit: 0
288
# Per-scrape limit on length of labels value that will be accepted for a sample.
289
# Only valid in Prometheus versions 2.27.0 and newer.
290
labelValueLengthLimit: 0
291
## Customize the updateStrategy if set
292
updateStrategy:
293
type: RollingUpdate
294
rollingUpdate:
295
maxUnavailable: 1
296
resources: {}
297
# We usually recommend not to specify default resources and to leave this as a conscious
298
# choice for the user. This also increases chances charts run on environments with little
299
# resources, such as Minikube. If you do want to specify resources, uncomment the following
300
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
301
# limits:
302
# cpu: 200m
303
# memory: 50Mi
304
# requests:
305
# cpu: 100m
306
# memory: 30Mi
307
308
# Specify the container restart policy passed to the Node Export container
309
# Possible Values: Always (default)|OnFailure|Never
310
restartPolicy: null
311
serviceAccount:
312
# Specifies whether a ServiceAccount should be created
313
create: true
314
# The name of the ServiceAccount to use.
315
# If not set and create is true, a name is generated using the fullname template
316
name:
317
annotations: {}
318
imagePullSecrets: []
319
automountServiceAccountToken: false
320
securityContext:
321
fsGroup: 65534
322
runAsGroup: 65534
323
runAsNonRoot: true
324
runAsUser: 65534
325
containerSecurityContext:
326
readOnlyRootFilesystem: true
327
# capabilities:
328
# add:
329
# - SYS_TIME
330
rbac:
331
## If true, create & use RBAC resources
332
##
333
create: true
334
# for deployments that have node_exporter deployed outside of the cluster, list
335
# their addresses here
336
endpoints: []
337
# Expose the service to the host network
338
hostNetwork: true
339
# hostUsers should be `true` or `~` if hostNetwork is true
340
# for more information on the limitations of hostUsers
341
# see https://kubernetes.io/docs/concepts/workloads/pods/user-namespaces/#limitations
342
hostUsers: ~
343
# Share the host process ID namespace
344
hostPID: true
345
# Share the host ipc namespace
346
hostIPC: false
347
# Mount the node's root file system (/) at /host/root in the container
348
hostRootFsMount:
349
enabled: true
350
# Defines how new mounts in existing mounts on the node or in the container
351
# are propagated to the container or node, respectively. Possible values are
352
# None, HostToContainer, and Bidirectional. If this field is omitted, then
353
# None is used. More information on:
354
# https://kubernetes.io/docs/concepts/storage/volumes/#mount-propagation
355
mountPropagation: HostToContainer
356
# Mount the node's proc file system (/proc) at /host/proc in the container
357
hostProcFsMount:
358
# Possible values are None, HostToContainer, and Bidirectional
359
mountPropagation: ""
360
# Mount the node's sys file system (/sys) at /host/sys in the container
361
hostSysFsMount:
362
# Possible values are None, HostToContainer, and Bidirectional
363
mountPropagation: ""
364
## Assign a group of affinity scheduling rules
365
## The default nodeAffinity excludes Fargate nodes and virtual kubelets from scheduling
366
## unless overridden by hard node affinity set in the field.
367
affinity: {}
368
# nodeAffinity:
369
# requiredDuringSchedulingIgnoredDuringExecution:
370
# nodeSelectorTerms:
371
# - matchFields:
372
# - key: metadata.name
373
# operator: In
374
# values:
375
# - target-host-name
376
377
# Annotations to be added to node exporter pods
378
podAnnotations:
379
# Fix for very slow GKE cluster upgrades
380
cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
381
# Extra labels to add to node exporter pods (can be templated)
382
podLabels: {}
383
## Extra labels to attach to all resources (can be templated)
384
commonLabels: {}
385
# Annotations to be added to node exporter daemonset
386
daemonsetAnnotations: {}
387
## set to true to add the release label so scraping of the servicemonitor with kube-prometheus-stack works out of the box
388
releaseLabel: false
389
# DNS policy for prometheus-node-exporter pods
390
# When hostNetwork is true, you typically want "Default" or "ClusterFirstWithHostNet"
391
# Ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy
392
dnsPolicy: ""
393
# Custom DNS configuration to be added to prometheus-node-exporter pods
394
dnsConfig: {}
395
# nameservers:
396
# - 1.2.3.4
397
# searches:
398
# - ns1.svc.cluster-domain.example
399
# - my.dns.search.suffix
400
# options:
401
# - name: ndots
402
# value: "2"
403
# - name: edns0
404
405
## Assign a nodeSelector if operating a hybrid cluster
406
##
407
nodeSelector:
408
kubernetes.io/os: linux
409
# kubernetes.io/arch: amd64
410
# Specify grace period for graceful termination of pods. Defaults to 30 if null or not specified
411
terminationGracePeriodSeconds: null
412
tolerations:
413
- effect: NoSchedule
414
operator: Exists
415
# Enable or disable container termination message settings
416
# https://kubernetes.io/docs/tasks/debug/debug-application/determine-reason-pod-failure/
417
terminationMessageParams:
418
enabled: false
419
# If enabled, specify the path for termination messages
420
terminationMessagePath: /dev/termination-log
421
# If enabled, specify the policy for termination messages
422
terminationMessagePolicy: File
423
## Assign a PriorityClassName to pods if set
424
# priorityClassName: ""
425
426
## Additional container arguments
427
##
428
extraArgs:
429
- --collector.filesystem.mount-points-exclude=^/(dev|proc|sys|run/containerd/.+|var/lib/docker/.+|var/lib/kubelet/.+)($|/)
430
- --collector.filesystem.fs-types-exclude=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs|erofs)$
431
# - --collector.diskstats.ignored-devices=^(ram|loop|fd|(h|s|v)d[a-z]|nvme\\d+n\\d+p)\\d+$
432
# - --collector.textfile.directory=/run/prometheus
433
434
## Additional mounts from the host to node-exporter container
435
##
436
extraHostVolumeMounts: []
437
# - name: <mountName>
438
# hostPath: <hostPath>
439
# https://kubernetes.io/docs/concepts/storage/volumes/#hostpath-volume-types
440
# type: "" (Default)|DirectoryOrCreate|Directory|FileOrCreate|File|Socket|CharDevice|BlockDevice
441
# mountPath: <mountPath>
442
# readOnly: true|false
443
# mountPropagation: None|HostToContainer|Bidirectional
444
445
## Additional configmaps to be mounted.
446
##
447
configmaps: []
448
# - name: <configMapName>
449
# mountPath: <mountPath>
450
451
secrets: []
452
# - name: <secretName>
453
# mountPath: <mountPatch>
454
455
## Override the deployment namespace
456
##
457
namespaceOverride: ""
458
## Additional containers for export metrics to text file; fields image,imagePullPolicy,securityContext take default value from main container
459
##
460
sidecars: []
461
# - name: nvidia-dcgm-exporter
462
# image: nvidia/dcgm-exporter:1.4.3
463
# volumeMounts:
464
# - name: tmp
465
# mountPath: /tmp
466
467
## Volume for sidecar containers
468
##
469
sidecarVolumeMount: []
470
# - name: collector-textfiles
471
# mountPath: /run/prometheus
472
# readOnly: false
473
474
## Additional mounts from the host to sidecar containers
475
##
476
sidecarHostVolumeMounts: []
477
# - name: <mountName>
478
# hostPath: <hostPath>
479
# mountPath: <mountPath>
480
# readOnly: true|false
481
# mountPropagation: None|HostToContainer|Bidirectional
482
483
## Additional InitContainers to initialize the pod
484
##
485
extraInitContainers: []
486
## Additional InitContainer to fix hostfile permissions required for some exporters. All fixes are disabled by default.
487
##
488
permissionInitContainer:
489
image:
490
registry: quay.io
491
repository: prometheus/busybox
492
tag: latest
493
sha: ""
494
pullPolicy: IfNotPresent
495
securityContext:
496
runAsUser: 0
497
runAsGroup: 0
498
runAsNonRoot: false
499
fixes:
500
# Fixes /sys/devices/virtual/powercap/*/energy_uj
501
# Collector enabled by default
502
rapl: false
503
# Fixes /proc/slabinfo
504
# Collector disabled by default
505
slabinfo: false
506
extraCommands: []
507
## Liveness probe
508
##
509
livenessProbe:
510
failureThreshold: 3
511
httpGet:
512
httpHeaders: []
513
scheme: http
514
initialDelaySeconds: 0
515
periodSeconds: 10
516
successThreshold: 1
517
timeoutSeconds: 1
518
## Readiness probe
519
##
520
readinessProbe:
521
failureThreshold: 3
522
httpGet:
523
httpHeaders: []
524
scheme: http
525
initialDelaySeconds: 0
526
periodSeconds: 10
527
successThreshold: 1
528
timeoutSeconds: 1
529
# Enable vertical pod autoscaler support for prometheus-node-exporter
530
verticalPodAutoscaler:
531
enabled: false
532
# Recommender responsible for generating recommendation for the object.
533
# List should be empty (then the default recommender will generate the recommendation)
534
# or contain exactly one recommender.
535
# recommenders:
536
# - name: custom-recommender-performance
537
538
# List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
539
controlledResources: []
540
# Specifies which resource values should be controlled: RequestsOnly or RequestsAndLimits.
541
# controlledValues: RequestsAndLimits
542
543
# Define the max allowed resources for the pod
544
maxAllowed: {}
545
# cpu: 200m
546
# memory: 100Mi
547
# Define the min allowed resources for the pod
548
minAllowed: {}
549
# cpu: 200m
550
# memory: 100Mi
551
# updatePolicy:
552
# Specifies minimal number of replicas which need to be alive for VPA Updater to attempt pod eviction
553
# minReplicas: 1
554
# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
555
# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
556
# updateMode: Auto
557
558
# Extra manifests to deploy as an array
559
extraManifests: []
560
# - |
561
# apiVersion: v1
562
# kind: ConfigMap
563
# metadata:
564
# name: prometheus-extra
565
# data:
566
# extra-data: "value"
567
568
## Extra volumes to become available in the pod
569
extraVolumes: []
570
# - name: extra-volume
571
# secret:
572
# defaultMode: 420
573
# optional: false
574
# secretName: node-exporter-secret
575
576
## Extra volume mounts in the node-exporter container
577
extraVolumeMounts: []
578
# - name: extra-volume
579
# mountPath: /extra
580
# readOnly: true
581
582
# Override version of app, required if image.tag is defined and does not follow semver
583
version: ""
584

The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.