53 lines
2.0 KiB
Markdown
53 lines
2.0 KiB
Markdown
---
|
||
status: stable
|
||
type: concept
|
||
tags:
|
||
- devops
|
||
created: 2026-02-13
|
||
updated: 2026-05-07
|
||
aliases:
|
||
- IaC - Основы
|
||
---
|
||
# IaC - Основы
|
||
|
||
*Infrastructure-as-Code (Инфраструктура как код)*
|
||
|
||
Основными инструментами выступают Terraform и Ansible
|
||
|
||
## Terraform
|
||
|
||
- ПО, разработанное компанией HashiCorp, призванное управлять инфрой в декларативном ключе.
|
||
|
||
Для работы с инфрой через terraform необходимо лишь описать желаемое состояние (конфигурацию), в которой в декларативном формате изложена желаемая инфраструктура.
|
||
|
||
> Декларативный подход - пишем не "как" надо сделать, а "какое" **состояние** мы хотим увидеть
|
||
|
||
Описывается в файле `main.ttf`:
|
||
|
||

|
||
|
||
Terraform-провайдер
|
||
|
||
- Это обязательное звено - это интерпретатор, который обрабатывает наш конфиг и вызывает нужные API для работы непосредственно с вендором.
|
||
|
||

|
||
|
||
Поддерживаемые в terraform типы ресурсов (CRUD):
|
||
|
||
- аккаунты и ресурсные группы
|
||
- ВМ, контейнеры
|
||
- виртуальные сетевые сегменты
|
||
- диски и образы
|
||
- оркестраторы контейнерных и неконтейнерных нагрузок
|
||
- и т.д. …
|
||
|
||
## Ansible
|
||
|
||
- ПО, от компании Red Hat, изначально созданное для управления конфигурацией.
|
||
|
||
Использует также декларативный язык
|
||
|
||

|
||
|
||
[[Ansible - основы]]
|