Выбор ответа Junior Логи: Loki и ELK обновлено
Как логи из контейнеров попадают в хранилище
Вопрос
Как обычно доставляют логи приложений из Kubernetes в Loki или Elasticsearch?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: В stdout, агент-DaemonSet на узле читает и отправляет. Агент-DaemonSet читает /var/log/pods, добавляет метки пода и namespace, буферизует при недоступности хранилища и отправляет.
Варианты ответа
- Каждый под сам подключается к Elasticsearch по HTTP и пишет батчами
- В stdout, агент-DaemonSet на узле читает и отправляетправильный ответ
- Kubernetes хранит все логи в etcd, откуда их забирает хранилище
- Логи копируются по расписанию через kubectl logs в CronJob
Разбор
Агент-DaemonSet читает /var/log/pods, добавляет метки пода и namespace, буферизует при недоступности хранилища и отправляет. Прямая отправка из приложения усложняет код и теряет логи при сбоях сети. etcd хранит объекты API, а не логи, kubectl logs для отладки, а не для доставки.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.