Пулы резервов виртуальных машин для групп узлов Yandex Managed Service for Kubernetes
Важно
Пулы резервов ВМ тарифицируются: взимается плата за весь свободный объем зарезервированных вычислительных ресурсов ВМ, кластеров GPU и программно ускоренных сетей согласно правилам тарификации Yandex Compute Cloud. Подробнее см. в разделе Использование пулов резервов ВМ.
Функциональность пулов резервов ВМ находится на стадии Preview.
Пул резервов виртуальных машин — это зарезервированная пользователем в заданной зоне доступности совокупность вычислительных ресурсов, которые будут гарантированно доступны пользователю для создания в этой зоне доступности виртуальных машин в определенной конфигурации.
Подробнее читайте на странице Пулы резервов виртуальных машин в Compute Cloud.
В Managed Service for Kubernetes вы можете использовать пулы резервов ВМ для групп узлов фиксированного размера. Это обеспечивает гарантированную доступность ресурсов для узлов кластера.
Использование пулов резервов в Managed Service for Kubernetes доступно с помощью CLI, Terraform и API.
Совет
Пулы резервов ВМ создаются в конкретной зоне доступности. Чтобы автоматизировать распределение узлов мультизональной группы в пулах резервов ВМ конкретной зоны доступности, используйте переменные в шаблоне узла.
Ограничения
Использование пулов резервов ВМ не поддерживается для групп узлов со следующими параметрами:
- с автоматическим масштабированием;
- c уровнем производительности vCPU менее 100%;
- c прерываемыми ВМ;
- с использованием групп размещения ВМ.
Примечание
Конфигурация группы узлов должна соответствовать конфигурации пула резервов ВМ в части:
- платформы;
- количества vCPU;
- объема RAM;
- зоны доступности.
Количество узлов в группе в каждой зоне доступности не должно превышать размер пулов резервов ВМ в этих зонах.
Примеры
В примере создается группа узлов в одной зоне доступности с двумя узлами из пула резервов ВМ этой зоны.
yc managed-kubernetes node-group create \
--name k8s-reserved-ng \
--cluster-id <идентификатор_кластера> \
--platform-id standard-v4a \
--cores 4 \
--memory 8 \
--disk-size 64 \
--disk-type network-ssd \
--fixed-size 2 \
--location zone=ru-central1-a,subnet-id=<идентификатор_подсети> \
--network-interface security-group-ids=[<идентификаторы_групп_безопасности>] \
--reserved-instance-pool-id <идентификатор_пула_резервов>
Где:
--cluster-id— идентификатор кластера.--location— зона доступности и идентификатор подсети.--network-interface security-group-ids— идентификаторы групп безопасности.--reserved-instance-pool-id— идентификатор пула резервов ВМ.
resource "yandex_kubernetes_node_group" "k8s-reserved-ng" {
cluster_id = "<идентификатор_кластера>"
name = "k8s-reserved-ng"
instance_template {
platform_id = "standard-v4a"
reserved_instance_pool_id = "<идентификатор_пула_резервов>"
resources {
cores = 4
memory = 8
}
boot_disk {
size = 64
type = "network-ssd"
}
network_interface {
subnet_ids = ["<идентификатор_подсети>"]
security_group_ids = ["<идентификаторы_групп_безопасности>"]
nat = true
}
}
scale_policy {
fixed_scale {
size = 2
}
}
allocation_policy {
location {
zone = "ru-central1-a"
}
}
}
Где:
cluster_id— идентификатор кластера.subnet_ids— идентификатор подсети.security_group_ids— идентификаторы групп безопасности.reserved_instance_pool_id— идентификатор пула резервов ВМ.
Примеры для мультизональной группы с узлами из пула резервов ВМ с использованием переменных приведены на странице Переменные в шаблоне узла.