Сколько терраформных состояний следует иметь в нескольких средах? - PullRequest
0 голосов
/ 14 сентября 2018

Я, однако, немного запутался с тем, сколько tfstates должно быть в каждой среде.Я понимаю, что каждая среда, будь то в stage/prod/dev, должна иметь свои tfstate отдельно.Но значит ли это, что в каждой среде должен быть только один tfstate (например, один для этапа, один для prod и один для dev) всего три tftstates, где все конфиги, находящиеся в этой среде, будутзаписано?Или если каждая среда имеет несколько tftstates (например, stage будет иметь tftstate для vpc config, еще tftstate для конфигурации frontend-apps, еще tftstate для backend-приложений ... и т. Д.) И аналогично с prod и dev?

1 Ответ

0 голосов
/ 14 сентября 2018

Я играл с кучей вещей для государственного управления и держал все отдельно. Вы вправе иметь отдельное состояние для каждой среды.

Это может не соответствовать рекомендациям, которые вы встретите в Интернете. то есть. создать отдельную папку и иметь состояние в среде по умолчанию.

Я поддерживаю состояние для отдельного рабочего пространства с именами рабочих пространств, специфичными для client-env, с одним S3-контейнером и DynamodB для состояния и блокировки.

Terraform хранит их отдельно с префиксом рабочей области w.r.t, и S3 bucket выглядит следующим образом.

-terraform (workspace-prefix)
     -clientA-ENV-A
     -clientA-ENV-B
     -clientB-ENV-A
     ...

Я использую один и тот же рецепт terraform для всех клиентов и env, поэтому не нужно вставлять копии кода.

Несколько пользователей могут работать на клиенте и в конкретной рабочей среде env, и это помогает моему CI / CD не выполнять повторяющиеся начальные операции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...