apiVersion: apps/v1
kind: DaemonSet
metadata:
   name: fluentd-elasticsearch
   #namespace: kube-system
   labels:
      k8s-app: fluentd-logging
spec:
   selector:
      matchLabels:
         name: fluentd-elasticsearch
   template:
      metadata:
         labels:
            name: fluentd-elasticsearch
      spec:
         tolerations:
# this toleration is to have the daemonset runnable on master nodes
# remove it if your masters can't run pods
         -  key: node-role.kubernetes.io/master
            effect: NoSchedule
         containers:
         -  name: fluentd-elasticsearch
            image: quay.io/fluentd_elasticsearch/fluentd:v2.5.2
            env:
              - name:  FLUENT_ELASTICSEARCH_HOST
                value: "elasticsearch.dev"
              - name:  FLUENT_ELASTICSEARCH_PORT
                value: "9200"
              - name: FLUENT_ELASTICSEARCH_SCHEME
                value: "http"
              - name: FLUENT_UID
                value: "0"
            resources:
               limits:
                  memory: 200Mi
               requests:
                  cpu: 100m
                  memory: 200Mi
            volumeMounts:
            -  name: varlog
               mountPath: /data/nfs/fluentd/varlog
            -  name: varlibdockercontainers
               mountPath: /data/nfs/fluentd/varlibdockercontainers
               readOnly: true
         terminationGracePeriodSeconds: 30
         volumes:
         -  name: varlog
            persistentVolumeClaim:
               claimName: fluentd-pv-varlog
         -  name: varlibdockercontainers
            persistentVolumeClaim:
               claimName: fluentd-pv-varlibdockercontainers