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

позволяет подготовить провайдер OpenStack, создать внешнюю сеть и маршрутизатор, привязать к внутренней подсети, спланировать безопасное развертывание инфраструктуры одним нажатием

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

Создание маршрутизатора

Подготовка

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

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

После блока авторизации provider “openstack” {} необходимо добавить следующее:

data "openstack_networking_network_v2" "network_ext" {
name = "ext-net"
}

resource "openstack_networking_router_v2" "router" {
name                = "my_router"
admin_state_up      = true
external_network_id = data.openstack_networking_network_v2.network_ext.id
}
  • 1. data "openstack_networking_network_v2" – чтение аттрибутов внешней сети с именем ext-net.
  • 2. openstack_networking_router_v2 – создание маршрутизатора.
  • 3. external_network_id – ID внешней сети (выход в Интернет).
  • 4. admin_state_up – активация сети.
  • 5. name – название маршрутизатора.

Обеспечение связанности

openstack_networking_router_interface_v2 – создание интерфейса, соединяющего маршрутизатор с внутренней сетью.

resource "openstack_networking_router_interface_v2" "router_interface" {
router_id = openstack_networking_router_v2.router.id
subnet_id = openstack_networking_subnet_v2.subnet.id
}

Указываем ID маршрутизатора, который считали заранее, используя конструкцию: openstack_networking_router_v2.router.id, а также сеть, которую добавляем: subnet_id = openstack_networking_subnet_v2.subnet.id

Сети необходимо создать заранее, перед тем, как добавлять в маршрутизатор.

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

terraform plan

openstack_networking_router_interface_v2.router_interface will be created
+ resource "openstack_networking_router_interface_v2" "router_interface" {
  + force_destroy = false
  + id            = (known after apply)
  + port_id       = (known after apply)
  + region        = (known after apply)
  + router_id     = (known after apply)
  + subnet_id     = (known after apply)
}

# openstack_networking_router_v2.router will be created
+ resource "openstack_networking_router_v2" "router" {
  + admin_state_up          = true
  + all_tags                = (known after apply)
  + availability_zone_hints = (known after apply)
  + distributed             = (known after apply)
  + enable_snat             = (known after apply)
  + external_gateway        = (known after apply)
  + external_network_id     = "***16e5d-****-****-****-1664b98c0***"
  + id                      = (known after apply)
  + name                    = "my_router"
  + region                  = (known after apply)
  + tenant_id               = (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 осторожно, во избежание непредвиденных последствий!

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