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

автоматизирует создание и привязку Floating IP в OpenStack: готовит Terraform‑окружение, генерирует конфигурацию провайдера, данные внешних сетей, ресурсы IP и их ассоциацию с инстансом, а также управляет планированием и применением изменений

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

Создание Floating IP

Подготовка

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

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

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

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

data "openstack_networking_subnet_ids_v2" "subnets_ext" {
network_id = data.openstack_networking_network_v2.network_ext.id
}

resource "openstack_networking_floatingip_v2" "floatip" {
pool = data.openstack_networking_network_v2.network_ext.name
subnet_ids = data.openstack_networking_subnet_ids_v2.subnets_ext.ids
description = "my_float_ip"
}

resource "openstack_networking_floatingip_associate_v2" "fip" {
floating_ip = openstack_networking_floatingip_v2.floatip.address
port_id = openstack_networking_port_v2.port.id
}

Данный пример кода показывает, как привязать “плавающий” (белый) IP-адрес к инстансу.

Для того, чтобы все работало корректно, необходимо заранее создать сети и маршрутизатор.

После создания внутренней сети и добавления в маршрутизатор появляется возможность привязать IP-адрес к инстансу:

  • 1. Получаем информацию о существующей сети – data "openstack_networking_network_v2".
  • 2. Получаем ID идентификаторы сетей – data "openstack_networking_subnet_ids_v2".
  • 3. Создаётся “плавающий IP” – openstack_networking_floatingip_v2, благодаря полученным значениям о внешней сети (имеющий доступ в Интернет) – data.openstack_networking_network_v2.network_ext.name и ID внешней сети data.openstack_networking_subnet_ids_v2.subnets_ext.ids.
  • 4. Назначаем адрес инстансу – openstack_networking_floatingip_associate_v2.

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

terraform plan

# openstack_networking_floatingip_associate_v2.fip will be created
+ resource "openstack_networking_floatingip_associate_v2" "fip" {
    + fixed_ip    = (known after apply)
    + floating_ip = (known after apply)
    + id          = (known after apply)
    + port_id     = (known after apply)
    + region      = (known after apply)
  }

# openstack_networking_floatingip_v2.floatip will be created
+ resource "openstack_networking_floatingip_v2" "floatip" {
    + address     = (known after apply)
    + all_tags    = (known after apply)
    + description = "my_float_ip"
    + dns_domain  = (known after apply)
    + dns_name    = (known after apply)
    + fixed_ip    = (known after apply)
    + id          = (known after apply)
    + pool        = "ext-net"
    + port_id     = (known after apply)
    + region      = (known after apply)
    + subnet_id   = (known after apply)
    + subnet_ids  = [
        + "0377****-****-****-****-****d56eced1",
        + "064a****-****-****-****-****550458cf",
        + "8be4****-****-****-****-****9f7ef6cf",
      ]
    + 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 осторожно, во избежание непредвиденных последствий!

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