Инструкция по установке 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 .