Skip to content

selectel/selectel-infra-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Selectel Terraform Modules Example

Test Selectel Terraform modules

Перед началом работы с облачными ресурсами Selectel через Terraform рекомендуем ознакомиться с документацией по провайдеру Selectel/OpenStack.

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

Usage

  1. Инициализировать Terraform Backend
terraform init
  1. Создать файл main.tf, где описана необходимая инфраструктура (пример ниже - создание Simple File Storage)
module "sfs" {
  source               = "modules/sfs"
  os_network_id        = var.nat_network_id
  os_subnet_id         = var.nat_subnet_id
  sfs_size             = var.sfs_size
  sfs_volume_type      = var.sfs_volume_type
  os_availability_zone = var.os_availability_zone
}
  1. Для проверки и применения настроек необходимо запустить команды terraform plan/apply
terraform plan
terraform apply

Example of usage

В репозитории можно найти пример использования модулей. В корне репозитория созданы *.tf файлы, которые можно использовать как пример вызова модулей.

Для их использования достаточно перейти в корень репозитория и инициализировать Terraform:

terraform init

Далее можно скорректировать некоторые параметры в файле main.tf, которые передаются в модули, например, объём SFS, имя кластера и другие.

Затем необходимо задать переменные, в которых будут содержаться данные от аккаунта Selectel, в котором будет развёрнута инфраструктура:

  • selectel_domain_name, ID аккаунта, например, 123123
  • selectel_user_admin_user, сервисный пользователь с нужными правами
  • selectel_user_admin_password, пароль от сервисного пользователя

Переменные можно задать несколькими способами:

  • В качестве переменных окружения (для этого нужно добавить перед названием переменной TF_VAR_):
export TF_VAR_selectel_domain_name=123123
export TF_VAR_selectel_user_admin_user=foo
export TF_VAR_selectel_user_admin_password=bar
terraform plan/apply
  • Ввести вместе с командой terraform plan/apply с помощью параметра -var:
terraform plan/apply \
-var="selectel_domain_name=123123" \
-var="selectel_user_admin_user=foo" \
-var="selectel_user_admin_password=bar"
  • Ввести с клавиатуры, если переменные не были заданы любым другим способом

После успешного выполнения команды terraform apply вы должны увидеть в своём аккаунте новый проект, в котором будут запущены все модули (MKS, SFS, vm, CRaaS и др.)

Repository structure

Modules