Files
SecondBrain/90 Library/DevOps/Terraform.md
T
2026-05-31 10:18:48 +03:00

35 lines
2.1 KiB
Markdown

---
status: stable
type: concept
tags:
- devops
- terraform
created: 2026-02-13
updated: 2026-05-07
aliases:
- Terraform
---
# Terraform
[Devops вводный 3 урок. Работа с IaC через terraform и ansible.pdf](#root/LjCayegQsEBv/vJCtNA7LSLFA/ARzmNd1EFrgt)
Terraform - ПО, разработанное HashiCorp для централизованного управления инфраструктурой по методологии [[IaC - основы|IaC]].
Использует в своей работе сущности:
1. `main.tf` - основной файл с декларативным описанием желаемого состояния инфраструктуры.
2. `terraform.d/` -директория, в которой хранится terraform-провайдер (api для взаимодействия с конкретной платформой) после его загрузки.
3. `.terraform/` - директория, в которой хранятся файлы, в том числе и файлы провайдера.
4. `terraform.lock.hcl` - файл блокировки для кэша `.terraform/`.
5. `terraform.tfstate` - файл, для регистрации состояния инфраструктуры
Команды, используемые в работе с Terraform:
1. `terraform init` - инициализация рабочей директории, содержащей файлы tf.
2. `terraform plan` - команда для предварительного просмотра изменений без фактического применения.
3. `terraform apply` - применение изменений на инфре.
4. `terraform refresh` -
## Связанные заметки
- [[NAT]] — NAT-шлюзы, пулы IP-адресов и сетевые сегменты — типовые ресурсы, которые Terraform декларативно управляет в облачной инфраструктуре
- [[IaC - основы]] — методология, которую реализует Terraform