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