QoS классы в Kubernetes: Guaranteed, Burstable, BestEffort
Answer from AI
sobes.tech AI
В Kubernetes QoS (Quality of Service) классы определяют приоритет и гарантии ресурсов для подов, основываясь на их запросах и лимитах ресурсов:
-
Guaranteed: Под получает этот класс, если для всех контейнеров заданы одинаковые значения
requestsиlimitsпо CPU и памяти. Такие поды имеют самый высокий приоритет и гарантированное выделение ресурсов. -
Burstable: Если у пода заданы
requestsиlimits, но они отличаются, или заданы не для всех ресурсов, под относится к этому классу. Он получает ресурсы в пределах запросов, но может использовать больше до лимита при наличии свободных ресурсов. -
BestEffort: Если у пода не указаны ни
requests, ниlimitsдля ресурсов, он получает этот класс. Такие поды имеют самый низкий приоритет и могут быть убиты при нехватке ресурсов.
Пример:
apiVersion: v1
kind: Pod
metadata:
name: guaranteed-pod
spec:
containers:
- name: app
image: myapp
resources:
requests:
memory: "512Mi"
cpu: "1"
limits:
memory: "512Mi"
cpu: "1"
Этот под будет в классе Guaranteed.