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

Cотрудничество: @energy_c
Download Telegram
🖼️ Kubernetes Debug: 7 инструментов для быстрой диагностики и восстановления сервисов!

Эти команды — основа реального troubleshooting в Kubernetes. Они позволяют мгновенно проверить ресурсы, войти внутрь контейнера, поднять ephemeral-отладчик, увидеть историю событий, проанализировать логи, проверить RBAC и оперативно внести изменения в объект. Используются как при разборе инцидентов, так и при ежедневной работе с продовыми кластерами.

➡️ DevOps Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15🤝9👍6❤4
🖼️ Реализуем этап, который проверяет размер Docker-образа и ругается при росте!

Образы любят незаметно раздуваться: кеши, временные файлы, новые зависимости. В итоге деплой тормозит, а registry забивается гигабайтами. Проще сразу в CI ловить моменты, когда образ стал слишком тяжёлым.

В этом посте:
• Получаем реальный размер образа через docker image inspect;

• Проверяем его против жёсткого лимита по мегабайтам;

• Сравниваем размер с предыдущим тегом и считаем дельту;

• Падаем job, если образ вырос сильнее допустимого порога.


Полезно, если хотите держать образы стройными и не превращать registry в помойку.

➡️ DevOps Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍8🔥6
📂 Напоминалка по структуре каталогов Linux!

Например, /bin содержит системные бинарные файлы, а /etc — конфигурации, управляющие поведением системы.

На картинке — директории Linux, их назначение и место в иерархии.

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

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥8🤝7
Проверяем, что у Pod достаточно лимитов памяти и CPU компактной командой!

В Kubernetes это удобно делать через kubectl  с JSONPath, чтобы сразу увидеть и запросы, и лимиты в человекочитаемом виде.

Выводим для Pod my-pod имя контейнера и его CPU/memory requests и limits:
kubectl get pod my-pod \
-o jsonpath='{CPU_PATH}{"\n"}{MEM_PATH}{"\n"}'


Удобно быстро глазами увидеть, где нет лимитов, где requests = 0 или, наоборот, лимиты слишком жёсткие.

Вариант, чтобы сразу проверить все Pod в namespace и найти те, у кого нет лимитов:
kubectl get pod \
-o custom-columns='POD:.metadata.name,CPU_REQ:CPU_PATH,CPU_LIM:CPU_PATH_LIM,MEM_REQ:MEM_PATH,MEM_LIM:MEM_PATH_LIM'


🔥 Здесь сразу видно, какие Pod живут без лимитов (пустые колонки) и где стоит пройтись по ресурсам и добавить ограничения.

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥6🤝4❤1
This media is not supported in your browser
VIEW IN TELEGRAM
🧐 OverTheWire: Bandit — полезный тренажёр для освоения Linux!

Если хочешь учиться не по учебнику, а через практику, этот сайт идеальный старт. Каждый уровень — маленькая задача: работа с файлами, SSH, процессы, шифрование. Постепенно учишься использовать команды осознанно, а не просто запоминать их. А навыки остаются как после реальной работы на сервере.

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

➡️ DevOps Ready | #сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝11❤10🔥7👍3
🖼️ Рассмотрим 7 базовых команд Docker для разработки и отладки!

В этом посте собраны команды, без которых неудобно жить в Docker-дневнике: запуск и список контейнеров, просмотр логов, вход внутрь контейнера, сборка образов и детальный inspect для сложных кейсов.

➡️ DevOps Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥6👍5
📂 Шпаргалка по перенаправлению ввода-вывода в Linux!

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

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

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

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

В 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👍3❤1