Перейти к содержимому

Kubernetes Requests и Limits: CPU, память, QoS и OOMKilled простыми словами

Shubham gour

0:00 / 0:00

Kubernetes Requests и Limits: CPU, память, QoS и OOMKilled простыми словами

286 просмотров · 3 нед. назад
Shubham gour
5,48 тыс. подписчиков
286 просмотров · 3 нед. назад
Как Kubernetes определяет, сколько ресурсов ЦП и памяти должен получить Pod, и что происходит, когда контейнер использует слишком много? 📏 В этом практическом руководстве мы объясним запросы и ограничения ресурсов с помощью простой аналогии с бензозаправкой, а затем рассмотрим единицы измерения, которые вы увидите повсюду: ядра ЦП и миллиядра (м), а также память в киловаттах (Ki), миллиядрах (Mi) и гигабайтах (Gi) (а не КБ, МБ, ГБ). Мы напишем Pod с запросами и ограничениями, проверим их, увидим, как планировщик использует запросы для размещения Podов, и узнаем, почему ЦП и память ведут себя по-разному при достижении предела: ЦП ограничивается, память завершается с ошибкой OOMKilled. Мы рассмотрим три класса QoS (Guaranteed, Burstable, BestEffort) и как проверить класс Pod, а затем намеренно вызовем ошибку OOMKilled в контейнере Python и посмотрим, как он перейдет в состояние CrashLoopBackOff. 🚀 ЧТО ВЫ УЗНАЕТЕ • Что такое запросы и ограничения (аналогия с бензоколонкой) • Единицы ЦП: ядра и миллиядра • Единицы памяти: КБ, МБ, Гб против КБ, МБ, ГБ • Создание Pod с запросами и ограничениями ресурсов • Как планировщик использует запросы • Регулирование ЦП против OOMKilled памяти • Что происходит, когда вы не устанавливаете запросы или ограничения • Классы QoS: Guaranteed, Burstable, BestEffort • Проверка класса QoS Pod • Демонстрация: запуск OOMKilled и CrashLoopBackOff ⏱️ РАЗДЕЛЫ 0:00 Сколько ЦП и памяти должен использовать Pod? 0:22 Объяснение запросов и ограничений (аналогия с бензоколонкой) 2:29 Единицы ЦП: ядра и миллиядра 3:32 Единицы памяти: киловатт, миллибайты, гигабайты против КБ, МБ, ГБ 5:13 Практическое занятие: написание Pod с запросами и ограничениями 11:29 Объяснение запросов и ограничений 12:54 Регулирование ЦП против ошибки OOMKilled в памяти 14:16 Применение и проверка запросов и ограничений 15:38 Как планировщик использует запросы 16:41 Что происходит без запросов и ограничений 18:03 Классы QoS: Guaranteed, Burstable, BestEffort 20:06 Проверка класса QoS Pod 21:47 Демонстрация: запуск ошибки OOMKilled 28:12 Объяснение CrashLoopBackOff и OOMKilled 29:35 Краткий обзор 📂 ЗАМЕТКИ И YAML-ФАЙЛЫ (GitHub) https://github.com/theshubhamgour/kub... ☸️ ПОЛНЫЙ ПЛЕЙЛИСТ ПО KUBERNETES (изучение с нуля, по порядку)    • Kubernetes Tutorial for Beginners | Comple...   ⏮️ Предыдущее: Kubernetes Probes: Liveness vs Readiness vs Startup Explained (Hand-On)    • Kubernetes Probes: Liveness vs Readiness v...   ⏭️ Следующее: Учебник по Kubernetes HPA: Горизонтальный автомасштабировщик подов с сервером метрик    • Kubernetes HPA Tutorial: Horizontal Pod Au...   📏 Requests Ограничения являются основой для автомасштабирования, о котором мы поговорим позже, в HPA. Подпишитесь, чтобы не пропустить, и оставьте комментарий, если вы когда-либо сталкивались с ошибкой OOMKilled в продакшене! ━━━━━━━━━━━━━━━━━━━━━━━━ 💜 Поддержите Decode The Desk Если мои подкасты, видео по DevOps и технический контент помогли вам учиться или оставаться мотивированными, вы можете поддержать канал здесь: https://razorpay.me/@decodethedeskbys... 🔥 Присоединяйтесь к этому каналу, чтобы получить доступ к бонусам:    / @shubhamgourtech   📺 Больше плейлистов по DevOps и облачным технологиям 🎥 Docker:    • Docker Mastery: Beginner to Advanced with ...   🎥 Trivy:    • Trivy Security Scanner Complete Course | D...   🎥 Jenkins:    • Learn Jenkins Step by Step   🌐 Свяжитесь со мной LinkedIn:   / theshubhamgour   Instagram:   / theshubhamgour   Twitter/X:   / theshubhamgour   #Kubernetes #ResourceManagement #DevOps #K8s #УчебноеПоставлениеПоKubernetes