Есть ли в k8s \ openshift запрос памяти по умолчанию и \ или ограничения для подов \ контейнеров?
Привет, ребята из 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)?
Ответы
По умолчанию запросы или ограничения ресурсов отсутствуют, что означает, что каждый модуль создается с использованием BestEffort QoS . Если вы хотите настроить значения по умолчанию для запросов и ограничений, вам следует использовать LimitRange .
Модули BestEffort по определению - это «для модуля, которому должен быть предоставлен класс QoS BestEffort, контейнеры в модуле не должны иметь ограничений или запросов на память или ЦП». Поды BestEffort имеют самый низкий приоритет для планировщика Kubernetes и могут быть исключены в случае конфликта ресурсов.
Все вышесказанное верно для всех дистрибутивов Kubernetes, включая OpenShift.
Нет ограничения или запроса по умолчанию. Чтобы настроить ресурсы по умолчанию, вы должны создать ресурс 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 или шаблон проекта по умолчанию. (Методика точно такая же)
Что касается вашего вопроса о прогнозировании ресурсов приложений, есть несколько игроков вокруг этой проблемы. Я слышал только о турбономике, которая может даже автоматически изменять ваши ресурсы развертывания в зависимости от использования и, возможно, некоторых настраиваемых показателей.