Как хранить логи всех подов в кубернетах в одном месте на Node?

Я хочу хранить журналы контейнеров в кубернетах в одном месте. т.е. вывод имени модуля журналов kubectl

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

Вот мой 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

person Community    schedule 14.06.2019    source источник
comment
Вам следует подумать об использовании сервера журналов.   -  person Simon Martinelli    schedule 14.06.2019


Ответы (1)


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

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

person Malathi    schedule 05.07.2019