DevOps не горит – Telegram
DevOps не горит
490 subscribers
37 photos
2 files
65 links
Привет!)
Я Володя @Mrgreyves
Пришло время наконец-то завести свой канал
Что тут будет: инженерка, статьи про всякие полезные штуки и мемесы
Попробую даже регулярно что-то постить ^_^
Download Telegram
Вечерний пост или Docker image infratools

Периодически мне нужен docker образ с некоторым количеством тулинга что бы подебажить что-то внутри k8s, а внутри запущенного подика снова устанавливать все что понадобится максимально ну такое.
Наконец то дошли руки и я его собрал =)

Сам докер образ и его репа вот тут

Заодно немного размял пальцы с Github Actions и вспомнил почему он мне не очень нравится😂😂😂

А еще я включил комментарии, так что можем пообщаться там =)
Надеюсь образ вам пригодится, а если вам что-то понадобится - смело создавайте пулл-реквесты =)
🔥6👍1
Observability meetup - итоги P-1

Коллеги, всем привет! =)
Поговорим про доклады Observability meetup который мы не так давно провели
Первый доклад от Алексея Колоскова - Как внедрить распределенную трассировку на open source инструментах
Доклад интересен тем что Алексей рассказывает про историю выбора туллинга для построения распределенной трассировки с учетом определенных ограничений
И самое интересное ограничение в том что разработка не очень хочет имплементить либы для трассировки в свой код
Конечно же в таком случае можно втащить Istio и получить трассировку и много всего интересного, НО это большой “кусок” того за чем надо присматривать
Решение оказалось достаточно простым - использование OTEL-collector который как раз за счет инструментирования (Instrumentation) позволяет формировать трейсы
Интересный подход и интересная реализация

Ссылка на доклад с тайм кодом тут
👍6🔥4
Observability meetup - итоги P-2

Коллеги, всем привет! =)
Второй доклад митапа от Сергея Будникова - Трассировка: как приручить 200 тысяч спанов в секунду при помощи Grafana Tempo и искать трейсы за 3 секунды

Забавный факт - мне тоже удалось принять участие в тюнинге Grafana Tempo =)

Как обычно внезапно все поняли, что трейсов стало ооочень много и все дружно кинулись тюнить Grafana Tempo
Конечно же тюнинг начался с заливания ресурсами, но помогло это только на время
Самая интересная часть доклада о том как определить что именно тормозит (а мы помним что Grafana Tempo типичное микросервисное приложение)
В своем докладе Сергей подробно рассказывает на какие компоненты и их параметры стоит обращать внимание и как их нужно корректировать в зависимости от нагрузки
Так же результатом тюнинга стал дашборд который “отрисовывает” все “узкие” места всего Grafana Tempo стека (ссылка на дашборд в презентации)
Ссылка на доклад с тайм кодом тут
🔥5
Observability meetup - итоги P-3

Коллеги, всем привет! =)
Третий доклад нашего митапа от Анны Гобрусевой - Alerts-Registry. Одно место управления алертами
В докладе Анна рассказывает про то как эволюционировал алертинг в Ozon
Интересно то как доставляют и обновляют алерты в кластера и как появился отдельный внутренний продукт и какие задачи он решает - Alerts-Registry
Так же интересно что в Ozon в качестве хранилища используется Thanos, удобно то что он умеет в down sampling (тот момент когда на “дальнем” промежутке времени нам не обязательно хранить метрики в разрешении раз в 30с)
Работа с метриками тоже реализована “не слабо”, метрик то может быть много, а у метрик есть еще и лейблы с потенциально большим “координалити”
Доклад получился ну прям огонь ^_^

Ссылка на доклад с тайм кодом тут
🔥3
Observability meetup - итоги P-4 (завершающая)

Коллеги, всем привет! =)
Четвертый и последний доклад митапа от Андрея Кречетова “Мониторинг под ключ”
Интересен сам подход - как “катить” стек мониторинга в кучу кластеров
Причем кластера зачастую не просто в условном облачном провайдере, а могут быть и на baremetall
Так же интересно посмотреть на весь туллинг который применятся для деплоя кластеров (у ребят это Terraform или CAPI), ну и Rancher Fleet (вот что что, а Fleet я не ожидал увидеть совсем)
Схема взаимодействия компонентов мониторинга тоже интересная, с учетом того что кластеров может быть прям ну очень много

Ссылка на доклад с тайм кодом тут
🔥4
Kubernetes CNI benchmark

Коллеги, всем привет! =)
Пост для любителей k8s и его CNI
Свежий benchmark популярных сетевых плагинов
Наверняка про многие вы слышали, а некоторые у вас даже используются (у меня например Cilium, а переезжали мы с Calico по определенным причинам ^_^)
Для меня Antrea стал новым CNI, ни разу до этого про него не слышал
По моим скромным ощущения на рынке сейчас доминируют Cilium и Calico
Да и показатели у них весь приличные в тестах, хотя в некоторых тестах выигрывают другие CNI

А какой у CNI? Пишите в комментах =)
👍6
Коллеги, всем привет!=)
Минутка шутка-юмора 🤣
Со всей силы готовлюсь к одному большому митапу и есть у меня вот такой слайдик
Как вам?=)
ЗЫ - анонс митапа сделаю позже, как только будет готова официальная страница =)
😁17🔥3🤔2
Kuberconf24
Коллеги, всем привет! =)
Пришло время приоткрыть завесу тайна и ответить откуда предыдущий слайд
4 июля 2024 состоится KuberConf/24
Где я буду выступать с докладом “Твой observability мертв, мой тоже”
В нем я расскажу про крайне не простой путь построения эффективного observability в “некой небольшой организации”
Подсвечу неочевидные моменты, препятствия и трудности
Ну и расскажу на что стоит обращать внимание сразу при построении observability, что бы в дальнейшем было немного проще
Ссылка на конференцию

Будет онлайн/офлайн - приходите, будет интересно =)
🔥81
Saint Highload 24

Пу-пу-пу, то пишу редко, то 2 поста и почти одновременно =)
24-25 буду на конферении Saint Highload 24
Встретить меня вы сможете на стенде Magnit Tech
Буду рад всех увидеть, а еще у нас будет много разных активностей за участие в которых вы сможете получить мерч и всякие прикольные штуки
А еще будет одна секретная активность, за которую можно будет получить ооооочень “не кислый” приз =)
🔥91👍1
Коллеги, всем дооообрейший вечерок!=)
Прошел KuberConf`24 где у меня был доклад "Твой Observability мертв, мой тоже"
Именно оттуда был скриншот с недоумевающим Томом
У меня было несколько целей, которые я приследовал во время подготовки:
— Подсветить, казалось бы, некоторые очевидные моменты построения комплексного Observability
— Подсветить что "серебряной пули" для Observability, увы, нет и на поиск перво причин инцидента может уходить много вермени
— К сожаланию, не существует единого инструмента который закроет все потребности в мониторинге, логирование, трейсинге, etc.

Ну и мое выступление доступ на Youtube вот тут

Да-да, с фамилией там "обшиблись" 😂😂😂
🔥15
Event Router

Коллеги, всем привет = )
Рано или поздно, во время например дебага, мы смотрим евенты внутри k8s
Историческая справка - event это события которые происходят в namespace, например создание пода, evict и тд
Конечно же у нас есть замечательна команда kubectl get events, но ходить по кластерам и неймспейсам - нууу такое себе, да и наверняка нам хочется поискать что-то в евентах
На помощь нам приходит Event Router
К сожалению проект уже давно не развивается, но это совершенно не мешает ему приносить пользу = )
Установить Event Router мы можем при помощи helm chart от wikimedia
В values нам нужно указать какой sinks мы будем использовать (sinks - это место куда мы хотим отправлять ивенты с кластеров), в нашем случае это stdout
Пример конфигурации:


sink: stdout


По итогу Event Router соберет ивенты со всех неймспейсов и “выкинет” их из своего stdout и тут мы их соберем при помощи какого нибудь логшиппера
А поиск и отрисовка “всякого полезного” уже дело Grafana или Kibana =)
🔥10
Коллеги, всем пятнички =)
А между тем, спешу вас поздравить с праздником - "Днем системного администратора"
Многие из нас в DevOps как раз и попали из админов/сетевиков/etc.
Уррра, коллеги!^_^
🎉18🔥9
KRR

Коллеги, всем привет =)
И еще раз в тему использования ресурсов приложений и рекомендаций
Не так давно с коллегами наткнулись на вот такой интересный проект - Kubernetes Resource Recommendation
Основная его задача это дать рекомендации по ресурсам для приложений, в облаке то оказывается “не все бесплатно”
Пример запуска в нашел случае выглядел следующем образом:
krr simple -p http://VM-ADDRESS:8428 --prometheus-label cluster -l ENV-LABEL -n SERVICE-NAMESPACE --allow-hpa --history_duration=48

То есть krr из victoria metrics собирает информацию о том сколько ресурсов потребляют поды в том или ином неймспейсе за период 48 часов и выдает рекомендации (увеличить или уменьшить)
На выходе мы получаем примерно такую картину (соррян, под рукой krr нет, по этому скриншот с офф репозитория ^_^)
KRR вполне себе может быть встроен в CI/CD pipeline, а разработчиком можно показать/рассказать как им пользовать =)
🔥9👍4👏1
Коллеги, всем пятнички!=)
Вечерний пост в режиме "хозяйке на заметку"
Довелось мне тут "покрутить" почти что selfhosted Gitlab
Конечно же выделили ему дофига ядер/оперативки и все такое
И на него как все накинулись толпой =)
И все это начало безбожно тормозить, репы импортировались медленно, пепелайны запускались долго
Начали разбираться, с ресурсами все было ОК
Оказалось что нужно подтюнить параметры Sidekiq
Суть заключается в том что Sidekiq как раз и занимается бекграунд джобами, а именно импорты/экспорты, пепелайны и все такое.
По умолчанию он !!!ОДИН!!!, может использовать только !!!ОДНО!!! ядро, и работает в 20 потоков 😱
По итогу мы получаем ситуацию, когда в гитлабе много разных активностей которые стоят в очереди, да еще и на одном ядре
Решение может быть следующим:

sidekiq['queue_groups'] = ['*'] * 4

То есть мы увеличиваем количество Sidekiq до 4х
Конечно же у нас увеличится нагрузка на CPU и RAM, это тоже стоит держать в голове
Надеюсь эта заметка вам поможет =)
PS - если упороться, то распределением задач можно достаточно гибко управлять, например группировать их по типам или приоритету =)
👍18
Warp

Коллеги, всем привет =)
В последнее время во многих каналах все чаще и чаще начали появляться посты про Warp
Если вы вдруг не слышали - то это “новомодный” терминал, который обещает быть ооой каким крутым
В качестве базового терминала я уже достаточно давно использую iTerm2 в связке с zsh+oh-my-zshell+powerline10k и данной связки мне вполне себе хватало

Отправился я почитать, что там пишут на офф сайте про Warp
В глаза бросилось сразу 2 вещи:
— оно платное😐
— в нем еще и логиниться надо😠
— оно есть для Linux, уххх как мне в условной “убунте” не хватало нормального терминала💃💃

Спешу вас успокоить:
— оно бесплатное, но если хочется дергать запросы напрямую к Warp AI, то будь добр заплатить некоторое количество денег (больше чем уверен что почти у каждого на этом канале есть та или иная подписка на тот или иной AI-помогатор)
— надо “залогиниться”, да надо - кажется это связано с тем что есть возможно формировать скрипты и обмениваться ими с коллегами
После борьбы с сомнения и лулзами, Warp был установлен
После 10 минут тыканья новой консоли ощущения следующие:
-- выглядит удобно
-- удобно сделан поиск команд
-- удобно сделан список автодополнения

Рекомендовать вам Warp со всей силы не буду, но сам точно попробую
Думаю, через некоторое отпишусь про свой опыт использования, живой скрин будет в треде =)
А каким терминалом и оболочкой вы пользуетесь?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4😁2❤‍🔥1
Коллеги, всем дооообрейший вечерочек!^_^
Вечерний пост или лень двигатель прогресса 🤣

Многие из нас пользуют terraform для управления своей инфрой
Столкнулся я тут как то с тем что интернет у меня был не очень,
а провайдеров надо качать много и часто
И у меня наконец то дошли руки закэшировать их локально =)
Для этого нужно сделать следующее
Создать в домашней директории пользователя файлик .terraformrc
со следующим содержимым

plugin_cache_dir = "$HOME/.terraform.d/**plugin-cache**/"
disable_checkpoint = true

Продолжать пользоваться терраформом =)
Да-да, рано или поздно кэши нужно будет обновлять
А еще есть вопросы с доступность официальных хранилок провайдеров,
но вы хорошие инженеры, вы точно с этим справитесь
Еще можно использовать зеркала с провайдерами которые предоставляют
многие облака и энтузиасты (но это уже на свой страх и риск😤)

Небольшой пост в режиме "Хозяюшке на заметку"
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4🤔41
Коллеги, всем привет!

18 сентября буду выступать в Питере на митапе Selectel Kubernetes MeetUp
Расскажу про распределенный трейсинг
В докладе начнем с самых основ:
-- какую проблему решает
-- как он устроен
-- как передается информация о трейсах
-- где трейсы можно хранить, как получить к ним доступ, как визуализировать

А еще коллеги из Selectel будут устраивать экскурсии по своему ЦОДу

Обязательно приходи, будет интересно ^_^
🔥13👍4🎉2👏1
Коллеги, всем привет!)
Да-да, кто-то "не очень меткий" и вместо того что бы отправить сообщение другу в личку, отправил его в канал 😂😂😂
Тематика поста совсем не корреклирует с тематикой моего канала, но что бы у вас не возникал вопрос, а что там было, пересланный пост добавлю в комментарий к этому посту)))
Всем хороших выходных, коллеги ☺️👻
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5
Коллеги, всем привет!=)

25 сентября планирую быть на Yandex Scale 2024
Буду люто поддерживать своего друга/коллегу Дмитрия Баскакова
Дима нам расскажет про Хаос-инжиниринг и все что ним связано
И вы тоже приходите, будет интересно ^_^
🔥1643
Коллеги, всем привет!=)
Напоминаю, завтра будет Selectel Kubernetes MeetUP
Анонс делал немного ранее
Завтра буду там с самого начала
Обязательно планирую сходить на экскурсию в ЦОД
Ииииии в этот раз точно попущу фоточки в канальчик =)
🔥143👍1
Коллеги, всем добрый вечер!=)
Прошел Selectel Kubernetes MeetUP
Запись трансляции доступна по ссылочке
Фоточки с мероприятия для новых аватарок доступны по ссылочке
А вот фоточек из ЦОДа не будет, увы требование безопасности 😤
Мероприятие мне понравилось, греет душу то что кажется что
мой доклад был актуален и полезен для коллег =)
Хотел бы отдельно ответить более полно на пару вопросов
Вопрос - трейсинг на балансировщиках, например в DMZ зонах
Да, такое можно сделать, будет появляться новый span
НО есть пара нюанасов:
-- скорее всего у вас стоит какой нибудь NLB, который "максимально тупой"
и работает на L4 модели OSI, то есть никакие манипуляции с трафиком там не производятся, по этому необходимость в span`е с него потенциально отпадает
-- далее за NLB может стоять условный Nginx (у нас в Magnit Tech именно так и сделано),
и на Nginx`е могут производиться манипуляции с трациком, все зависит от настройки
Если у вас более/менее стандартный конфиг с секциями server, терминацией SSL
сформировать span при помощи opentelemtry модуля вы сможете, при этом nginx будет работать сильно медленее, а для нас это огромный импакт на производительности системы
По этому Nginx`ы у нас стоят в stream режиме
Вопрос - трейсинг для кастомных k8s операторов
Да, думаю вполне такое можно реализовать
Опаратор же начинает свою работу (периодическая проверка чего то, работа с добавленным менифестом, хелсчеки и тд) и на все эти действия можно вполне себе навесить формирование span и trace
Важно только определиться с группировкой действий =)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍32