apiVersion: apps/v1beta2 kind: DaemonSet metadata: name: logs-kafka-raw namespace: logs-kafka spec: selector: matchLabels: k8s-app: logs-kafka log-wrapping: none container-delimiters: tail version: v1 kubernetes.io/cluster-service: "true" template: metadata: labels: k8s-app: logs-kafka log-wrapping: none container-delimiters: tail version: v1 kubernetes.io/cluster-service: "true" spec: # maybe the /bin/sh does not forward signals? terminationGracePeriodSeconds: 5 containers: - name: kafkacat image: solsson/kafkacat-fixedkey@sha256:c9c78aef3090519b64ecc279c06df6914c94720a27469200c079f1871b10fa8f env: - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName command: - sh - -ec - > find /var/log/containers/ -maxdepth 1 -name *.log | grep -v "/$HOSTNAME" | tee /tmp/start-list; cd /var/log/containers/; tail -n 0 --follow=name *.log | kafkacat -b kafka-0.broker.kafka.svc.cluster.local:9092,kafka-1.broker.kafka.svc.cluster.local:9092,kafka-2.broker.kafka.svc.cluster.local:9092 -t ops-kube-logs-raw-001 -P -z snappy -v -d broker,topic -F $NODE_NAME livenessProbe: exec: command: - /bin/sh - -c - find /var/log/containers/ -maxdepth 1 -name *.log | grep -v "/$HOSTNAME" | diff - /tmp/start-list failureThreshold: 1 initialDelaySeconds: 5 periodSeconds: 5 resources: requests: cpu: 2m memory: 4Mi limits: cpu: 10m memory: 4Mi volumeMounts: - name: varlog mountPath: /var/log readOnly: true - name: varlibdockercontainers mountPath: /var/lib/docker/containers readOnly: true terminationGracePeriodSeconds: 10 volumes: - name: varlog hostPath: path: /var/log - name: varlibdockercontainers hostPath: path: /var/lib/docker/containers