Если просто пушить образы в реестр на каждый коммит, хранилище быстро превращается в свалку: непонятные теги, старые версии и гигабайты, за которые уже платишь, хотя они давно не попадают в прод.
В этом посте:
• Разбираем, как выбрать стратегию тегирования (semver, latest, stable, датированные теги).
• Настраиваем retention‑политику в реестре, чтобы старые и неиспользуемые образы чистились автоматически.
• Добавляем регулярную очистку локальных образов и томов на нодах.
• Как один раз договориться о правилах lifecycle и забыть про «диск забит docker‑мусором».
Такой подход делает работу с
Docker предсказуемой: образы живут полный, но ограниченный жизненный цикл, а инфраструктура не зарастает артефактами.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍5❤4
Например,
iptables -L позволяет быстро посмотреть текущие правила, а iptables -A — добавить новое правило для разрешения или блокировки трафика.На картинке — полезные команды, которые стоит держать под рукой при работе с Linux-серверами, сетями и Docker.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥5❤4
Как посмотреть, какие systemd‑юниты тормозят загрузку?
Когда система грузится медленно, чаще всего виноваты несколько сервисов, которые стартуют дольше остальных. Их удобно найти штатными инструментами
Ключевой блок кода для шапки:
Основной приём — использовать systemd-analyze :
Первая команда покажет, сколько времени заняли загрузка ядра,
Вторая выведет список юнитов с временем старта, отсортированный по убыванию — «топ тормозов» будет наверху.
Если нужно докопаться до деталей конкретного сервиса:
🔥 Так видно, какие юниты ждал
➡️ DevOps Ready | #совет
Когда система грузится медленно, чаще всего виноваты несколько сервисов, которые стартуют дольше остальных. Их удобно найти штатными инструментами
systemd — без сторонних профайлеров и сложных настроек.Ключевой блок кода для шапки:
systemd-analyze blame | head
Основной приём — использовать systemd-analyze :
systemd-analyze time
systemd-analyze blame
Первая команда покажет, сколько времени заняли загрузка ядра,
initrd и пользователей.Вторая выведет список юнитов с временем старта, отсортированный по убыванию — «топ тормозов» будет наверху.
Если нужно докопаться до деталей конкретного сервиса:
systemd-analyze critical-chain nginx.service
nginx.service , сколько занял каждый шаг и где именно цепочка загрузки «застревает».Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍5🔥4
Знали, что можно сравнивать вывод команд напрямую — без временных файлов?
Можно сравнить локальный и удалённый конфиг:
Или проверить, что изменилось после деплоя, без копирования и мусора в
🔥
➡️ DevOps Ready | #совет
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.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍6🤝5
This media is not supported in your browser
VIEW IN TELEGRAM
Репозиторий от Brendan Gregg — одного из главных экспертов по performance и Linux-трейсингу. Здесь собраны готовые скрипты и утилиты для поиска узких мест по CPU, памяти, дискам и сети с использованием perf, ftrace, bcc и eBPF.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤7👍5
Как диагностировать нестабильные systemd-сервисы!
Если система в целом работает корректно, но отдельные сервисы периодически падают или перезапускаются, диагностику удобно начинать со
Сервисы в ошибочном состоянии:
Показывает юниты, завершившиеся с ошибкой — базовая точка входа.
Перезапуски конкретного сервиса:
Позволяет быстро выявить циклические рестарты и их частоту.
Автоматические рестарты
Помогает обнаружить сервисы, которые
Количество рестартов:
Счётчик рестартов с момента запуска
Причина остановки:
Даёт максимальный контекст ошибки и системные пояснения.
Проверка
Актуально, если сервис завершается без явных ошибок в собственных логах.
Конфигурация сервиса:
Позволяет проверить параметры рестарта,
🔥 Такой разбор покрывает большинство случаев нестабильной работы systemd-сервисов без дополнительных инструментов.
➡️ DevOps Ready | #практика
Если система в целом работает корректно, но отдельные сервисы периодически падают или перезапускаются, диагностику удобно начинать со
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’ы, зависимости и условия запуска.Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5🔥5
Эти базовые команды закрывают весь путь от инициализации директории до валидации конфигов, применения плана, проверки output‑значений и безопасного удаления ресурсов. Достаточно выучить их, чтобы уверенно крутить типичный Dev/Stage/Prod цикл без бесконечного гуглинга синтаксиса.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤5👍5🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь собраны материалы о том, как работает ядро Linux: управление памятью, планировщик задач, драйверы устройств, файловые системы и взаимодействие с железом. Документация показывает внутренние механизмы системы, а не только внешнее поведение.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥7🤝6❤2
В типичном
CI/CD непонятно, на каком шаге пайплайн реально тратит время: сборка, тесты, деплой или миграции. Отдельный job, который логирует длительность этапов, помогает быстро увидеть узкие места и понять, что оптимизировать в первую очередь.В этом посте:
• Добавляем вокруг этапов обёртку, которая меряет время выполнения и пишет логи;
• Логируем только «долгие» шаги, которые превышают заданный порог (например, 30 или 60 секунд);
• Отправляем результаты в общий лог/мониторинг, чтобы строить графики и алерты по «медленным» job-ам.
Такой
job превращает пайплайн из «чёрного ящика» в понятную шкалу времени, где видно, на каком шаге вы теряете минуты и деньги.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤5👍4