Правильная архитектура
Git-репозиториев в DevOps — это не про красоту папок, а про безопасность деплоя, скорость отката и удобство командной работы. В этом посте:
• Монорепозиторий или Полирепозиторий: что выбрать под ваш масштаб?
• Структура IaC: почему модули должны жить отдельно от окружений;
• Слоеная архитектура: разделяем Core, Platform и App уровни;
• GitOps подход: как автоматизировать связь между кодом и манифестами.
Хорошая структура позволяет масштабировать систему без боли и лишних митингов. Разбираемся, как заложить фундамент правильно.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5🔥4
Например,
ssh -L открывает локальный порт и направляет трафик через SSH на удалённый сервис, а подключение через bastion даёт безопасный доступ к сервисам в приватной сети без public IP.На картинке — варианты port forwarding, плюс схема, как трафик идёт от SSH-клиента к внутреннему веб-серверу.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤8👍8🤝1
Как узнать, какие shared-библиотеки фактически использует процесс?
Хочешь понять, какие .so библиотеки реально загружены в память процесса, без ldd, lsof и сторонних утилит?
Нужно убедиться, что приложение использует именно нужную версию библиотеки?
Можно быстро увидеть, не была ли библиотека подменена или загружена через окружение:
🔥 maps отражает что уже загружено в память в момент проверки. Если либы нет — она ещё не загружена или может подгрузиться позже через
➡️ DevOps Ready | #совет
Хочешь понять, какие .so библиотеки реально загружены в память процесса, без ldd, lsof и сторонних утилит?
sudo grep "\.so" /proc/1234/maps
/proc/<PID>/maps показывает фактические file-backed mmap’ы, включая ELF shared objects.Нужно убедиться, что приложение использует именно нужную версию библиотеки?
grep "/lib/x86_64-linux-gnu/libssl.so" /proc/1234/maps
Можно быстро увидеть, не была ли библиотека подменена или загружена через окружение:
grep "LD_PRELOAD=" /proc/1234/environ
dlopen().Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🔥8👍7
Когда кластер начинает вести себя нестабильно, время на поиск решения ограничено. Эти команды помогут мгновенно локализовать сбой, проверить события жизненного цикла контейнеров и пробросить порты для глубокой отладки без правок в конфигах.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤6👍6
Например,
BIOS/UEFI запускает проверку железа (POST) и ищет устройства, GRUB загружает ядро, а systemd поднимает сервисы и готовит систему к логину.На картинке — 8 этапов boot-процесса, которые стоит держать под рукой, чтобы быстро понимать, где искать проблему при отладке или настройке сервера.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤9🔥8
Как быстро поднять HTTP-шаринг директории одной командой!
В Linux можно за секунду превратить любую папку в HTTP-файлообменник, встроенным модулем Python. Помогает, когда нужно быстро передать файлы в сети или проверить статику фронта.
Нужен список файлов в браузере с автоматической навигацией? Он уже там:
Если хотите, чтобы сервер слушал только
Нужно запустить и получить
Хотите скачать всю директорию одной командой на другой машине?
🔥 Рекурсивно, без выхода за пределы папки и без лишних путей.
➡️ DevOps Ready | #совет
В Linux можно за секунду превратить любую папку в HTTP-файлообменник, встроенным модулем Python. Помогает, когда нужно быстро передать файлы в сети или проверить статику фронта.
Нужен список файлов в браузере с автоматической навигацией? Он уже там:
cd /path/to/share
python3 -m http.server 8080
Если хотите, чтобы сервер слушал только
localhost (без риска открыть доступ в сеть):python3 -m http.server 8080 --bind 127.0.0.1
Нужно запустить и получить
PID одной строкой?python3 -m http.server 8080 & echo $!
Хотите скачать всю директорию одной командой на другой машине?
wget -r -np -nH --cut-dirs=1 http://HOST:8080/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤10🔥9
В этой статье:
• Четыре золотых сигнала SRE (задержка, трафик, ошибки, насыщение) на простых примерах;
• Как применить это на практике: как ловить аномалии в логах и алертах чтобы не просыпаться ночью от пейджеров;
• Почему SRE-мышление — это не про кучу тулов, а про понимание системы.🔊 Продолжай читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4👍3
Анализ эффективности IP-блокировок на практике!
Проверка механизмов фильтрации трафика позволяет выявить «дыры» в защите, такие как пропуски через
Мы создадим тестовый сценарий, имитирующий атаку, и проверим, как система реагирует на смену адресов и попытки обхода. Это базовый навык для настройки
Для начала настроим временное правило в
Теперь проверим, как приложение реагирует на запросы с поддельным заголовком
Результат проверки: если сервер вернул
Протестируем устойчивость блокировки при обращении через протокол
Ожидаемый вывод: попытка соединения или код
🔥 Всегда проверяйте, синхронизированы ли правила для
➡️ DevOps Ready | #практика
Проверка механизмов фильтрации трафика позволяет выявить «дыры» в защите, такие как пропуски через
IPv6, некорректная обработка X-Forwarded-For или отсутствие лимитов на количество запросов.Мы создадим тестовый сценарий, имитирующий атаку, и проверим, как система реагирует на смену адресов и попытки обхода. Это базовый навык для настройки
WAF и систем предотвращения вторжений (IPS).Для начала настроим временное правило в
iptables, которое имитирует блокировку подозрительного адреса после обнаружения сканирования:sudo iptables -A INPUT -s 192.168.1.50 -j DROP
Теперь проверим, как приложение реагирует на запросы с поддельным заголовком
X-Forwarded-For, который часто используется для обхода прокси-фильтров:curl -H "X-Forwarded-For: 1.1.1.1" http://localhost/api/resource
Результат проверки: если сервер вернул
200 OK вместо 403, значит логика блокировки не учитывает реальный IP за прокси.Протестируем устойчивость блокировки при обращении через протокол
IPv6, который часто забывают настроить в правилах безопасности:curl -6 http://[::1]/admin
Ожидаемый вывод: попытка соединения или код
404/200, если IPv6 не закрытIPv4 и IPv6, и доверяйте заголовкам X-Forwarded-For только от проверенных балансировщиков.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь найдете примеры команд, работу с файлами и процессами, ввод/вывод, перенаправления и многое другое, что реально используется в повседневной работе. Материал написан простым языком и подходит как для новичков, так и для тех, кто хочет перейти от теории к осознанному владению терминалом.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤7👍7
Запись и воспроизведение терминальной сессии!
Иногда нужно показать, как ты что-то делал в терминале: отладку, деплой, последовательность команд.
Linux умеет записывать терминал как сессию, включая тайминги:
После этого делаем все что нужно.
Завершаем запись обычным выходом:
Теперь можно проиграть сессию с теми же паузами:
🔥 Помогает, когда нужно зафиксировать ручной деплой, приложить воспроизводимую сессию к баг-репорту или восстановить ход действий.
➡️ DevOps Ready | #совет
Иногда нужно показать, как ты что-то делал в терминале: отладку, деплой, последовательность команд.
Linux умеет записывать терминал как сессию, включая тайминги:
script -t 2> timing.log session.log
После этого делаем все что нужно.
Завершаем запись обычным выходом:
exit
Теперь можно проиграть сессию с теми же паузами:
scriptreplay timing.log session.log
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍8🔥7😁1
Например,
ssh -D 1080 user@server поднимает локальный SOCKS-прокси и позволяет пускать трафик приложений через SSH-сервер.На картинке — наглядно показано, как работает SSH Dynamic Port Forwarding: локальный порт, SSH-туннель и проброс трафика к конечным адресам.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥9🤝6❤2
Когда кластер начинает вести себя нестабильно, время на поиск решения ограничено. Эти команды помогут мгновенно локализовать сбой, проверить события жизненного цикла контейнеров и пробросить порты для глубокой отладки без правок в конфигах.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍7🔥7