Можно создать объект resourcequota, подобный следующему:
apiVersion: v1
kind: ResourceQuota
metadata:
name: mem-cpu-demo
spec:
hard:
requests.cpu: "1"
requests.memory: 1Gi
limits.cpu: "2"
limits.memory: 2Gi
Однако существуют некоторые предварительные условия для проверки потребления модулей:
- Каждый контейнер должен иметь память запрос, ограничение памяти, запрос процессора и ограничение процессора.
- Общее количество запросов памяти для всех контейнеров не должно превышать 1 ГиБ.
- Общее ограничение памяти для всех контейнеров не должно превышать 2 ГиБ.
- Общее количество запросов ЦП для всех контейнеров не должно превышать 1 процессор.
- Общее ограничение ЦП для всех контейнеров не должно превышать 2 процессора.
Пример шаблона Pod
apiVersion: v1
kind: Pod
metadata:
name: quota-mem-cpu-demo
spec:
containers:
- name: quota-mem-cpu-demo-ctr
image: nginx
resources:
limits:
memory: "800Mi"
cpu: "800m"
requests:
memory: "600Mi"
cpu: "400m"
Чтобы проверить потребление ресурсов, используйте следующую команду:
kubectl --context <cluster_context> describe resourcequota -n my-namespace
Источник: https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/