Denis
нет, просто хочу понять best practice здесь сперва когда смотришь на это, кажется что писать докер демоном в файл это лишний шаг..
Я использую fluend-bit агенты в кластере. Они конектятся к докеровскому сокету и пересылают все события во fluend, в готором агрегируются все логи. Если правильно понял
Grigorii
о, спасибо, попробую также!
bebebe
с типом: NodePort
Denis
о, спасибо, попробую также!
Классная штука. Вот тут можно почитать про настройку https://banzaicloud.com/blog/k8s-logging-tls/
Grigorii
спс!
Denis
А почему не слать агентами напрямую?
Шлю в эластик логи. Не совсем удобно это делать на прямую. Ну и там https из коробки плюсом.
Anton
подскажите плиз вот эта строку kubectl --namespace monitoring port-forward svc/grafana 3000 можно ли заменить вот этим конфигом? apiVersion: v1 kind: Service metadata: name: grafana namespace: monitoring labels: app: grafana spec: ports: - port: 3000 targetPort: 3000 selector: app: grafana ?
Vladimir
первым ты обозначаешь проброс порта на локалхост, а вторым сервис графаны
Grigorii
Я использую fluend-bit агенты в кластере. Они конектятся к докеровскому сокету и пересылают все события во fluend, в готором агрегируются все логи. Если правильно понял
ты что-то типа такого используешь в докер демоне? { "log-driver": "fluentd", "log-opts": { "fluentd-address": "unix:///path/to/fluentd.sock" } } и потом этот сокет в input fluent-bit указываешь?
Denis
ты что-то типа такого используешь в докер демоне? { "log-driver": "fluentd", "log-opts": { "fluentd-address": "unix:///path/to/fluentd.sock" } } и потом этот сокет в input fluent-bit указываешь?
Нет. Там ничего не нужно в докер демоне трогать. Просто ставишь fluentd-bit и указываешь куда логи форвадить в переменном окружении. Дальше он все сделает сам. Не какие правки в конфиги докер демона он не делает. Он монтирует volumes: volumeMounts: - name: varlog mountPath: /var/log - name: varlibdockercontainers readOnly: true mountPath: /var/lib/docker/containers И все
Grigorii
аа ты просто сказал, что он сокет докера слушает, я подумал., что логи он оттуда и забирает а так получается все равно он делает tail из файлов в директории logs? тогда остается проблема с ротацией все равно
Anton
подскажите плиз вот эта строку kubectl --namespace monitoring port-forward svc/grafana 3000 можно ли заменить вот этим конфигом? apiVersion: v1 kind: Service metadata: name: grafana-service labels: name: grafana spec: type: NodePort ports: - port: 3000 nodePort: 3000 name: http selector: name: grafana Конфиг взял NodePort
Anton
😅 ok
Nik
Вопрос века - ceph или minio?
Rainbow
O_O
Rainbow
на minio такие вещи как базу не поставишь. Писать менеджер статических файлов типа загруженных картинок на цеф зачем, если есть minio?
Grigorii
Да не верно выразился. Ты имеешь в виду ротация в самом докере?
ну да, как делать ротацию чтобы fluent не терял часть логов
Denis
ну да, как делать ротацию чтобы fluent не терял часть логов
Если не ошибаюсь это находися в конфиге докер демона. Ну у меня проблем не возникало. Всегда норм все было
Andor
а 12фактор нынче стало строгим стандартом, от которого нельзя отступать?
Andor
кто сказал?
V
кто сказал?
походу статистика.
Andor
ну тогда конечно надо всем так делать
Andor
любое отклонение от среднего - расстрел и увольнение
Artem
Просто есть best practices и если ты им следуешь, то избегаешь 99% проблем, если нет то ты ССЗБ и разгребаешь свои какахи сам. У меня, на пример, на второй вариант нет ни времени ни желания.
Andor
кто ж решил, что это "бест" практис?
Artem
Обчество
Andor
эти "бест" практис - универсальны для всех и каждого?
Artem
не must, я бы сказал
Andor
вот именно
Vadim
походу статистика.
на самом деле это фантазии граждан из Heroku, и проверить следуют ли они им сами нет никакой возможности
Andor
лично я считаю, что это лишь рекомендации, а не строгие требования
Alexander
Ну это ж как с техникой безопасности. Чтобы ее нарушать, нужно знать зачем и к чему это приведет. Если не знаешь - соблюдай.
Artem
лично я считаю, что это лишь рекомендации, а не строгие требования
Абсолютно точно! Если есть желание пройтись по уже размеченным на карте граблям самостоятельно, то никто не может тебе этого запретить.
Vadim
если технику безопасности для всех пишет частная контора, то у меня для вас плохие новости
Artem
Если кто-то намеренно игнорирует ТБ, то новости еще хуже
Andor
Ну игнорирование не потому что могу, а с причинами
Andor
К чему я это: Нельзя говорить что ты делаешь что-то неправильно, если не следуешь 12-фактор буквально
bebebe
Плотненький тут понедельник
Михаил
кто сказал?
Здравый смысл
Салтыдык
А кто-нибудь знает судьбу etcd-operator? Он изрядно приуныл после начала переезда и так и не переехал в etcd-io.
Vadim
да вроде жив - https://github.com/coreos/etcd-operator
Салтыдык
Vadim
последний коммит — 20 Aug
ну так шли пуллреквесты
Салтыдык
так шлют) Никто не отвечает
Anton
ну да, как делать ротацию чтобы fluent не терял часть логов
В докере вроде выставляется размер буфера для логов, поскольку fluent отправляет в elastic ничего ты не потеряешь если у тебя весь стек работает
Grigorii
В докере вроде выставляется размер буфера для логов, поскольку fluent отправляет в elastic ничего ты не потеряешь если у тебя весь стек работает
насколько я понимаю, буфер выставляется для драйвера, а драйвер в моем случае json-file, т.е. докер демон вообще не знает про fluentd и может случиться ситуация, когда писался лог-файл container.log, он достиг лимита и докер демон из него сделал container-ts-old-log.gzip, и продолжил писать в теперь уже пустой container.log а если fluentd был перегружен в это время и не успел прочитать старый файл, то эти строчки никогда уже не попадут в эластик
Max
А вот вопрос относительно использования fluentd в кубе. Мне нужна гарантия доставки и поддержания очередности сообщений в логах, fluentd это умеет? Мне нужно отправлять в amqp (rabbitmq), чтобы в последствии их обрабатывать по порядку
Anton
вручную чтоли перегружен? он постоянно мониторит
точно не помню но он вроде вешает watch на файл и если он менялся - перечитывает
Михаил
Прекрасный ник
Mentat
Прекрасный ник
Культура ников помирает, Миша, что делать. Мы вообще динозавры)
vAsya
Ребят, не бейте сильно)) Мне нужно отыскать грамотного DevOpS, шарящего в Kubernetes. Хотелось бы взять у него пару консультаций. Торжественно обещаю после этого покинуть чат)
Andor
ты можешь просто спрашивать здесь
bebebe
ловкий HR
Andor
или нанять хочешь?
bebebe
давайте договоримся, чьи апартаменты
Nik
У меня где-то был quickstart “как научиться хайрить девопсов чтобы не упасть лицом в грязь” 🙂
vAsya
Нет, я не ищу человека в штат или на аутсорс, задача скорее провести небольшой ликбез для команды что таое кубернетис, как работает, ответить на вопросы по ошибкам, с которыми мы столкнулись. Как-то так.
vAsya
Наверное, это можно уместить в 1 день.
Костя
Наверное, это можно уместить в 1 день.
Сильно сказано, особенно учитывая "вопросы по ошибкам, с которыми мы столкнулись"
Andor
консалтинг
vAsya
точно
Костя
Вы хотите бесплатно?
vAsya
Вы хотите бесплатно?
Не бесплатно конечно
vAsya
А зачем это им и почему этим занимается HR?
Им нужно. А у меня работа такая)
Салтыдык
так а если доку просто почитать в течение одного дня? Бесплатно вроде. А ошибки погуглить можно