Пулы резервов виртуальных машин
Важно
Пулы резервов ВМ тарифицируются: взимается плата за весь свободный объем зарезервированных вычислительных ресурсов ВМ, кластеров GPU и программно-ускоренных сетей согласно правилам тарификации Yandex Compute Cloud. Подробнее см. в разделе Использование пулов резервов ВМ.
Функциональность пулов резервов ВМ находится на стадии Preview.
Пул резервов виртуальных машин — это зарезервированная пользователем в заданной зоне доступности совокупность вычислительных ресурсов, которые будут гарантированно доступны пользователю для создания в этой зоне доступности виртуальных машин в определенной конфигурации.
Управлять пулами резервов ВМ и привязкой к ним виртуальных машин вы можете с помощью Yandex Cloud CLI и API.
Пулы резервов ВМ несовместимы с выделенными хостами, прерываемыми ВМ и виртуальными машинами с уровнем производительности vCPU менее 100%. Кроме того, в настоящее время пулы резервов ВМ не поддерживают группы размещения и группы виртуальных машин.
Пул резервов ВМ состоит из набора слотов — совокупностей вычислительных ресурсов в зоне доступности, минимально необходимых для запуска одной виртуальной машины в заданной для пула конфигурации.
Размер пула
Размер пула резервов ВМ — это количество слотов, из которых состоит пул. Размер пула указывается в поле size
в сведениях о пуле.
При изменении размера пула с опцией ожидания ресурсов в дополнение к размеру пула, заданному значением поля size
, ключевым параметром также является размер, заданный значением поля committed_size
. Поле committed_size
содержит информацию о фактическом количестве слотов пула, не находящихся в режиме ожидания ресурсов, то есть о количестве слотов, для которых сервис Compute Cloud гарантирует наличие ресурсов.
Значение поля committed_size
отличается от значения поля size
только в тех случаях, когда в пуле есть слоты, ожидающие ресурсов. Если опция ожидания ресурсов не используется, значения полей size
и committed_size
идентичны.
Каждая запущенная виртуальная машина, привязанная к пулу резервов ВМ, занимает один слот. Привязанные к пулу и не запущенные виртуальные машины не занимают слоты пула, но при этом учитываются в статистике пула по виртуальным машинам.
Если для пула не включена переподписка, к нему нельзя привязать виртуальных машин больше, чем задано в поле committed_size
. Если переподписка включена, то количество привязанных к пулу ВМ может превысить размер committed_size
этого пула.
Независимо от статуса переподписки в пуле резервов ВМ, нельзя одновременно запустить больше виртуальных машин, чем указано в поле committed_size
.
Опция ожидания ресурсов
При увеличении размера пула вы можете включить опцию ожидания ресурсов. Эта опция позволяет увеличить размер пула на нужное количество слотов, даже в тех случаях, когда в момент расширения пула в его зоне доступности нет достаточного количества свободных ресурсов.
Опция задается в параметре --allow-pending-slots
команды Yandex Cloud CLI yc compute reserved-instance-pool update
или в поле allow_pending_slots
запроса API.
При использовании этой опции слоты, на которые при расширении пула не хватило ресурсов, переходят в статус ожидания ресурсов (pending
). В дальнейшем для слотов в статусе pending
сервис автоматически и непрерывно пытается найти доступные ресурсы в зоне доступности пула резервов ВМ. Как только нужные ресурсы для слота найдены, слот переходит в статус available
, а значение поля committed_size
в пуле увеличивается.
Примечание
Слоты в статусе ожидания ресурсов (pending
) не тарифицируются.
Опцию ожидания ресурсов необходимо включать при любом изменении размера пула, который уже содержит слоты в статусе pending
. В противном случае операция изменения пула резервов ВМ завершится ошибкой. Исключение — операция уменьшения размера пула до значения, не превышающего текущего значения поля committed_size
. При уменьшении размера пула из него в первую очередь удаляются слоты в статусе pending
.
Создание пула
При создании пула резервов ВМ для него задаются размер в слотах, зона доступности, в которой будут резервироваться вычислительные ресурсы, и конфигурация виртуальных машин, входящих в пул.
Конфигурация виртуальных машин пула включает в себя следующие параметры:
- платформа;
- количество vCPU;
- объем памяти (RAM);
- кластер и количество GPU;
- тип сети (обычная или программно-ускоренная).
Вы можете изменить размер пула после его создания. Зона доступности и конфигурация ВМ задаются только при создании пула и не могут быть изменены позднее.
Управление виртуальными машинами пула
Примечание
К пулу резервов ВМ нельзя привязать виртуальную машину с конфигурацией, отличной от конфигурации, которая задана в настройках пула.
Привязка виртуальных машин к пулу
Чтобы привязать виртуальную машину к пулу резервов ВМ, передайте в ее настройки идентификатор нужного пула. Вы можете привязать виртуальную машину к пулу резервов ВМ как при создании новой ВМ, так и при изменении существующей.
При создании новой виртуальной машины в пуле резервов ВМ эта виртуальная машина займет один из свободных слотов пула. При этом, если при создании новой ВМ в этом пуле нет свободных слотов, то создание ВМ завершится ошибкой. Чтобы это исправить, вы можете увеличить размер пула.
При привязке к пулу резервов ВМ существующей виртуальной машины:
-
если привязываемая ВМ остановлена, то в статистике по виртуальным машинам пула увеличится значение поля
total
; -
если привязываемая ВМ запущена, то в статистике по слотам пула уменьшится количество слотов в статусе
available
, увеличится количество слотов в статусеused
, а также увеличится значение поляtotal
в статистике по виртуальным машинам.Если в пуле есть слоты в статусе
pending
илиunavailable
, то при привязке к пулу запущенных ВМ замещаться будут именно такие слоты, причем слотыunavailable
будут замещаться в первую очередь.
По умолчанию к пулу можно привязать количество виртуальных машин, не превышающее текущий фактический размер пула (значение поля committed_size
). Такое поведение можно изменить с помощью опции переподписки.
Переподписка
В режиме переподписки вы можете привязывать к пулу любое количество остановленных виртуальных машин, поэтому количество привязанных к пулу ВМ может превышать размер пула. При этом количество одновременно запущенных виртуальных машин пула не может превысить его текущий фактический размер (значение поля committed_size
), а попытка запустить привязанную к пулу виртуальную машину при отсутствии слотов в статусе available
завершится ошибкой.
Включить режим переподписки можно при создании или изменении пула резервов ВМ с помощью параметра --allow-oversubscription
в командах Yandex Cloud CLI yc compute reserved-instance-pool create|update
или в поле allow_oversubscription
запроса API.
Чтобы отключить для пула режим переподписки, убедитесь, что число привязанных к нему виртуальных машин не превышает его текущий фактический размер (значение поля committed_size
). При необходимости предварительно отвяжите от пула все лишние виртуальные машины.
Запуск и остановка виртуальных машин, привязанных к пулу
Остановка виртуальной машины, привязанной к пулу резервов ВМ, освобождает занимаемый этой виртуальной машиной слот, переводя его в статус available
. Высвободившийся слот может быть использован этой же или другой виртуальной машиной пула. Таким образом, остановленные ВМ не расходуют слоты пула резервов ВМ.
При повторном запуске эта ВМ вновь займет один из доступных слотов, переведя его в статус used
.
Отвязка виртуальных машин от пула
Вы можете отвязать виртуальную машину от пула резервов ВМ:
-
если отвязываемая ВМ остановлена, то в статистике по виртуальным машинам пула уменьшится значение поля
total
; -
если отвязываемая ВМ запущена, то в статистике по слотам пула увеличится количество слотов в статусе
available
, уменьшится количество слотов в статусеused
, а также уменьшится значение поляtotal
в статистике по виртуальным машинам.Отвязать от пула запущенную виртуальную машину возможно только в том случае, если в зоне доступности есть свободные ресурсы, которые можно зарезервировать под освобождающийся в пуле слот.
Примечание
При отвязывании запущенной ВМ от пула резервов ВМ объем тарифицируемых ресурсов увеличивается: отвязанная ВМ продолжает тарифицироваться отдельно от пула, а в пуле появляется новый слот в статусе
available
, зарезервированные ресурсы для которого также тарифицируются.
Статистика использования ресурсов пула
Сведения о пуле резервов ВМ вы можете получить с помощью команды Yandex Cloud CLI yc compute reserved-instance-pool get
, метода REST API get для ресурса ReservedInstancePool или вызова gRPC API ReservedInstancePoolService/Get. Полученные сведения содержат имя, идентификатор, размер, зону доступности, конфигурацию ВМ пула, статистику по слотам и виртуальным машинам пула, а также другие параметры.
Статистика по слотам пула
Статистика по слотам пула резервов ВМ содержит следующие поля:
-
total
— общее количество слотов в пуле. Равно сумме количеств всех слотов в статусахused
,available
,unavailable
иpending
. -
used
— количество слотов, занятых запущенными виртуальными машинами. -
available
— количество слотов, для которых в зоне доступности пула зарезервированы ресурсы и которые доступны для использования виртуальными машинами.Слоты пула резервов ВМ в статусе
available
расходуют квоты на суммарное количество vCPU, GPU и суммарный объем виртуальной памяти ВМ, но не расходуют квоты на количество виртуальных машин в одном облаке. -
unavailable
— количество слотов, недоступных по техническим причинам.Слот может перейти в статус
unavailable
, если, например, часть зарезервированного под пул оборудования вышла из строя. Слот в таком статусе невозможно использовать для запуска ВМ.Сервис автоматически и непрерывно пытается восстанавливать слоты в статусе
unavailable
за счет имеющихся в зоне доступности ресурсов. Как только необходимые для замещения ресурсы найдены, слот возвращается в статусavailable
. -
pending
— количество слотов, находящихся в ожидании необходимых ресурсов.Этот статус присваивается добавляемому в пул слоту, когда при увеличении размера пула в зоне доступности отсутствуют необходимые для этого нового слота ресурсы, но при этом для операции обновления пула включена опция ожидания ресурсов.
Сервис автоматически и непрерывно пытается найти доступные ресурсы для слотов, находящихся в статусе
pending
. Как только нужные ресурсы для слота найдены, слот переходит в статусavailable
.
Примечание
Слоты в статусах unavailable
и pending
не тарифицируются.
Статистика по виртуальным машинам пула
Статистика по виртуальным машинам пула резервов ВМ содержит поле total
с информацией об общем количестве виртуальных машин, привязанных к пулу. В значении этого поля учитываются все привязанные к пулу виртуальные машины: как запущенные, так и остановленные.
Удаление пула
При удалении пула резервов ВМ все привязанные к пулу виртуальные машины будут от него отвязаны, а запущенные ВМ продолжат работать.