Obsah
Terraform
Terraform je open-source nástroj pro Infrastructure as Code (IaC) vyvinutý společností HashiCorp (nyní součást IBM). Umožňuje definovat, nasazovat a spravovat infrastrukturu deklarativním způsobem pomocí konfiguračních souborů, které lze verzovat v Gitu.
Terraform podporuje stovky poskytovatelů (AWS, Azure, GCP, Kubernetes, VMware, databáze, DNS, atd.) a je jedním z nejpoužívanějších nástrojů pro správu multi-cloud a hybridní infrastruktury.
1. Základní principy
Terraform pracuje deklarativně – definujete jaký má výsledný stav infrastruktury vypadat, Terraform sám zjistí, co je potřeba vytvořit, změnit nebo smazat.
Hlavní součásti:
- Konfigurační soubory (``*.tf``) — psané v HCL (HashiCorp Configuration Language)
- Providers — pluginy, které komunikují s API jednotlivých služeb
- State — soubor (nebo databáze), který si Terraform pamatuje aktuální stav infrastruktury
- Modules — opakovaně použitelné balíčky infrastruktury
2. Jak Terraform funguje (životní cyklus)
Nejdůležitější příkazy:
- ``terraform init`` — inicializace, stažení providerů
- ``terraform plan`` — výpočet změn (co se bude dít)
- ``terraform apply`` — provedení změn
- ``terraform destroy`` — kompletní smazání spravované infrastruktury
3. Klíčové koncepty
Providers
Poskytovatelé jsou pluginy, které umožňují Terraformu pracovat s konkrétní službou. Nejznámější jsou ``aws``, ``azurerm``, ``google``, ``kubernetes``.
Příklad: ```hcl provider „aws“ {
region = "eu-central-1"
}
