Документация "Инферит Облако"

создаёт логическую группу серверов с заданными политиками размещения, автоматически конфигурирует провайдер Terraform и генерирует необходимые файлы — готовое решение для быстрой, безопасной оркестрации ВМ

Документация на нашем сайте предлагает исчерпывающие инструкции и руководства, созданные для повышения вашей эффективности при работе с облачными сервисами. В ней подробно описаны ключевые функции, процессы настройки инструментов, управление ресурсами, меры безопасности и практические сценарии использования

Создание группы серверов

Подготовка

Ознакомитесь со статьей – Terraform быстрый старт.
Выполните все действия по настройке провайдера, составлению основных конфигурационных файлов.

Добавить описание ресурсов

servergroup

resource "openstack_compute_servergroup_v2" "servergroup" {
name     = "servergroup"
policies = ["affinity"]
}

В примере создаётся логическая группу серверов с именем servergroup.

В параметре policies указывается одно из правил размещения:

affinity – все экземпляры/серверы, запущенные в этой группе, будут размещены на одном вычислительном узле.
anti-affinity – все экземпляры/серверы, запущенные в этой группе, будут размещаться на разных вычислительных узлах.
soft-affinity – все экземпляры/серверы, запущенные в этой группе, будут, если возможно, размещены на одном вычислительном узле, но если это невозможно, они все равно будут перемещены вместо сбоя.
soft-anti-affinity – все экземпляры/серверы, запущенные в этой группе, будут по возможности размещаться на разных вычислительных узлах, но если это невозможно, они все равно будут перемещены вместо сбоя.

Для применения данных правил к ВМ (инстансу) виртуальный сервер должен быть включён в группу на этапе разворачивания. Если этого не сделать и создать инстанс, добавить его в группу не получится. Придётся пересоздавать ВМ. Будьте внимательны!

В блоке scheduler_hints указывается параметр группы group, в которую входит инстанс.

При этом, используя данный параметр, возможно выбрать только одну группу серверов.

resource "openstack_compute_instance_v2" "instance_win" {
name        = "instance_win"
image_id  = data.openstack_images_image_v2.image_name_win.id
flavor_name = "4vcpu.8ram"

metadata = {
  admin_pass = "Qwe123#"
}

scheduler_hints {
  group = openstack_compute_servergroup_v2.servergroup.id
}

network {
  port = openstack_networking_port_v2.port2.id
}
}

Запуск развертывания

После добавления нового ресурса, стоит проверить корректность выполнения команды – terraform plan:

# openstack_compute_servergroup_v2.servergroup will be created
+ resource "openstack_compute_servergroup_v2" "servergroup" {
  + id       = (known after apply)
  + members  = (known after apply)
  + name     = "servergroup"
  + policies = [
      + "affinity",
    ]
  + region   = (known after apply)
}

Удостоверившись, что ресурсы планируются создаться или удалиться, в зависимости от файла состояний, можно перейти к развертыванию:
terraform apply

Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.

Enter a value:

Подтвердите выполнение командой yes.
Ресурсы создадутся, и информация будет добавлена в новый файл состояний.

Если какие-то ресурсы удалены из кода, но они присутствуют в файле состояния, то они будут удалены!
Применяйте команду terraform plan осторожно, во избежание непредвиденных последствий!

Получить доступ в личный кабинет клиента
Публикации в СМИ
Подключить сервис
Получить демо-доступ
Получить консультацию