Перейти к содержанию

Оптимизация ресурсов ВМ

Глобальные параметры переподписки устанавливаются администратором кластера и по умолчанию применяются к каждой ВМ. Подробная информация описана в Руководстве администратора в командной строке.

При необходимости можно переопределить некоторые параметры переподписки индивидуально для ВМ.

Настройка переподписки ЦПУ

Переподписка ЦПУ позволяет выделить виртуальной машине больше ВЦПУ, чем физически доступно в кластере за счет разделения процессорного времени между несколькими ВЦПУ.

При установленных настройках Переподписки ЦПУ в кластере назначен глобальный коэффициент переподписки ЦПУ default_cpu_overcommit_ratio. Этот коэффициент применяется ко всем ВМ по умолчанию, но может быть переопределен для каждой виртуальной машины индивидуально.

При создании ВМ можно указать коэффициент переподписки cpu_overcommit_ratio в диапазоне 1-4.

Пример создания ВМ с указанным коэффициентом переподписки ЦПУ
apiVersion: v1
kind: api
metadata:
  plugin:
    scheduler:
      request: add
spec:
  data:
    vms:
      - name: "vm"
        vcpu: 3
        cpu_overcommit_ratio: 2 
        ...

Чем выше коэффициент переподписки ЦПУ, тем меньше доля ЦПУ на каждый ВЦПУ, то есть можно создать больше ВЦПУ.

Пример

ВМ с vcpu: 3 и cpu_overcommit_ratio: 2. Каждый ВЦПУ использует 1 / 2 = 0.5 физического ЦПУ. Таким образом ВМ будет потреблять 3 x 0.5 = 1.5 ЦПУ


Настройка переподписки ОЗУ

Переподписка ОЗУ позволяет выделить ВМ больше виртуальной памяти, чем физически доступно в кластере, при условии, что в кластере настроена и включена переподписка ОЗУ.

При установленных настройках Переподписки ОЗУ в кластере назначено глобальное значение толерантности ВМ к переподписке default_overcommit_tolerance. Этот коэффициент применяется ко всем ВМ по умолчанию, но может быть переопределен для каждой виртуальной машины индивидуально.

При создании ВМ можно указать толерантность ВМ к переподписке overcommit_tolerance в диапазоне от 0-3.

Правила работы коэффициента переподписки ОЗУ:

  • ВМ с overcommit_tolerance больше 0 становится «донором памяти»;
  • при достижении порога срабатывания балунинга ВМ начинает отдавать часть своей памяти другим ВМ;
  • чем выше overcommit_tolerance, тем больше памяти может отдать ВМ;
  • при overcommit_tolerance: 0 ВМ не отдает свою память.
Пример создания ВМ с указанной толерантностью к переподписке ОЗУ
apiVersion: v1
kind: api
metadata:
  plugin:
    scheduler:
      request: add
spec:
  data:
    vms:
      - name: "vm"
        vcpu: 3
        overcommit_tolerance: 2
        ...

Термины и определения содержатся в статьях: