В Linux механизм control groups (cgroups) применяется для ограничения и контроля ресурсов процессов. Docker и Kubernetes интегрируют этот функционал, обеспечивая пользователю возможность управлять:
🟠CPU (ограничение доли процессорного времени)
🟠Памятью (лимиты и гарантии)
🟠I/O (приоритеты и квоты ввода-вывода)
Вот подборка лабораторных заданий для практической отработки данных механизмов:
🔹Ограничить использование 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
Забираем в закладки и отрабатываем на практике 📝
✈️ Linux Ninja
