apiVersion: v1 kind: ServiceAccount metadata: name: fluentbit namespace: default --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: fluentbit-role rules: - apiGroups: [""] resources: - namespaces - pods - pods/logs verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: fluentbit-role-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: fluentbit-role subjects: - kind: ServiceAccount name: fluentbit namespace: default --- apiVersion: v1 kind: ConfigMap metadata: name: fluent-bit-config labels: app.kubernetes.io/name: fluentbit data: fluent-bit.conf: | [SERVICE] Parsers_File /fluent-bit/parsers/parsers.conf [INPUT] Name tail Tag kube.* Path /var/log/containers/*.log DB /var/log/flb_kube.db Docker_Mode On Mem_Buf_Limit 50MB Skip_Long_Lines On Refresh_Interval 10 Parser docker [FILTER] Name kubernetes Match kube.* Kube_Tag_Prefix kube.var.log.containers. Merge_Log On Merge_Log_Key log_processed [OUTPUT] Name kafka Match * Brokers b-2.demo4.lv5cnr.c12.kafka.us-west-2.amazonaws.com:9092,b-1.demo4.lv5cnr.c12.kafka.us-west-2.amazonaws.com:9092 Topics test --- apiVersion: apps/v1 kind: DaemonSet metadata: name: fluentbit labels: app.kubernetes.io/name: fluentbit spec: selector: matchLabels: name: fluentbit template: metadata: labels: name: fluentbit spec: serviceAccountName: fluentbit containers: - name: aws-for-fluent-bit image: public.ecr.aws/aws-observability/aws-for-fluent-bit:init-latest volumeMounts: - name: varlog mountPath: /var/log - name: varlibdockercontainers mountPath: /var/lib/docker/containers readOnly: true - name: fluent-bit-config mountPath: /fluent-bit/etc/ resources: limits: cpu: 500m memory: 600Mi requests: cpu: 500m memory: 600Mi volumes: - name: varlog hostPath: path: /var/log - name: varlibdockercontainers hostPath: path: /var/lib/docker/containers - name: fluent-bit-config configMap: name: fluent-bit-config