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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/devops_ready
Download Telegram
📂 Шпаргалка по перенаправлению ввода-вывода в Linux!

Linux-редиректы позволяют гибко управлять потоками stdin, stdout и stderr. С их помощью можно направлять вывод в файлы, разделять или объединять потоки, работать с here-documents и here-strings — всё для автоматизации и точного контроля над командами.

На картинке — основные варианты редиректов, включая базовые операции, комбинирование потоков и полезные приёмы.

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

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥65
Как понять, что блокирует процесс — точная точка ожидания в ядре!

В Linux каждый процесс может “зависнуть” не в смысле ошибки, а потому что ждёт диск, сеть, mutex или ресурс ядра.

Но можно увидеть, на чём он сейчас стоит, без strace или ptrace. Посмотрим стек ядра процесса:
sudo cat /proc/<PID>/stack


Увидим функции ядра, в которых процесс находится.
Например: futex_wait_queue_me - блокировка / mutex, filemap_read - чтение с диска и т.д.

Хотите короткий ответ, без стека?
sudo cat /proc/<PID>/wchan


🔥 Вернёт одну точку блокировки - идеально для быстрых проверок. /proc/<PID>/stack — это именно то, что видит ядро.

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍7🤝4🔥3
😁13🔥6👍31
🖼️ Реализуем шаг, который проверяет, что все миграции в базе применены!

Оставленные «на потом» миграции — частая причина падений после деплоя. Проще один раз добавить в CI этап, который явно проверяет статус миграций и не даёт выкатывать код, пока база не в нужном состоянии.

В этом посте:
Показываем, как проверить pending‑миграции в Django через manage py;

Разбираем, как вытащить список неприменённых миграций в EF Core и Flyway;

Оборачиваем команды в единый шаг check-db-migrations в пайплайне.


Полезно всем, кто разворачивает базы через миграции и хочет, чтобы схема всегда совпадала с кодом.

➡️ DevOps Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍6🔥5
📂 Наглядный разбор, как работает HTTPS-шифрование между браузером и сервером!

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

Сохрани, чтобы быстро освежить в памяти, что происходит под капотом при каждом HTTPS-запросе.

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥10👍7
Как диагностировать процессы, которые «висят» и не отвечают!

Когда приложение перестаёт реагировать, важно быстро определить, где оно застопорилось: в I/O, системном вызове, блокировке или в логике приложения.

Состояние процесса (R, S, D, Z, T):
ps -o pid,ppid,state,cmd -p <PID>


Ключевые состояния:
D — ожидание I/O
T — остановлен
Z — зомби


Kernel stack зависшего процесса (если он залип в системном вызове):
sudo cat /proc/<PID>/stack


Признаки I/O-зависания: io_schedule, wait_on_page_bit.

Открытые файлы, сокеты, дескрипторы:
sudo lsof -p <PID>


Python: быстрый traceback без перезапуска:
sudo py-spy dump --pid <PID>


Node.js: корректный способ получить диагностический отчёт: запуск:
node --report-on-signal --report-compact app.js


Получение отчёта:
kill -USR2 <PID>


Системные вызовы, на которых процесс висит:
sudo strace -p <PID>


Частые паттерны ожидания: futex(...), read(...), poll(...), select(...).

Профиль нагрузки процесса (CPU, context switch, I/O):
pidstat -p <PID> -w -d 1


🔥 Эти команды позволяют быстро и без даунтайма понять, завис ли процесс в I/O, блокировке, системных вызовах или в логике приложения.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥96👍4
🖼️ Базовый чек-лист подготовки сервиса к деплою в Kubernetes!

Перед выкатом сервиса в K8s нужно убедиться, что контейнер готов к распределённой системе: логи в stdout, конфиги в env, ресурсы заданы, пробы здоровья работают. Иначе сервис упадёт на старте или будет требовать ручного рестарта.

В этом гайде:
Собираем образ без лишнего и параметризуем конфиги;

Задаём requests/limits и настраиваем liveness/readiness-пробы;

Выводим логи в stdout через переменные окружения;

Используем ConfigMap и Secret для управления конфигами и ключами.


Следуйте этому чек-листу, и ваш первый деплой в K8s пройдёт без сюрпризов.

➡️ DevOps Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥65🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
🧐 Tutorialspoint: Linux / Unix — простые объяснения команд, процессов, памяти, файловых систем!

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

📌 Оставляю ссылочку: tutorialspoint.com

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥116👍5😁1
Запуск команды в полностью чистой среде!

Многие проблемы в Linux возникают не из-за команды, а из-за окружения: переменные, алиасы, функции, конфиги shell. Из-за этого одна и та же команда может вести себя по-разному.

Но можно запустить её в идеально чистой среде, как на новом сервере или внутри контейнера:
env -i PATH=/usr/bin:/bin <команда>


env -i очищает окружение полностью. Добавляем PATH и команда выполняется с нуля.

Хотите чистый интерактивный shell?
bash --noprofile --norc


🔥 Если что-то ведёт себя нестабильно, воспроизведите проблему в чистой среде, так сразу видно, где баг: в окружении или в самой программе.

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍7🤝62
🔥9👍8🤝52
This media is not supported in your browser
VIEW IN TELEGRAM
👍 Awesome-Shell — топовая коллекция утилит, скриптов и приёмов для терминала!

Здесь собраны десятки CLI-инструментов, полезные bash/zsh-скрипты, практичные сниппеты и лайфхаки, которые ускоряют работу. Отличный набор для автоматизации, оптимизации и прокачки навыков работы с командной строкой.

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


➡️ DevOps Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥6🤝5