Рейтинг:2

Гарантия ResourceQuota в пространстве имен

флаг ng

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

После инструкции Я попытался использовать следующее в своем пространстве имен:

апиВерсия: v1
вид: ResourceQuota
метаданные:
  имя: мем-квота
спецификация:
  жесткий:
    запросы.память: 8Gb

Однако, прочитав больше документов, оказалось, что это не гарантирует, что у них есть 8 ГБ памяти для своих модулей. Это просто означает сумму их стручков запросы.память значение не может превышать 8Gb. Вполне возможно, что у них может быть установлено 8 Гб, как указано выше, они будут использовать только 4 Гб и не смогут создать новый модуль, если кластер был исчерпан в другом месте, а новый модуль нельзя было запланировать.

Также, например, я могу создать РесурсКвота с запросы.память значение 16Gi в кластере только с 8Gi общей памяти.

Можно ли как-то гарантировать команде фиксированный объем памяти только для их использования?

Рейтинг:0
флаг cn
Vit

Это просто означает, что сумма их pod’ов request.memory value не может превышать 8Gb

Да, это логика ResourceQuota. От Понимание квот ресурсов:

Квоты ресурсов работают следующим образом:

  • Пользователи размещают запросы на вычислительные ресурсы в своих модулях. Сумма всех запросов ресурсов во всех модулях в одном и том же пространстве имен не должна превышать любой предел жестких ресурсов в любом документе квоты ресурсов для пространство имен. Обратите внимание, что мы использовали для проверки квоты ресурсов, взяв сумма лимитов ресурсов модулей, но это было изменено для использования запросы ресурсов. Обратная совместимость для этих модулей ранее созданный сохраняется, потому что модули, которые указывают только ограничение ресурсов их запросы ресурсов по умолчанию соответствуют установленным ограничениям. Плата с пользователя взимается только за те ресурсы, которые он запрашивает в Квота ресурсов по сравнению с их ограничениями, поскольку запрос является минимальным объем ресурсов, гарантированный кластером при планировании. За дополнительную информацию о чрезмерной фиксации см. в разделе Compute-resources.

  • Если создание модуля приведет к тому, что пространство имен превысит любое из ограничений, указанных в квоте ресурсов для этого пространства имен, тогда запрос завершится ошибкой с кодом состояния HTTP 403 FORBIDDEN.

  • Если квота включена в пространстве имен, и пользователь не указывает запросы в модуле для каждого из ресурсов, для которых квота включен, то POST модуля завершится ошибкой с кодом состояния HTTP 403. ЗАПРЕЩЕННЫЙ. Совет: используйте контроллер допуска LimitRange, чтобы принудительно значения лимитов по умолчанию (тогда запросы ресурсов будут равны лимиты по умолчанию, см. контроллер допуска) до того, как квота проверено, чтобы избежать этой проблемы.


Однако статья немного расширится для случаев, когда вам нужно разделять ресурсы по отдельности. И это не то, что уже реализовано.

Квота и емкость кластера: Иногда могут потребоваться более сложные политики, например:

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

Такие политики могут быть реализованы с использованием ResourceQuota в качестве строительного блока путем написания «контроллера», который следит за использованием квоты и регулирует жесткие ограничения квоты для каждого пространства имен в соответствии с другими сигналами.


Я ожидаю, что вам нужно написать собственную логику в собственном контроллере.

Пожалуйста, взгляните также на Как заставить пространства имен Kubernetes иметь ResourceQuotas с помощью OPA

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.