filebeat采集k8s容器日志

---
apiVersion: v1
kind: ConfigMap
metadata:
  name: filebeat-dom-config
  namespace: ksc-cicd
data:
  # 配置文件保存在ConfigMap
  filebeat.yml: |-
    filebeat.inputs:
      - type: log
        paths:
          - /data/logs/*.log
        # tags: ["access"]
        fields_under_root: true
        fields:
          project: microservice
          app: dom

    setup.ilm.enabled: false
    setup.template.name: "dom-log"
    setup.template.pattern: "dom-log-*"

    output.elasticsearch:
      hosts: ['10.37.0.159:9200']
      index: "dom-log-%{+yyyy.MM.dd}"

---

kind: Deployment
apiVersion: apps/v1
metadata:
  labels:
    io.kompose.service: dom
    app: dom
  name: dom-dom
  namespace: ksc-cicd
spec:
  selector:
    matchLabels:
      io.kompose.service: dom
      app: dom
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
    type: RollingUpdate
  replicas: 1
  template:
    metadata:
      labels:
        io.kompose.service: dom
        app: dom
    spec:
      nodeSelector:
        nodetype: web
      imagePullSecrets: #如果没有就去掉
      - name: ksyunregistrykey

      containers:
      - env:
        - name: TZ
          value: Asia/Shanghai
        image: xxxxx/dom:1.4.6
        imagePullPolicy: IfNotPresent
        name: dom
        ports:
        - containerPort: 8080
        - containerPort: 9090
        - containerPort: 1234
        resources:
          requests:
            memory: "500Mi"
            cpu: "250m"
          limits:
            memory: "1Gi"
            cpu: "250m"
        volumeMounts:
        - mountPath: /data/image/
          name: dom-claim0
        - mountPath: /data/uploadPath/
          name: dom-claim1
        - mountPath: /data/logs/
          name: dom-claim2
        # 日志采集器容器
      - name: filebeat
        image: elastic/filebeat:7.9.2
        args: [
          "-c", "/etc/filebeat.yml",
          "-e",
        ]
        resources:
          requests:
            cpu: 100m
            memory: 100Mi
          limits:
            memory: 500Mi
        securityContext:
          runAsUser: 0
        volumeMounts:
        # 挂载filebeat配置文件
        - name: filebeat-dom-config
          mountPath: /etc/filebeat.yml
          subPath: filebeat.yml
        # 将数据卷挂载到日志目录
        - name: dom-claim2
          mountPath: /data/logs/


      volumes:
      - name: dom-claim0
        hostPath:
          path: /data/docker/service/data/image/
      - name: dom-claim1
        hostPath:
          path: /data/docker/service/data/upload/
      - name: dom-claim2
        hostPath:
          path: /data/docker/service/logs/dom/
        #filebeat-config
      - name: filebeat-dom-config
        configMap:
          name: filebeat-dom-config

---
apiVersion: v1
kind: Service
metadata:
  annotations:
  creationTimestamp: null
  labels:
    io.kompose.service: dom
  name: dom
  namespace: ksc-cicd
spec:
  ports:
  - name: "8080"
    port: 8080
    targetPort: 8080
  - name: "9090"
    port: 9090
    targetPort: 9090
  - name: "1234"
    port: 1234
    targetPort: 1234
  selector:
    io.kompose.service: dom
test.yaml

 

posted @ 2022-04-28 09:26  随心朝阳  阅读(465)  评论(0编辑  收藏  举报