Инструкция по установке Terraform и базовым операциям — по ссылке .
В официальной документации Terraform можно найти более подробную информацию.
Шаблон настраивает инстанс с двумя интерфейсами — один подключается к внутренней (серой) сети, второй — к белой. Подходит для сценариев, где сервисы работают внутри проекта, но нужен и прямой доступ извне.
Скачать шаблон
Ниже — пояснения к блокам шаблона и местам, где нужно подставить свои значения.
Блок provider
Настраивает подключение к OpenStack:
user_name — имя пользователя
tenant_name — имя проекта
password — пароль
region — регион для размещения ресурсов
Блок variable
Определяет используемые переменные:
centos_7_image — ID образа CentOS 7
os_tenant_network — ID выделенной сети в проекте
Блок network
Создает серую сеть и подсеть. Замените network_name и subnet_name на ваши значения — везде в шаблоне.
Блок security
Создает группу безопасности и ключевую пару:
sg_name — имя группы безопасности
keypair_name — имя ключевой пары
public_key — публичный ключ, добавляемый в инстанс
Разрешены два правила:
входящий трафик на порт 22/tcp
весь входящий ICMP
Блок volume и instance
Создает диск и инстанс на его основе:
volume_name_with_os — имя основного диска с ОС
size — размер диска
volume_type — ceph-ssd или ceph-hdd
Для дополнительного диска (опционально):
additional_volume_name, size, volume_type
Инстанс:
instance_name — имя инстанса
flavor_name — тип конфигурации
key_pair, security_groups — указанные ранее
user_data — скрипт конфигурации ОС (смена пароля и т. д.)
password: "your password here"
chpasswd: { expire: False }
ssh_pwauth: True
network внутри ресурса — назначение IP из белой сети:
network {
uuid = var.os_tenant_network
fixed_ip_v4 = "ВАШ_IP"
}
Если вы создавали дополнительный диск — укажите additional_volume_name и instance_name для подключения.
В этом шаблоне нет блока создания внутренней сети и подсети. Также в ресурсе инстанса не добавляется интерфейс для серой сети — остается только подключение к белой сети с фиксированным IP. Подходит для случаев, где внутренняя маршрутизация не требуется.
Скачать шаблон
Данный шаблон включает настройку серой сети и маршрутизатора, а также блоки для выделения и назначения плавающего IP-адреса. Используется, когда нужен внешний доступ к инстансу через NAT.
Скачать шаблон
Блок router
Создает маршрутизатор, подключенный к внешней сети FloatingIP Net.
Блок router_interface
Добавляет интерфейс маршрутизатора.
Блок floating_ip
Запрашивает и привязывает "плавающий" IP:
Allocate ip to the project — выделяет IP
Assign floating IP — привязывает к инстансу
В случае возникновения вопросов обратитесь в техническую поддержку PS Cloud Services .