Создать группу виртуальных машин в группе размещения
Примечание
В регионе Казахстан доступна только зона доступности kz1-a
.
Вы можете создать группу ВМ в группе размещения.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для создания группы размещения:
yc compute placement-group create --help
-
Создайте группу размещения в каталоге по умолчанию с одной из стратегий размещения:
-
Распределенное размещение (spread):
yc compute placement-group create \ --spread-strategy \ --name <имя_группы_размещения>
Где:
--spread-strategy
— выбор стратегии распределенного размещения.--name
— имя группы размещения.
-
Размещение разделами (partition):
yc compute placement-group create \ --partitions <количество_разделов> \ --name <имя_группы_размещения>
Где:
--partitions
— выбор стратегии размещения разделами с указанием количества разделов: от1
до5
.--name
— имя группы размещения.
-
-
Посмотрите описание команды CLI для создания группы ВМ:
yc compute instance-group create --help
-
Проверьте, есть ли в каталоге хотя бы одна сеть:
yc vpc network list
Если ни одной сети нет, создайте ее.
-
Выберите один из публичных образов Yandex Cloud Marketplace (например, CentOS 7).
Чтобы получить список доступных образов с помощью CLI, выполните команду:
yc compute image list --folder-id standard-images
Результат:
+----------------------+-------------------------------------+--------------------------+----------------------+--------+ | ID | NAME | FAMILY | PRODUCT IDS | STATUS | +----------------------+-------------------------------------+--------------------------+----------------------+--------+ ... | fdvk34al8k5n******** | centos-7-1549279494 | centos-7 | dqni65lfhvv2******** | READY | | fdv7ooobjfl3******** | windows-2016-gvlk-1548913814 | windows-2016-gvlk | dqnnc72gj2is******** | READY | | fdv4f5kv5cvf******** | ubuntu-1604-lts-1549457823 | ubuntu-1604-lts | dqnnb6dc7640******** | READY | ... +----------------------+-------------------------------------+--------------------------+----------------------+--------+
Где:
-
ID
— идентификатор образа. -
NAME
— имя образа. -
FAMILY
— идентификатор семейства образов, к которому относится образ. -
PRODUCT IDS
— идентификаторы продуктов Yandex Cloud Marketplace, связанных с образом. -
STATUS
— текущий статус образа. Может принимать одно из значений:STATUS_UNSPECIFIED
— статус образа не определен.CREATING
— образ в процессе создания.READY
— образ готов к использованию.ERROR
— образ нельзя использовать из-за возникшей с ним проблемы.DELETING
— образ в процессе удаления.
-
-
Создайте YAML-файл с произвольным именем, например
specification.yaml
. -
Опишите в созданном файле:
-
Общую информацию о группе ВМ:
name: first-fixed-group service_account_id: <идентификатор_сервисного_аккаунта> description: "This instance group was created from YAML config."
Где:
-
name
— произвольное имя группы ВМ. Имя должно быть уникальным в рамках каталога. Имя может содержать строчные буквы латинского алфавита, цифры и дефисы. Первый символ должен быть буквой. Последний символ не может быть дефисом. Максимальная длина имени — 63 символа. -
service_account_id
— идентификатор сервисного аккаунта.Сервисный аккаунт нельзя удалить, пока он связан с группой виртуальных машин.
-
description
— произвольное описание группы ВМ.
-
-
Шаблон ВМ, например:
instance_template: platform_id: standard-v3 resources_spec: memory: 2g cores: 2 boot_disk_spec: mode: READ_WRITE disk_spec: image_id: fdvk34al8k5n******** type_id: network-hdd size: 32g network_interface_specs: - network_id: c64mknqgnd8a******** primary_v4_address_spec: {} security_group_ids: - enps0ar5s3ti******** scheduling_policy: preemptible: false placement_policy: placement_group_id: fdvte50kv3nc********
По умолчанию размер диска указывается в байтах. Вы можете указать другую единицу измерения с помощью соответствующего суффикса.
Суффикс Приставка и множитель Пример k
кило- (210) 640k
= 640 × 210 =655360
m
мега- (220) 48m
= 48 × 220 =50331648
g
гига- (230) 10g
= 10 × 230 =10737418240
t
тера- (240) 4t
= 4 × 240 =4398046511104
p
пета- (250) 2p
= 2 × 250 =2251799813685248
Где:
-
platform_id
— идентификатор платформы. -
memory
— количество памяти (RAM). -
cores
— количество ядер процессора (vCPU). -
mode
— режим доступа к диску.READ_ONLY
— доступ на чтение.READ_WRITE
— доступ на чтение и запись.
-
image_id
— идентификатор публичного образа. Идентификаторы образа можно посмотреть в консоли управления при создании ВМ или в Cloud Marketplace на странице образа в блоке Идентификаторы продукта. -
type_id
— тип диска. -
size
— размер диска. -
network_id
— идентификатор сетиdefault-net
. -
primary_v4_address_spec
— спецификация версии интернет протокола IPv4. Вы можете предоставить публичный доступ к ВМ группы, указав версию IP для публичного IP-адреса. Подробнее читайте в разделе Описание шаблона в YAML-файле. -
security_group_ids
— список идентификаторов групп безопасности. -
scheduling_policy
— конфигурация политики планирования. -
preemptible
— флаг, указывающий создавать прерываемые ВМ.true
— будет создана прерываемая ВМ.false
(по умолчанию) — обычная.
Создавая группу прерываемых ВМ учитывайте, что ВМ будут останавливаться спустя 24 часа непрерывной работы, а могут быть остановлены еще раньше. При этом возможна ситуация, что Instance Groups не сможет сразу перезапустить их из-за нехватки ресурсов. Это может произойти, если резко возрастет потребление вычислительных ресурсов в Yandex Cloud.
-
placement_policy
— параметры группы размещения ВМ:placement_group_id
— идентификатор группы размещения.
-
-
deploy_policy: max_unavailable: 1 max_expansion: 0 scale_policy: fixed_scale: size: 3 allocation_policy: zones: - zone_id: ru-central1-a instance_tags_pool: - first - second - third
Где:
deploy_policy
— политика развертывания ВМ в группе.scale_policy
— политика масштабирования ВМ в группе.allocation_policy
— политика распределения ВМ по зонам доступности.
Полный код файла
specification.yaml
:name: first-fixed-group service_account_id: ajed6ilf11qg******** description: "This instance group was created from YAML config." instance_template: platform_id: standard-v3 resources_spec: memory: 2g cores: 2 boot_disk_spec: mode: READ_WRITE disk_spec: image_id: fdvk34al8k5n******** type_id: network-hdd size: 32g network_interface_specs: - network_id: c64mknqgnd8a******** primary_v4_address_spec: {} security_group_ids: - enps0ar5s3ti******** scheduling_policy: preemptible: false placement_policy: placement_group_id: fdvte50kv3nc******** deploy_policy: max_unavailable: 1 max_expansion: 0 scale_policy: fixed_scale: size: 3 allocation_policy: zones: - zone_id: ru-central1-a instance_tags_pool: - first - second - third
-
-
Создайте группу ВМ в каталоге по умолчанию:
yc compute instance-group create --file specification.yaml
Данная команда создаст группу из трех однотипных ВМ со следующими характеристиками:
- С именем
first-fixed-group
. - С OC CentOS 7.
- В сети
default-net
. - В группе размещения
my-group
. - В зоне доступности
ru-central1-a
. - С 2 vCPU и 2 ГБ RAM.
- С сетевым HDD-диском объемом 32 ГБ.
- С именем
Воспользуйтесь методом REST API create для ресурса InstanceGroup или вызовом gRPC API InstanceGroupService/Create.