apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: prometheus-node-exporter
  labels:
    application: prometheus-node-exporter
    version: v0.16.0
    component: node-exporter
  namespace: kube-system
spec:
  selector:
    matchLabels:
      application: prometheus-node-exporter
  updateStrategy:
    type: RollingUpdate
  template:
    metadata:
      name: prometheus-node-exporter
      labels:
        application: prometheus-node-exporter
        version: v0.16.0
        component: node-exporter
    spec:
      priorityClassName: system-node-critical
      tolerations:
      - operator: Exists
        effect: NoSchedule
      - operator: Exists
        effect: NoExecute
      containers:
      - image: registry.opensource.zalan.do/teapot/prometheus-node-exporter:v0.16.0
        args:
          - --collector.textfile.directory=/prometheus-exporter-data
        name: prometheus-node-exporter
        ports:
        - name: prom-node-exp
          containerPort: 9100
          hostPort: 9100
        resources:
          limits:
            cpu: 20m
            memory: 75Mi
          requests:
            cpu: 20m
            memory: 75Mi
        securityContext:
          privileged: true
        volumeMounts:
        - name: prometheus-node-exporter-volume
          mountPath: /prometheus-exporter-data
          readOnly: false
      - image: registry.opensource.zalan.do/teapot/prometheus-node-exporter-txt-exporter:v0.0.4
        name: prometheus-node-exporter-conntrack-exporter
        resources:
          limits:
            cpu: 10m
            memory: 40Mi
          requests:
            cpu: 10m
            memory: 40Mi
        securityContext:
          privileged: true
        volumeMounts:
        - name: prometheus-node-exporter-volume
          mountPath: /prometheus-exporter-data
          readOnly: false
      hostNetwork: true
      hostPID: true
      volumes:
        - name: prometheus-node-exporter-volume
          emptyDir:
            medium: Memory
