Оптимизация ресурсов ВМ
Глобальные параметры переподписки устанавливаются администратором кластера и по умолчанию применяются к каждой ВМ. Подробная информация описана в Руководстве администратора в командной строке.
При необходимости можно переопределить некоторые параметры переподписки индивидуально для ВМ.
Настройка переподписки ЦПУ
Переподписка ЦПУ позволяет выделить виртуальной машине больше ВЦПУ, чем физически доступно в кластере за счет разделения процессорного времени между несколькими ВЦПУ.
При установленных настройках Переподписки ЦПУ в кластере назначен глобальный коэффициент переподписки ЦПУ 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
...
Термины и определения содержатся в статьях: