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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/devops_ready
Download Telegram
🖼️ Сегодня разбираем 7 приёмов работы с docker-compose в локальной среде!

В этом посте собраны ключевые команды и техники: от мгновенного перезапуска отдельных сервисов до глубокой очистки окружения и просмотра логов. Эти методы помогают тратить меньше времени на ожидание билдов и больше — на написание кода.

➡️ DevOps Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍53🤝2
📂 Напоминалка по базовым сетевым сервисам и портам!

Например, DNS переводит домены в IP-адреса, HTTPS отвечает за безопасное соединение с сайтами и API, а SSH позволяет безопасно подключаться к серверам.

На картинке — сетевые сервисы, их протоколы и стандартные порты, которые постоянно встречаются в backend, DevOps и инфраструктурной работе.

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

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍97🔥6
Открываем ISO-образы в Linux без распаковки!

ISO монтируются как обычные каталоги через loop-устройство, что позволяет просматривать структуру диска и копировать файлы без изменения самого образа.

Монтирование в режиме только для чтения:
sudo mkdir -p /mnt/iso
sudo mount -o loop,ro image.iso /mnt/iso


Проверка монтирования и просмотр содержимого:
findmnt /mnt/iso
ls /mnt/iso


Копирование файлов с сохранением доступных в образе атрибутов:
cp -a /mnt/iso ~/iso-copy/


Сохранение прав, симлинков и расширенных атрибутов зависит от наличия поддержки Rock Ridge/Joliet в самом ISO. Ключ -a копирует только те метаданные, которые реально присутствуют и доступны.

Размонтирование:
cd ~
sudo umount /mnt/iso


Shell-функция для частого использования с автоматической очисткой:
mountiso() {
local dir
dir=$(sudo mktemp -d /tmp/iso-XXXXXX)
sudo mount -o loop,ro "$1" "$dir" && cd "$dir"
echo "Для размонтирования выполните: sudo umount $dir && sudo rmdir $dir"
}


Вызов:
mountiso ./ubuntu-24.04.iso


🔥 Образ подключается в ro и остаётся неизменным. В контейнерах нужны CAP_SYS_ADMIN и доступ к /dev/loop* или запуск с --privileged.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍8🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
💡 The Art of Command Line — приёмы для работы в терминале!

Этот репозиторий включает лучшие практики и команды для Linux/macOS терминала. Здесь собраны приемы, комбинации CLI-утилит, практики, которые помогают работать быстрее, искать ошибки, обрабатывать данные и автоматизировать рутинные задачи. Отличный ресурс, чтобы повысить эффективность работы.

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


➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍97🔥7
🖼️ Как спланировать структуру репозиториев, чтобы инфраструктура не превратилась в ад?

Правильная архитектура Git-репозиториев в DevOps — это не про красоту папок, а про безопасность деплоя, скорость отката и удобство командной работы.

В этом посте:
Монорепозиторий или Полирепозиторий: что выбрать под ваш масштаб?

Структура IaC: почему модули должны жить отдельно от окружений;

Слоеная архитектура: разделяем Core, Platform и App уровни;

GitOps подход: как автоматизировать связь между кодом и манифестами.


Хорошая структура позволяет масштабировать систему без боли и лишних митингов. Разбираемся, как заложить фундамент правильно.

➡️ DevOps Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥4
📂 Шпаргалка по SSH-туннелям через bastion-хост!

Например, ssh -L открывает локальный порт и направляет трафик через SSH на удалённый сервис, а подключение через bastion даёт безопасный доступ к сервисам в приватной сети без public IP.

На картинке — варианты port forwarding, плюс схема, как трафик идёт от SSH-клиента к внутреннему веб-серверу.

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

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥108👍8🤝1
Как узнать, какие shared-библиотеки фактически использует процесс?

Хочешь понять, какие .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


🔥 maps отражает что уже загружено в память в момент проверки. Если либы нет — она ещё не загружена или может подгрузиться позже через dlopen().

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥8👍7
🖼️ Kubernetes: Разбираем 7 приёмов диагностики подов, логов и ресурсов!

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

➡️ DevOps Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥106👍6
📂 Напоминалка по загрузке системы!

Например, BIOS/UEFI запускает проверку железа (POST) и ищет устройства, GRUB загружает ядро, а systemd поднимает сервисы и готовит систему к логину.

На картинке — 8 этапов boot-процесса, которые стоит держать под рукой, чтобы быстро понимать, где искать проблему при отладке или настройке сервера.

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

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍129🔥8
Как быстро поднять HTTP-шаринг директории одной командой!

В 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/


🔥 Рекурсивно, без выхода за пределы папки и без лишних путей.

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1610🔥9
👍 Отличная статья для тех, кто хочет научиться наблюдать за своими сервисами!

В этой статье:
• Четыре золотых сигнала SRE (задержка, трафик, ошибки, насыщение) на простых примерах;
• Как применить это на практике: как ловить аномалии в логах и алертах чтобы не просыпаться ночью от пейджеров;
• Почему SRE-мышление — это не про кучу тулов, а про понимание системы.


🔊 Продолжай читать на Habr!


➡️ DevOps Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥84👍3
Анализ эффективности IP-блокировок на практике!

Проверка механизмов фильтрации трафика позволяет выявить «дыры» в защите, такие как пропуски через 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 только от проверенных балансировщиков.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥54👍4