Что такое Terraform?

Terraform — это open-source инструмент Infrastructure as Code (IaC) от HashiCorp, который позволяет безопасно и эффективно создавать, изменять и управлять инфраструктурой.

Ключевые особенности Terraform:

  • Декларативный подход: Описание желаемого состояния инфраструктуры
  • Provider-агностик: Поддержка множества облачных провайдеров
  • State management: Отслеживание состояния инфраструктуры
  • HCL синтаксис: HashiCorp Configuration Language

Основные команды Terraform:

  • terraform init - инициализация проекта
  • terraform plan - планирование изменений
  • terraform apply - применение изменений
  • terraform destroy - удаление ресурсов

Поддерживаемые провайдеры:

  • AWS, Azure, Google Cloud Platform
  • Kubernetes, Docker
  • VMware, OpenStack
  • GitHub, GitLab
  • Более 1000+ провайдеров

Рабочий процесс Terraform:

  1. Write: Создание конфигурационных файлов
  2. Plan: Предварительный просмотр изменений
  3. Apply: Создание инфраструктуры

FAQ:

Чем Terraform отличается от Ansible?

Terraform фокусируется на предоставлении инфраструктуры, а Ansible - на управлении конфигурацией уже существующих систем.