apiVersion: apps/v1 kind: DaemonSet metadata: name: node-exporter namespace: monitoring labels: app: node-exporter spec: selector: matchLabels: app: node-exporter updateStrategy: type: RollingUpdate rollingUpdate: maxUnavailable: 1 template: metadata: labels: app: node-exporter spec: serviceAccountName: node-exporter securityContext: runAsNonRoot: true runAsUser: 65534 containers: - name: node-exporter image: quay.io/prometheus/node-exporter:v1.7.0 imagePullPolicy: IfNotPresent args: - --path.procfs=/host/proc - --path.sysfs=/host/sys - --web.listen-address=0.0.0.0:9100 - --collector.ethtool ports: - name: metrics containerPort: 9100 protocol: TCP livenessProbe: httpGet: path: / port: 9100 readinessProbe: httpGet: path: / port: 9100 resources: limits: cpu: 200m memory: 50Mi requests: cpu: 100m memory: 30Mi volumeMounts: - name: proc mountPath: /host/proc readOnly: true - name: sys mountPath: /host/sys readOnly: true hostNetwork: true hostPID: true tolerations: - effect: NoSchedule operator: Exists volumes: - name: proc hostPath: path: /proc - name: sys hostPath: path: /sys