Управление ресурсами контейнеров и подов с использованием cgroups
В Linux механизм control groups (cgroups) применяется для ограничения и контроля ресурсов процессов. Docker и Kubernetes интегрируют этот функционал, обеспечивая пользователю возможность управлять:
🟠 CPU (ограничение доли процессорного времени)
🟠 Памятью (лимиты и гарантии)
🟠 I/O (приоритеты и квоты ввода-вывода)
Вот подборка лабораторных заданий для практической отработки данных механизмов:
Забираем в закладки и отрабатываем на практике📝
✈️ Linux Ninja
В Linux механизм control groups (cgroups) применяется для ограничения и контроля ресурсов процессов. Docker и Kubernetes интегрируют этот функционал, обеспечивая пользователю возможность управлять:
Вот подборка лабораторных заданий для практической отработки данных механизмов:
🔹 Ограничить использование CPU и памяти для Linux-процесса
https://labs.iximiuz.com/challenges/limit-cpu-and-memory-of-linux-process🔹 Запустить контейнер с ограниченными ресурсами
https://labs.iximiuz.com/challenges/start-container-with-limited-resources🔹 Завершить работу контейнера, если один из его процессов выйдет за пределы доступной памяти
https://labs.iximiuz.com/challenges/kill-container-on-child-process-oom-event-docker🔹 Ограничить использование CPU и памяти для приложения, запущенного через Docker Compose
https://labs.iximiuz.com/challenges/run-multiple-containers-in-one-cgroup🔹 Задеплоить «прожорливый» Pod, не положив при этом весь кластер
https://labs.iximiuz.com/challenges/start-pod-with-limited-resources🔹 Устранить проблемы со стабильностью в Deployment-е Go-приложения
https://labs.iximiuz.com/challenges/fix-go-app-container-oom🔹 Настроить Pod так, чтобы он пережил OOM-событие без перезапуска
https://labs.iximiuz.com/challenges/make-kubernetes-pod-outlive-oom-event
Забираем в закладки и отрабатываем на практике
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый совет по Linux
Хочешь узнать, сколько времени занимает выполнение команды или скрипта в Linux? Просто добавь перед ней
Пример:
Удобный способ быстро оценить производительность🔞
✈️ Linux Ninja
Хочешь узнать, сколько времени занимает выполнение команды или скрипта в Linux? Просто добавь перед ней
timeПример:
$ time ./mynoscript.sh
🟠 real — общее время выполнения🟠 user — время работы процессора в пользовательском режиме🟠 sys — время работы ядра
Удобный способ быстро оценить производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Быстрый совет по Linux
Проверить скорость интернета без браузера? Легко!
В Linux это можно сделать прямо из терминала:
Удобно, быстро и без лишних окон😎
✈️ Linux Ninja
Проверить скорость интернета без браузера? Легко!
В Linux это можно сделать прямо из терминала:
speedtest-cli
Удобно, быстро и без лишних окон
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9
Полезная находка «Repology» онлайн сервис для слежки за пакетами
Сервис позволяет увидеть, какие пакеты и в каких версиях доступны для разных Linux дистрибутивов. Особенно полезно для мейнтейнеров и тех, кто следит за актуальностью софта
Забираем в копилку полезного❤️
☝️ Ссылка источник
✈️ Linux Ninja
Сервис позволяет увидеть, какие пакеты и в каких версиях доступны для разных Linux дистрибутивов. Особенно полезно для мейнтейнеров и тех, кто следит за актуальностью софта
Забираем в копилку полезного
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Сегодня GNU исполняется 42 года 🥳
27 сентября 1983 года Ричард Столлман объявил о создании проекта GNU (GNU’s Not Unix). Цель — написать свободную ОС, совместимую с UNIX, и тем самым заложить фундамент движения свободного ПО
Из GNU выросли инструменты, без которых сложно представить современный мир: компиляторы, редакторы, оболочки. А вместе с ядром Linux они стали основой экосистемы Open Source
Интересный факт: оригинальное письмо-анонс Столлмана до сих пор можно прочитать в архиве старых UNIX-групп
☝️ Ссылка источник
✈️ Linux Ninja
27 сентября 1983 года Ричард Столлман объявил о создании проекта GNU (GNU’s Not Unix). Цель — написать свободную ОС, совместимую с UNIX, и тем самым заложить фундамент движения свободного ПО
Из GNU выросли инструменты, без которых сложно представить современный мир: компиляторы, редакторы, оболочки. А вместе с ядром Linux они стали основой экосистемы Open Source
Интересный факт: оригинальное письмо-анонс Столлмана до сих пор можно прочитать в архиве старых UNIX-групп
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤2👍2🍓1
Шпаргалка по grep в Linux
Забрать в хорошем качестве можно здесь⬇️
☝️ Ссылка источник
✈️ Linux Ninja
grep — это мощный инструмент для поиска текста в файлах с использованием регулярных выражений. Эта шпаргалка поможет быстро вспомнить ключи, квантификаторы, классы символов и примеры использованияЗабрать в хорошем качестве можно здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Нашёл классную штуку для тех кто ковыряется в Kubernetes
Это как kubectl explain, только красивее и нагляднее:
Must-have забираем в закладки📝
☝️ Ссылка источник
✈️ Linux Ninja
Это как kubectl explain, только красивее и нагляднее:
🟠 удобная древовидная структура spec🟠 описание каждого параметра🟠 история изменений по версиям🟠 примеры YAML🟠 ссылки на доп. ресурсы
Must-have забираем в закладки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Введите в вашем терминале эту команду:
Это отображает данные о температуре CPU, GPU, Wi-Fi, NVMe SSD и HDD в реальном времени.
Подробнее читаем здесь⬇️
☝️ Ссылка источник
✈️ Linux Ninja
watch -d -n 1 sensors
Это отображает данные о температуре CPU, GPU, Wi-Fi, NVMe SSD и HDD в реальном времени.
Подробнее читаем здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Быстрый совет по Linux
Не нравится бесконечно длинный вывод в команде
Используйте опцию
✈️ Linux Ninja
Не нравится бесконечно длинный вывод в команде
top?Используйте опцию
-i, чтобы скрыть неактивные процессы и видеть только активные:$ top -i
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3🤣3❤1
Шпаргалка по управлению процессами в Linux
Разбираемся с процессами в Linux:
Сохраняйте себе🔞
✈️ Linux Ninja
Разбираемся с процессами в Linux:
🟠 В чем разница между foreground и background🟠 Как переводить процессы между этими состояниями (fg, bg, Ctrl+Z)🟠 Как отслеживать процессы (jobs, ps, top, pstree)🟠 Что означают состояния процессов: Running, Sleeping, Zombie🟠 Как управлять приоритетами с помощью nice и renice
Сохраняйте себе
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
Большинство пользователей Linux знакомы с командой
Эта функция может быть особенно полезна для системных администраторов и разработчиков, которым необходимо поддерживать несколько версий конфигурационных файлов или исходного кода.
Понимание версионности в
Команда
1.
2.
Простое резервное копирование
Чтобы создать простую резервную копию:
Эта команда создаёт резервную копию с суффиксом по умолчанию (
Резервная копия с пользовательским суффиксом
Для более наглядных резервных копий:
Это создаёт резервные копии с суффиксом
Практический пример: резервное копирование конфигурации SSH
Предположим, вы часто обновляете файл конфигурации SSH (
1. Создание резервной копии с нумерацией:
Это создаёт файлы вида
2. Создание резервной копии с пользовательским суффиксом:
Это создаёт файлы вида
Преимущества:
✈️ Linux Ninja
cp для копирования файлов. Однако немногие знают о её встроенной поддержке версионности.Эта функция может быть особенно полезна для системных администраторов и разработчиков, которым необходимо поддерживать несколько версий конфигурационных файлов или исходного кода.
Понимание версионности в
cpКоманда
cp предлагает два ключевых параметра для поддержки версионности:1.
--backup: создаёт резервную копию файла назначения перед его перезаписью.2.
--suffix: задаёт пользовательский суффикс для резервной копии.Простое резервное копирование
Чтобы создать простую резервную копию:
$ cp --backup=numbered /путь/к/исходному/файлу /путь/к/папке/назначения/
Эта команда создаёт резервную копию с суффиксом по умолчанию (
~) и увеличивающимся номером (например, файл.~1~, файл.~2~ и т.д.).Резервная копия с пользовательским суффиксом
Для более наглядных резервных копий:
$ cp --backup=numbered --suffix=.bak /путь/к/исходному/файлу /путь/к/папке/назначения/
Это создаёт резервные копии с суффиксом
.bak и увеличивающимся номером (например, файл.bak.1, файл.bak.2 и т.д.).Практический пример: резервное копирование конфигурации SSH
Предположим, вы часто обновляете файл конфигурации SSH (
/etc/ssh/sshd_config) для управления правилами доступа. Вот как можно вести версионированные резервные копии:1. Создание резервной копии с нумерацией:
$ cp --backup=numbered /etc/ssh/sshd_config /data/backup/
Это создаёт файлы вида
sshd_config.~1~, sshd_config.~2~ и т.д.2. Создание резервной копии с пользовательским суффиксом:
$ cp --backup=numbered --suffix=.bak /etc/ssh/sshd_config /data/backup/
Это создаёт файлы вида
sshd_config.bak.1, sshd_config.bak.2 и т.д.Преимущества:
🟠 Сохраняется история изменений файлов🟠 Предотвращается случайная перезапись важных данных🟠 Предлагается простая система версионности без необходимости использовать сложные системы контроля версий
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2👎1