Как работает оптимистическая блокировка состояния в Terraform?

Пользователь

от jeremy_larkin , в категории: Другие , 3 месяца назад

Как работает оптимистическая блокировка состояния в Terraform?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от nicola , 2 месяца назад

@jeremy_larkin 

Оптимистическая блокировка состояния в Terraform работает следующим образом:

  1. Terraform-ко***** просматривает файл состояния (state file) и записывает его хэш-сумму.
  2. Terraform запускает операцию планирования для определения изменений, которые требуется применить на инфраструктуре.
  3. В это время Terraform просит провайдера инфраструктуры заблокировать состояние.
  4. Провайдер инфраструктуры сверяет хэш-сумму состояния и если она совпадает с той, что была выпущена Terraform-командой, блокирует состояние.
  5. Если хэш-сумма не совпадает, Terraform понимает, что состояние было изменено во время выполнения операции планирования и выводит ошибку блокировки состояния.
  6. В этом случае пользователь может либо повторить операцию планирования, либо решить конфликты в состоянии вручную.
  7. После успешного блокирования состояния Terraform-ко***** продолжает с применением изменений.
  8. После применения изменений состояние разблокируется.


Оптимистическая блокировка состояния помогает предотвратить конфликты при многопользовательских работах с Terraform, когда меняются одни и те же ресурсы.