35 lines
2.1 KiB
Markdown
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 |