Можно ли перенаправить логи в Kubernetes? - PullRequest
2 голосов
/ 15 марта 2019

Я новичок в Kubernetes, и когда я работал с Docker Swarm, я мог перенаправлять журналирование следующим образом:

  myapp:
    image: myregistry:443/mydomain/myapp
    deploy:
      mode: global
      restart_policy:
        condition: on-failure
    logging:
      driver: gelf
      options:
        gelf-address: "udp://localhost:12201"
    environment:
      - LOGGING_LEVEL=WARN

таким образом, вместо просмотра журналов с использованием docker service logs -f myapp или в этомcase kubectl logs -f myapp, я бы перенаправил их для централизованного мониторинга (например, с помощью ELK).

Возможно ли это с Kubernetes?Какое эквивалентное решение?

Спасибо за помощь

Ответы [ 2 ]

4 голосов
/ 15 марта 2019

Да, существует множество решений, как с открытым исходным кодом, так и коммерческих, для отправки всех журналов kubernetes (приложений, кластеров и всего остального) в такие системы, как ELK.

Если у вас уже настроен ElasticSearch.

Мы используем FluentBit для отправки журналов K8S на EFK:

Fluent Bit DaemonSet готов к использованию с Elasticsearch на обычном кластере Kubernetes

https://github.com/fluent/fluent-bit-kubernetes-logging

Мы также используем SearchGurard с ELk для ограничения пользователей на просмотр журналов, относящихся к приложениям, работающим только в их собственных пространствах имен.

0 голосов
/ 15 марта 2019

Стек ELK - очень распространенный подход к агрегированию и индексации журналов.Есть много хороших руководств по развертыванию этого стека на Kubernetes, или вы можете использовать эту стабильную таблицу управления, которая устанавливает все с помощью одной команды:

https://github.com/helm/charts/tree/master/stable/elastic-stack

Вы можете настроить развертывание черезvalues.yaml, если вы раньше не работали с Хелмом.

...