Найти в Дзене

Openstack Cli# Обращаемся к источнику данных, чтобы узнать ID существующего виртуального маршрутизатора

data "openstack_networking_router_v2" "router" {
name = "cloud"
}

data "openstack_networking_router_v2" "router1" {
name = "cloud"
}

data "openstack_networking_router_v2" "router2" {
name = "cloud"
}

data "openstack_networking_router_v2" "router3" {
name = "cloud"
}
data "openstack_networking_router_v2" "router4" {
name = "cloud"
}

# Создаём сеть с именем "INTERNET" в соответствие с топологией
resource "openstack_networking_network_v2" "network" {
name = "INTERNET"
admin_state_up = "true"
}

resource "openstack_networking_network_v2" "network1" {
name = "Backup-Net"
admin_state_up = "true"
}

resource "openstack_networking_network_v2" "network2" {
name = "Management-Net"
admin_state_up = "true"
}

resource "openstack_networking_network_v2" "network3" {
name = "Internal-Net"
admin_state_up = "true"
}

resource "openstack_networking_network_v2" "network4" {
name = "External-Net"
admin_state_up = "true"
}

# Создаём подсеть с именем "INTERNET" в ранее созданной сети с именем "INTERNET"
resource "openstack_networking_subnet_v2" "subnet" {
name = "INTERNET"
network_id = openstack_networking_network_v2.network.id
cidr = "192.168.200.0/24"
ip_version = 4
gateway_ip = "192.168.200.1"
dns_nameservers = [ "77.88.8.8" ]
enable_dhcp = false
}

resource "openstack_networking_subnet_v2" "subnet1" {
name = "Backup-Net"
network_id = openstack_networking_network_v2.network1.id
cidr = "192.168.10.128/27"
ip_version = 4
gateway_ip = "192.168.10.158"
dns_nameservers = [ "77.88.8.8" ]
enable_dhcp = false
}

resource "openstack_networking_subnet_v2" "subnet2" {
name = "Management-Net"
network_id = openstack_networking_network_v2.network2.id
cidr = "192.168.10.64/26"
ip_version = 4
gateway_ip = "192.168.10.126"
dns_nameservers = [ "77.88.8.8" ]
enable_dhcp = false
}

resource "openstack_networking_subnet_v2" "subnet3" {
name = "Internal-Net"
network_id = openstack_networking_network_v2.network3.id
cidr = "192.168.10.0/26"
ip_version = 4
gateway_ip = "192.168.10.62"
dns_nameservers = [ "77.88.8.8" ]
enable_dhcp = false
}

# Создаём подсеть с именем "INTERNET" в ранее созданной сети с именем "INTERNET"
resource "openstack_networking_subnet_v2" "subnet4" {
name = "External-Net"
network_id = openstack_networking_network_v2.network4.id
cidr = "172.16.1.0/29"
ip_version = 4
gateway_ip = "172.16.1.6"
dns_nameservers = [ "77.88.8.8" ]
enable_dhcp = false
}

# Добавляем в существующий маршрутизатор созданную подсеть с именем "INTERNET", чтобы в дальнейшем ВМ подключённые к данной подсети имели доступ в Интернет
resource "openstack_networking_router_interface_v2" "router_interface" {
router_id = data.openstack_networking_router_v2.router.id
subnet_id = openstack_networking_subnet_v2.subnet.id
}
resource "openstack_networking_router_interface_v2" "router_interface1" {
router_id = data.openstack_networking_router_v2.router1.id
subnet_id = openstack_networking_subnet_v2.subnet1.id
}

resource "openstack_networking_router_interface_v2" "router_interface2" {
router_id = data.openstack_networking_router_v2.router2.id
subnet_id = openstack_networking_subnet_v2.subnet2.id
}

resource "openstack_networking_router_interface_v2" "router_interface3" {
router_id = data.openstack_networking_router_v2.router3.id
subnet_id = openstack_networking_subnet_v2.subnet3.id
}

resource "openstack_networking_router_interface_v2" "router_interface4" {
router_id = data.openstack_networking_router_v2.router4.id
subnet_id = openstack_networking_subnet_v2.subnet4.id
}

Скрипт автоматизации: deploy-cloudinfra.sh
a) Основные параметры

Рабочая директория: /home/altlinux/bin
Конфигурационный файл: /home/altlinux/bin/cloudinit.conf

b) Пример скрипта (deploy-cloudinfra.sh)

bash

#!/bin/bash

# Настройки подключения к облачному провайдеру

source /home/altlinux/bin/cloudinit.conf
3 минуты