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
7 месяцев назад