Как управлять несколькими состояниями Terraform

Я использую Terraform для автоматического развертывания группы ресурсов Azure с виртуальной машиной. Он отлично работает, и теперь я делаю следующий шаг.

Цель моего проекта - предоставить пользователям средства для развертывания пользовательских групп Azure RG. Таким образом, типичный пользователь будет использовать мой портал для ввода некоторых сведений в форму о том, как они хотели бы, чтобы их RG вызывалась, какое местоположение, имя пользователя и ключи SSH для виртуальной машины и т. Д., А затем на бэкэнде я заполняю шаблон Terraform с их входными данными, затем запускается terraform apply.

Пока все хорошо, так как я единственный пользователь.

Когда он будет запущен в производство, будет несколько пользователей. Они могут создать одну или несколько групп ресурсов, и мне было интересно, как лучше всего справиться с этим с помощью Terraform. Должен ли я просто создать одну папку для каждого пользователя и RG (или какую-то запись в БД), чтобы я мог сохранить там состояние? Или есть способ лучше? Мне это понадобится для таких вещей, как уничтожение пользовательского ресурса или проверка статуса ресурса и т. Д.

Я использую Terraform, и мне бы хотелось, чтобы мне не приходилось использовать Azure SDK, если я могу этого избежать.


person zapatilla    schedule 12.07.2017    source источник
comment
Вы уже изучали удаленное состояние?   -  person RaGe    schedule 12.07.2017


Ответы (1)


Вы можете использовать серверную часть terraform https://www.terraform.io/docs/backends/index.html, чтобы сохранить состояние в выбранном вами облачном хранилище. Использование некоторого $ var для идентификации развертывания и этого токена как одного из элементов URI. Например, пользователь «A» мог сохранить состояние в gs: // bucket / A / state, что помогло нам с использованием GCS.

person Francozen    schedule 19.09.2017