han8809 发表于 2019-2-20 10:42:46

Docker(三十二)k8s EFK日志搜集

  两个文件
  1,fluentd-ed-configmap.yaml
kind: ConfigMap
apiVersion: v1
metadata:
name: fluentd-es-config-v0.1.6
namespace: kube-system
labels:
    addonmanager.kubernetes.io/mode: Reconcile
data:
system.conf: |-
   
      root_dir /tmp/fluentd-buffers/
   
containers.input.conf: |-
   
      @id fluentd-containers.log
      @type tail
      path /var/log/containers/*.log
      pos_file /var/log/es-containers.log.pos
      tag raw.kubernetes.*
      read_from_head true
      
      @type multi_format
      
          format json
          time_key time
          time_format %Y-%m-%dT%H:%M:%S.%NZ
      
      
          format /^(?.+) (?stdout|stderr) [^ ]* (?.*)$/
          time_format %Y-%m-%dT%H:%M:%S.%N%:z
      
      
   

output.conf: |-
   
      @type kubernetes_metadata
   
   
   @id elasticsearch
   @type elasticsearch
   @log_level info
   type_name fluentd
   index_name fluentd
   include_tag_key true
   host 172.17.123.117
   port 9200
   logstash_format true
   
       @type file
       path /var/log/fluentd-buffers/kubernetes.system.buffer
       flush_mode interval
       retry_type exponential_backoff
       flush_thread_count 2
       flush_interval 5s
       retry_forever
       retry_max_interval 30
       chunk_limit_size 2M
       queue_limit_length 8
       overflow_action block
   
      2,fluentd-es-ds.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: fluentd-es
namespace: kube-system
labels:
    k8s-app: fluentd-es
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: fluentd-es
labels:
    k8s-app: fluentd-es
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile
rules:
- apiGroups:
- ""
resources:
- "namespaces"
- "pods"
verbs:
- "get"
- "watch"
- "list"
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: fluentd-es
labels:
    k8s-app: fluentd-es
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile
subjects:
- kind: ServiceAccount
name: fluentd-es
namespace: kube-system
apiGroup: ""
roleRef:
kind: ClusterRole
name: fluentd-es
apiGroup: ""
---
#apiVersion: apps/v1
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: fluentd-es-v2.2.1
namespace: kube-system
labels:
    k8s-app: fluentd-es
    version: v2.2.1
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile
spec:
selector:
    matchLabels:
      k8s-app: fluentd-es
      version: v2.2.1
template:
    metadata:
      labels:
      k8s-app: fluentd-es
      kubernetes.io/cluster-service: "true"
      version: v2.2.1
      # This annotation ensures that fluentd does not get evicted if the node
      # supports critical pod annotation based priority scheme.
      # Note that this does not guarantee admission on the nodes (#40573).
      annotations:
      scheduler.alpha.kubernetes.io/critical-pod: ''
      seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
    spec:
      priorityClassName: system-node-critical
      serviceAccountName: fluentd-es
      containers:
      - name: fluentd-es
      image: anjia0532/google-containers.fluentd-elasticsearch:v2.2.0
      env:
      - name: FLUENTD_ARGS
          value: --no-supervisor -q
      resources:
          limits:
            memory: 500Mi
          requests:
            cpu: 100m
            memory: 200Mi
      volumeMounts:
      - name: varlog
          mountPath: /var/log
      - name: varlibdockercontainers
          mountPath: /var/lib/docker/containers
          readOnly: true
      - name: config-volume
          mountPath: /etc/fluent/config.d
      terminationGracePeriodSeconds: 30
      volumes:
      - name: varlog
      hostPath:
          path: /var/log
      - name: varlibdockercontainers
      hostPath:
          path: /var/lib/docker/containers
      - name: config-volume
      configMap:
          name: fluentd-es-config-v0.1.6  注意事项,配置文件里的es 的地址要改成自己的地址



页: [1]
查看完整版本: Docker(三十二)k8s EFK日志搜集