Как хранить журналы всех контейнеров в kubernetes в одном месте на узле? - PullRequest
2 голосов
/ 14 июня 2019

Я хочу хранить журналы стручков в kubernetes в одном месте. т.е. вывод kubectl logs podname

Я задавал этот вопрос Базовое ведение журнала Kubernetes , которое дает мне успешные журналы для счетчика ... Как изменить этот атрибут args в спецификации, чтобы получить вывод kubectl logs podname , хранящегося в файл в одном месте?

Вот мой pod.yaml, который я создал, но не смог увидеть ни одного файла в папке / tmp / logs /

apiVersion: v1
kind: Service
metadata:
  name: spring-boot-demo-pricing
spec:
  ports:
  - name: spring-boot-pricing
    port: 8084
    targetPort: 8084
  selector:
    app: spring-boot-demo-pricing

---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: spring-boot-demo-pricing
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: spring-boot-demo-pricing
    spec:
      containers:
      - name: spring-boot-demo-pricing
        image: djtijare/a2ipricing12062019:v1
        imagePullPolicy: IfNotPresent
       # envFrom:
        #- configMapRef:
        #    name: spring-boot-demo-config-map
        resources:
          requests:
            cpu: 100m
            memory: 1Gi
        ports:
        - containerPort: 8084
        args: [/bin/sh, -c,
          'i=0; while true; do echo "$i: $(date)" >> /u01/kubernetes_prac/logs/log_output.txt; i=$((i+1)); sleep 1; done']
        volumeMounts:
        - name: varlog
          mountPath: /u01/kubernetes_prac/logs
      volumes:
       - name: varlog
         hostPath:
           path: /tmp/logs

1 Ответ

1 голос
/ 05 июля 2019

Правильный подход заключается в том, чтобы хранить журналы вне кластера, например, если вы используете AWS, существуют условия, такие как хранение журналов в cloudwatch, s3 и т. Д. Примером может быть fluentd , который записываетко многим источникам.Причина в том, что кластеры kubernetes работают на VPC (виртуальное частное облако), и предоставление доступа к узлам в кластере может быть не всегда правильным.Так что это один из таких подходов.

Эта ссылка содержит руководство по представлению журнала всех контейнеров в EFK (Elasticsearch, Fluentd и Kibana).

...