Есть ли в k8s \ openshift запрос памяти по умолчанию и \ или ограничения для подов \ контейнеров?

Jan 24 2021

Привет, ребята из DevOps!

Я пытаюсь понять, является ли это базовым запросом и \ или лимитом на под \ контейнер в k8s или Openshift, как они есть сегодня, или если вы знаете об изменениях в будущем в этом отношении.

Я видел этот ответ: какая память по умолчанию выделена для модуля, в котором указано, что ее нет, по крайней мере, для реализации Google k8s, и я хотел бы знать наверняка об этом также для текущего состояния k8s и Openshift в локальных развертываниях.

в настоящее время работает корпоративный кластер openshift 3.11.16 и скоро переходит на 4.6.4, поэтому мой вопрос также касается реализации RedHat построения поверх стандартных k8s (Openshift).

Существуют ли какие-либо базовые значения запроса или предельные значения для контейнера \ модуля?

РЕДАКТИРОВАТЬ: также есть способ, которым k8s или openshift может предсказать запрос памяти контейнера с помощью языка разработки приложений или переменных среды, установленных для развертывания (например, из команды RUN контейнера java или env: JVM_OPTS -Xms1G -Xmx1G)?

Ответы

2 VasiliAngapov Jan 24 2021 at 01:15

По умолчанию запросы или ограничения ресурсов отсутствуют, что означает, что каждый модуль создается с использованием BestEffort QoS . Если вы хотите настроить значения по умолчанию для запросов и ограничений, вам следует использовать LimitRange .

Модули BestEffort по определению - это «для модуля, которому должен быть предоставлен класс QoS BestEffort, контейнеры в модуле не должны иметь ограничений или запросов на память или ЦП». Поды BestEffort имеют самый низкий приоритет для планировщика Kubernetes и могут быть исключены в случае конфликта ресурсов.

Все вышесказанное верно для всех дистрибутивов Kubernetes, включая OpenShift.

1 StavBernaz Feb 04 2021 at 05:31

Нет ограничения или запроса по умолчанию. Чтобы настроить ресурсы по умолчанию, вы должны создать ресурс LimitRange, как описано здесь:https://docs.openshift.com/container-platform/3.11/dev_guide/compute_resources.html#dev-viewing-limit-ranges

Если вы хотите, чтобы каждый новый проект создавался с определенными ограничениями ресурсов, вы можете изменить шаблон проекта по умолчанию, как описано здесь: https://docs.openshift.com/container-platform/3.11/admin_guide/managing_projects.html#modifying-the-template-for-new-projects

Это не изменилось и в 4.6, только реализация того, как изменить LimitRange или шаблон проекта по умолчанию. (Методика точно такая же)

Что касается вашего вопроса о прогнозировании ресурсов приложений, есть несколько игроков вокруг этой проблемы. Я слышал только о турбономике, которая может даже автоматически изменять ваши ресурсы развертывания в зависимости от использования и, возможно, некоторых настраиваемых показателей.