DevOps Ready | IT
6.33K subscribers
662 photos
52 videos
302 links
Авторский канал по DevOps разработке.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/devops_ready
Download Telegram
🖼️ Продумываем lifecycle Docker-образов — экономим место и не тонем в легаси‑артефактах!

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

В этом посте:
Разбираем, как выбрать стратегию тегирования (semver, latest, stable, датированные теги).

Настраиваем retention‑политику в реестре, чтобы старые и неиспользуемые образы чистились автоматически.

Добавляем регулярную очистку локальных образов и томов на нодах.

Как один раз договориться о правилах lifecycle и забыть про «диск забит docker‑мусором».


Такой подход делает работу с Docker предсказуемой: образы живут полный, но ограниченный жизненный цикл, а инфраструктура не зарастает артефактами.

➡️ DevOps Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍54
📂 Напоминалка для работы с iptables!

Например, iptables -L позволяет быстро посмотреть текущие правила, а iptables -A — добавить новое правило для разрешения или блокировки трафика.

На картинке — полезные команды, которые стоит держать под рукой при работе с Linux-серверами, сетями и Docker.

Сохрани, чтобы не забыть!

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥54
Как посмотреть, какие systemd‑юниты тормозят загрузку?

Когда система грузится медленно, чаще всего виноваты несколько сервисов, которые стартуют дольше остальных. Их удобно найти штатными инструментами systemd — без сторонних профайлеров и сложных настроек.

Ключевой блок кода для шапки:
systemd-analyze blame | head


Основной приём — использовать  systemd-analyze :
systemd-analyze time
systemd-analyze blame


Первая команда покажет, сколько времени заняли загрузка ядра, initrd и пользователей.
Вторая выведет список юнитов с временем старта, отсортированный по убыванию — «топ тормозов» будет наверху.

Если нужно докопаться до деталей конкретного сервиса:
systemd-analyze critical-chain nginx.service


🔥 Так видно, какие юниты ждал  nginx.service , сколько занял каждый шаг и где именно цепочка загрузки «застревает».

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5🔥4
Знали, что можно сравнивать вывод команд напрямую — без временных файлов?

Bash и Zsh умеют подставлять вывод команд как псевдофайлы, что идеально для сравнения конфигов, списков и результатов команд.
diff <(ls /etc) <(ls /etc.backup)


<(...) превращает вывод команды в псевдофайл (обычно /dev/fd/* или FIFO), который программа читает как обычный файл.

Можно сравнить локальный и удалённый конфиг:
diff nginx.conf <(ssh server 'cat /etc/nginx/nginx.conf')


Или проверить, что изменилось после деплоя, без копирования и мусора в /tmp.

🔥 Process substitution (<(...)) отлично работает с diff, grep, sort, comm, wc. Это быстрый способ сравнивать данные, но он зависит от shell и не поддерживается в sh/dash.

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍6🤝5
This media is not supported in your browser
VIEW IN TELEGRAM
✍️ perf-tools — набор инструментов для анализа производительности!

Репозиторий от Brendan Gregg — одного из главных экспертов по performance и Linux-трейсингу. Здесь собраны готовые скрипты и утилиты для поиска узких мест по CPU, памяти, дискам и сети с использованием perf, ftrace, bcc и eBPF.

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥87👍5
Как диагностировать нестабильные systemd-сервисы!

Если система в целом работает корректно, но отдельные сервисы периодически падают или перезапускаются, диагностику удобно начинать со systemd и его журналов.

Сервисы в ошибочном состоянии:
systemctl --failed


Показывает юниты, завершившиеся с ошибкой — базовая точка входа.

Перезапуски конкретного сервиса:
journalctl -u nginx --no-pager -g 'Starting|Stopped|Failed'


Позволяет быстро выявить циклические рестарты и их частоту.

Автоматические рестарты systemd:
journalctl -b | grep -Ei 'systemd\[1\].*(restart|Restart)'


Помогает обнаружить сервисы, которые systemd регулярно перезапускает.

Количество рестартов:
systemctl show nginx -p NRestarts


Счётчик рестартов с момента запуска systemd. Рост значения обычно указывает на нестабильность сервиса.

Причина остановки:
journalctl -xeu nginx


Даёт максимальный контекст ошибки и системные пояснения.

Проверка OOM-killer:
journalctl -k -b | grep -Ei 'oom|oom-kill|killed process'


Актуально, если сервис завершается без явных ошибок в собственных логах.

Конфигурация сервиса:
systemctl cat nginx


Позволяет проверить параметры рестарта, drop-in override’ы, зависимости и условия запуска.

🔥 Такой разбор покрывает большинство случаев нестабильной работы systemd-сервисов без дополнительных инструментов.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5🔥5
🖼️ Terraform: 7 команд для типового рабочего цикла инфраструктуры!

Эти базовые команды закрывают весь путь от инициализации директории до валидации конфигов, применения плана, проверки output‑значений и безопасного удаления ресурсов. Достаточно выучить их, чтобы уверенно крутить типичный Dev/Stage/Prod цикл без бесконечного гуглинга синтаксиса.

➡️ DevOps Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥105👍5🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
👍 Linux Kernel Documentation — официальная документация по ядру!

Здесь собраны материалы о том, как работает ядро Linux: управление памятью, планировщик задач, драйверы устройств, файловые системы и взаимодействие с железом. Документация показывает внутренние механизмы системы, а не только внешнее поведение.

📌 Оставляю ссылочку: docs.kernel.org

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥7🤝62
🖼️ Отслеживаем «долгие» этапы пайплайна через отдельный job-логгер!

В типичном CI/CD непонятно, на каком шаге пайплайн реально тратит время: сборка, тесты, деплой или миграции. Отдельный job, который логирует длительность этапов, помогает быстро увидеть узкие места и понять, что оптимизировать в первую очередь.

В этом посте:
Добавляем вокруг этапов обёртку, которая меряет время выполнения и пишет логи;

Логируем только «долгие» шаги, которые превышают заданный порог (например, 30 или 60 секунд);

Отправляем результаты в общий лог/мониторинг, чтобы строить графики и алерты по «медленным» job-ам.


Такой job превращает пайплайн из «чёрного ящика» в понятную шкалу времени, где видно, на каком шаге вы теряете минуты и деньги.

➡️ DevOps Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥115👍4
🔥65👍5