Pull to refresh

Comments 21

С мониторингом логов как поступили?

В kubernetes крайне неудобная система логирования, весь вывод консоли в лог, а потом кибаноподобные монстры с сотнями фильтров, для 1000+микросервисов наверное оправдано, для 50+ ну вот вообще никак

Эм, k8s тут ничего не изобретал, это best practices для контейнеров в принципе, k8s просто его поддержал.

В чем у вас проблема с логами?

Проблема не в логах как таковых, а в "кибаноподобных монстрах", которые хотят ресурсов как не в себя, даже если логов там всего пара десятков мегабайт в день.

Можно собирать логи с контейнеров каким нибудь легковесным fluent-bit и отправлять на syslog сервер, у него есть output плагин для syslog. В централизованном хранении логов много плюсов, это у вас сейчас их 50 мегабайт в день, дальше будет больше и у вас уже будет реализованное решение.

Спасибо за идею. Попробую.

Сейчас у нас несколько серверов с голым докером, который пишет логи в syslog. Попытки заменить это все на кубер заканчивалось тем, что система логирования (ELK) требует выделить под это все еще один сервер как минимум.
Вариант с Loki, конечно, легковеснее, но все-равно.

А вот то что fluent-bit может писать в syslog - это открытие надо пощупать. Это то что нам и нужно.

Ну так конкретнее, какие монстры? Loki ресурсов меньше эластика потребляет, к примеру.

Легковеснее сислога нет ничего, наверное :)
Тут уже подсказали как научить кубер писать в сислог, буду экспериментировать.

А смотреть потом из сислога чем? ;)

Консолью. У нас нет необходимости в каком-то веб-интерфейсе и прочих свистелках для просмотра логов.

Для разработчиков я делаю job в Gitlab, которая выводит логи их приложения прямо в Gitlab. Какой-то централизованной системы логов пока нет.

Раз у вас свои железки, то на чем вы делали мастера и воркеры? Прям на железе, или на виртуалках?

На виртуалках. Kubuntu 20.04 гостевая ОС.

А почему не пробовали установку с kubespray? Или к примеру deckhouse?

Deckhouse однажды пробовал, но тогда не хватило компетенции разобраться. Мне кажется чтобы понять Kubernetes надо начинать с самого обычного k8s и разворачивать поэтапно.

Да разобраться в kubespray сложнее, чем в том, как самому kubeadm в ансибл загнать. Ну, прям вот с ходу kubespray конечно поставит кластер, но как только захочется его кастомизировать...

никаких проблем не возникнет если знаете ansible, а ansible достаточно легок в освоении.

я начинал с ванильного k8s, потом kubespray на ansible - все что требовалось кастомизировать - кастомизировалось за один день максимум.

еще момент - я использовал форк kubespray от southbridge(https://github.com/southbridgeio/kubespray) - они раскатывают кластер целиком при помощи ansible, а последний официальный kubespray использует под собой kubeadm

Так вот, когда неплохо знаешь ansible - запилить свой ansible для kubeadm чуть ли не быстрее, чем разобраться в kubespray. Мы, потратив немало времени на подпиливание kubespray в итоге плюнули, переписали с нуля и это вышло быстро, и работает оно быстро и стабильно. Очень быстро!

а последний официальный kubespray использует под собой kubeadm

Ага, но с костылями, "исторически сложившимися". В общем, как человек, закопавший в kubespray достаточно времени, говорю, что не стоит другим закапывать в него своё время. Если ты понимаешь примерно, как обвязать ансиблом kubeadm - стоит просто это сделать и всё.

вы и без kubeadm все делали? там и сертификаты выписывались не на год - что в то время еще было головной болью

Для сборки докер образов присмотритесь к kaniko. Отлично интегрируется с гитлабом, и собирать все будет в том же кубе, от придатка с отдельной вм с докером и dind гитлаб агентами избавитесь.

Sign up to leave a comment.

Articles