Skip to content
gqlxj1987's Blog
Go back

Centralized logging in K8s

Edit page

原文链接

采用logstash作为sidecar的方式,去收集日志,类似于当前的filebeat的模式

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: wso2apim
spec:
  replicas: 1
  minReadySeconds: 30
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
    type: RollingUpdate
  template:
    metadata:
      labels:
        deployment: wso2apim
    spec:
      initContainers:
      - name: init-wso2-elasticsearch-service
        image: busybox
        command: ['sh', '-c', 'until nc -z wso2-elasticsearch-service 9200; do echo waiting for wso2-elasticsearch-service; sleep 2; done;']
      containers:
      - name: wso2apim
        image: wso2/wso2am:2.6.0
        livenessProbe:
          exec:
            command:
            - /bin/bash
            - -c
            - nc -z localhost 9443
          initialDelaySeconds: 150
          periodSeconds: 10
        readinessProbe:
          exec:
            command:
              - /bin/bash
              - -c
              - nc -z localhost 9443
          initialDelaySeconds: 150
          periodSeconds: 10
        imagePullPolicy: Always
        ports:
        -
          containerPort: 8280
          protocol: "TCP"
        -
          containerPort: 8243
          protocol: "TCP"
        -
          containerPort: 9763
          protocol: "TCP"
        -
          containerPort: 9443
          protocol: "TCP"
        -
          containerPort: 5672
          protocol: "TCP"
        -
          containerPort: 9711
          protocol: "TCP"
        -
          containerPort: 9611
          protocol: "TCP"
        -
          containerPort: 7711
          protocol: "TCP"
        -
          containerPort: 7611
          protocol: "TCP"
        volumeMounts:
        - name: shared-logs
          mountPath: /home/wso2carbon/wso2am-2.6.0/repository/logs/
      - name: logstash
        image: maanadev/logstash:6.5.3-custom
        volumeMounts:
        - name: shared-logs
          mountPath: /usr/share/logstash/mylogs/
        - name: logstash-yml
          mountPath: /usr/share/logstash/config/logstash.yml
          subPath: logstash.yml
        - name: logstash-conf
          mountPath: /usr/share/logstash/pipeline/logstash.conf
          subPath: logstash.conf
        env:
        - name: NODE_ID
          value: "wso2-apim"
        - name: NODE_IP
          valueFrom:
            fieldRef:
             fieldPath: status.podIP
      volumes:
      - name: shared-logs
        emptyDir: {}
      - name: logstash-yml
        configMap:
          name: logstash-yml
      - name: logstash-conf
        configMap:
						name: logstash-conf

采用伴生容器的方式


Edit page
Share this post on:

Previous Post
Akka Monitor
Next Post
The Affinity Between Events, Streams and Serverless