prombench/manifests/cluster-infra/node-exporter.yaml (79 lines of code) (raw):
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: node-exporter-main-node
spec:
selector:
matchLabels:
app: node-exporter
node: main-node
updateStrategy:
rollingUpdate:
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
app: node-exporter
node: main-node
name: node-exporter
spec:
securityContext:
runAsNonRoot: true
runAsUser: 65534
hostNetwork: true
hostPID: true
nodeSelector:
node-name: main-node
containers:
- image: quay.io/prometheus/node-exporter:v1.5.0
args:
- "--path.procfs=/host/proc"
- "--path.sysfs=/host/sys"
- "--path.rootfs=/host/root"
- "--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|run|home|tmp)($|/)"
- "--collector.diskstats.ignored-devices=^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$"
name: node-exporter
ports:
- containerPort: 9100
hostPort: 9100
name: scrape
volumeMounts:
- name: proc
readOnly: true
mountPath: /host/proc
- name: sys
readOnly: true
mountPath: /host/sys
- name: root
mountPath: /host/root
readOnly: true
tolerations:
- effect: NoSchedule
operator: Exists
volumes:
- name: proc
hostPath:
path: /proc
- name: sys
hostPath:
path: /sys
- name: root
hostPath:
path: /
---
apiVersion: v1
kind: Service
metadata:
name: node-exporter
labels:
app: node-exporter
spec:
type: ClusterIP
clusterIP: None
ports:
- name: metrics
port: 9100
protocol: TCP
selector:
app: node-exporter