# please keep this file synchronized with cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.yaml apiVersion: extensions/v1beta1 kind: DaemonSet metadata: name: fluentd-gcp-v1.34 namespace: kube-system labels: k8s-app: fluentd-gcp kubernetes.io/cluster-service: "true" version: v1.34 spec: template: metadata: labels: k8s-app: fluentd-gcp kubernetes.io/cluster-service: "true" version: v1.34 spec: containers: - name: fluentd-gcp image: gcr.io/google_containers/fluentd-gcp:1.34 # If fluentd consumes its own logs, the following situation may happen: # fluentd fails to send a chunk to the server => writes it to the log => # tries to send this message to the server => fails to send a chunk and so on. # Writing to a file, which is not exported to the back-end prevents it. # It also allows to increase the fluentd verbosity by default. command: - '/bin/sh' - '-c' - '/run.sh $FLUENTD_ARGS 2>&1 >>/var/log/fluentd.log' resources: limits: memory: 200Mi requests: cpu: 100m memory: 200Mi volumeMounts: - name: varlog mountPath: /var/log - name: varlibdockercontainers mountPath: /var/lib/docker/containers readOnly: true # Liveness probe is aimed to help in situarions where fluentd # silently hangs for no apparent reasons until manual restart. # The idea of this probe is that if fluentd is not queueing or # flushing chunks for 5 minutes, something is not right. If # you want to change the fluentd configuration, reducing amount of # logs fluentd collects, consider changing the threshold or turning # liveness probe off completely. livenessProbe: initialDelaySeconds: 600 periodSeconds: 60 exec: command: - '/bin/sh' - '-c' - > LIVENESS_THRESHOLD_SECONDS=${LIVENESS_THRESHOLD_SECONDS:-300}; STUCK_THRESHOLD_SECONDS=${LIVENESS_THRESHOLD_SECONDS:-900}; if [ ! -e /var/log/fluentd-buffers ]; then exit 1; fi; LAST_MODIFIED_DATE=`stat /var/log/fluentd-buffers | grep Modify | sed -r "s/Modify: (.*)/\1/"`; LAST_MODIFIED_TIMESTAMP=`date -d "$LAST_MODIFIED_DATE" +%s`; if [ `date +%s` -gt `expr $LAST_MODIFIED_TIMESTAMP + $STUCK_THRESHOLD_SECONDS` ]; then rm -rf /var/log/fluentd-buffers; exit 1; fi; if [ `date +%s` -gt `expr $LAST_MODIFIED_TIMESTAMP + $LIVENESS_THRESHOLD_SECONDS` ]; then exit 1; fi; nodeSelector: alpha.kubernetes.io/fluentd-ds-ready: "true" terminationGracePeriodSeconds: 30 volumes: - name: varlog hostPath: path: /var/log - name: varlibdockercontainers hostPath: path: /var/lib/docker/containers