GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak používat rozhraní příkazového řádku Terraform (CLI) na Ubuntu

Terraform je rámec pro budování a konfiguraci infrastruktury jako kódu s rozhraním příkazového řádku a jazykem DSL. Terraform může spravovat stávající a oblíbené poskytovatele služeb i vlastní interní řešení pro budování a konfiguraci kompletních distribuovaných datových center.

Rozhraní příkazového řádku Terraform (CLI) vám umožňuje používat Terraform, aniž byste museli psát jakýkoli kód nebo konfigurační soubory. Je to ideální způsob, jak prototypovat změny infrastruktury s vaším týmem před psaním kódu, místním nasazením konfigurací na vašem počítači nebo jejich zavedením do výroby. CLI staví na formátu souboru terraformspec, který byl pro tento účel vytvořen třetími stranami, jako je HashiCorp Nomad CLI Toolkit.

Sada nástrojů CLI implementuje JavaScript DSL k definování infrastruktury a používá stejný konfigurační formát v Terraformu i v CLI. Sada nástrojů CLI také poskytuje příkazy pro generování šablon infrastruktury, skládání komponent infrastruktury do kompletních řešení a správu změn. Celý pracovní postup Terraformu je řízen bezstavovými funkcemi, které jsou definovány v kódu a spouštěny Terraformem pokaždé, když provedete změnu. To vám umožní uvažovat o vaší infrastruktuře jako o jediném návrhu, který lze snadno upravovat za běhu, aniž byste museli znovu načítat konfiguraci nebo upravovat kódovou základnu.

Řada IT profesionálů a společností používá rozhraní příkazového řádku Terraform ke správě a dokonce vytváření nové infrastruktury nebo nových cloudových infrastruktur. Rozhraní příkazového řádku terraform může poskytnout robustnější metodu pro automatizaci změn, jejichž ruční provedení by trvalo příliš dlouho. Je to mocný nástroj pro správu infrastruktury.

Je snadné pochopit, proč je Terraform jedním z nejpopulárnějších open-source cloudových řešení na světě. Je to nástroj, který používají lidé s Linuxem, jako jste vy!

Uvnitř najdete kompletní vysvětlení a příklady nejběžněji používaných příkazů Terraform CLI, které byly speciálně vybrány, aby vám poskytly praktické zkušenosti s nejvýkonnějšími funkcemi Terraform.

Předpoklad

  • Abyste mohli postupovat podle tohoto článku, měli byste mít:
  • Určité základní znalosti o vlastnostech a funkcích Terraformu.
  • Počítač se systémem Linux. Tato ukázka používá Ubuntu 20.04 LTS, ale bude fungovat jakákoli distribuce Linuxu.
  • Terraform a docker nainstalované v počítači.

Klonování hlavního kódu

Nyní, když jste se postarali o předpoklady, jste připraveni začít klonovat hlavní kód pro použití Terraform CLI.

1. Spusťte níže uvedený příkaz apt install a nainstalujte git do svého systému. Git je open-source distribuovaný systém řízení revizí navržený tak, aby zvládl vše od malých po velmi velké projekty rychle a efektivně. Ke klonování šablony projektu rozhraní příkazového řádku terraform z github.com použijete git. Poté se podíváte na správnou verzi příkazového řádku terraform pro toto demo.

sudo apt install git -y

2. Spuštěním příkazu git clone níže naklonujte šablonu projektu příkazového řádku terraform do svého aktuálního adresáře.

git clone https://github.com/howtoforge-com/terraform-cli.git

3. Přesuňte se do nově naklonovaného adresáře terraform-cli a otevřete main.tf soubor s vaším oblíbeným textovým editorem (vim, emacs, nano atd.). Soubor main.tf je vstupním bodem vašeho projektu do rozhraní příkazového řádku terraform (Cli). Když spustíte příkaz terraform, použije main.tf soubor jako vstup pro pokyny k vybudování infrastruktury.

cd terraform-cli && sudo nano main.tf

Získáte následující výstup.

  •  terraform {  } části main.tf soubor nedělá nic jiného, ​​než že nastavuje poskytovatele dockeru jakopožadovaného_poskytovatele . Aby Terraform mohl spravovat vaši infrastrukturu Docker, musíte mít nakonfigurovaného poskytovatele dockeru.

  •  zdroj "docker_image" "nginx" { blok kódu demonstruje použití terraform CLI vytvořením nového zdroje s názvem docker_image . Další řádek používáobrázek ukotvitelného panelu vytvořit zdroj s názvem nginx . Můžete odvodit, že to bude použito ke správě vašeho kontejneru Docker. Další řádek nastaví název vašeho obrázku dockeru jako nginx:latest. The keep_locally =false zabraňuje tomu, aby se obraz ukládal do místní mezipaměti ve vašem počítači, a je dobré zabránit duplicitnímu stahování.

  • zdroj "docker_container" "nginx" { demonstruje použití terraform CLI vytvořením nového prostředku s názvem docker_container . Další řádek používá docker_container vytvořit zdroj s názvem nginx . To bude použito ke správě mapování portů vašeho kontejneru Docker. Další řádek nastaví název vašeho kontejneru dockeru jako výukový program a nakonec ukazuje, jak mapovat port 8000 a port 80 na vašem hostitelském počítači na vašem dokovacím kontejneru pomocí bloku portů.

Použití rozhraní příkazového řádku Terraform (CLI) k vytvoření své první infrastruktury

Nyní, když jste naklonovali šablonu projektu terraform, můžete vytvořit svou první infrastrukturu. Terraform CLI použijete k vybudování infrastruktury pomocí main.tf vašeho projektu soubor. Vytvoříte kontejner dockeru a namapujete port z vašeho hostitelského počítače na kontejner dockeru.

1. Nejprve spusťte příkaz terraform init pro inicializaci pracovního adresáře. Příkaz terraform init inicializuje váš pracovní adresář a stáhne všechny požadované pluginy potřebné pro Terraform ke správě vaší infrastruktury. Pracovní adresář je adresář, ve kterém budete používat příkaz terraform ke správě infrastruktury. Po inicializaci tento adresář obsahuje soubor main.tf a může obsahovat více podpůrných souborů.

terraform init

Po úspěšném spuštění příkazu terraform init obdržíte následující výstup.

2. Dále spusťte příkaz terraform fmt pro automatické naformátování vašeho souboru main.tf pro čitelnost a konzistenci. Příkaz terraform fmt přeformátuje váš soubor main.tf pro čitelnost a konzistenci. Toto je dobrý postup, protože to usnadní čtení vašich souborů vám i ostatním.

terraform fmt

Pokud příkaz terraform fmt upravil vášmain.tf   soubory, vytiskne název souboru, který přeformátoval. V tomto demu je výstup prázdný, protože soubor main.tf již byl naformátován podle požadavků Terraformu, jak je ukázáno níže.

3. Spusťte příkaz terraform validate, abyste zajistili, že vaše infrastruktura bude postavena tak, jak bylo zamýšleno. Příkaz terraform validate je bezpečnostní kontrola k ověření, že vaše infrastruktura může být postavena tak, jak bylo zamýšleno.

terraform validate

Pokud se nevyskytnou žádné chyby, obdržíte výstup podobný následujícímu, což znamená, že vše je připraveno k vybudování vaší první infrastruktury.

4. Spusťte příkaz terraform plan, abyste viděli, co Terraform udělá pro vybudování infrastruktury. Příkaz terraform plan je náhledem toho, co má Terraform v plánu postavit, a není totéž jako použít terraform.

terraform plan

Příkaz terraform plan zobrazuje následující strukturu, která ukazuje, že vytvoří instanci prostředku docker_container s názvem nginx a prostředku docker_image s názvem tutorial.

5. Spusťte příkaz terraform apply, abyste použili změny, které jste zobrazili pomocí plánu terraform. Příkaz terraform apply vybuduje vaši infrastrukturu. Příkaz terraform apply vytvoří všechny prostředky popsané v konfiguračním souboru Terraform main.tf.

Tento příkaz znovu použije vyhodnocení proměnných, omezení a mapování z příkazu terraform plan k vytvoření nejúčinnějšího možného plánu. Jakékoli další volby zadané na příkazovém řádku pomocí příkazu terraform apply budou použity při spuštění příkazu Apply. Zadejte ano a stiskněte Enter až budete požádáni o zadání hodnoty .

terraform apply

Jakmile bude příkaz terraform apply úspěšný, zobrazí se zpráva oznamující, že vaše infrastruktura byla úspěšně vybudována, jak je znázorněno níže. Když k tomu dojde, znamená to, že vaše infrastruktura byla vytvořena tak, jak bylo zamýšleno, a je aktuální s vaším konfiguračním souborem.

6. Spusťte příkaz ls a vypište všechny soubory ve vašem pracovním adresáři. Uvidíte nový soubor s názvem terraform.tfstate, jak je ukázáno níže. Vytvoří se soubor s tímto názvem pro sledování změn vaší infrastruktury. Příkaz terraform plan ukládá změny, které se použijí při spuštění terraform apply, do přechodného souboru s názvem .tfstate. Stavový soubor obsahuje úplný stav infrastruktury tak, jak jej Terraform vidí. Tento soubor je vyžadován pro použití jakékoli konfigurace a musí být přenesen při provádění změn, i když je cíl v rámci stejného poskytovatele.

ls

7. Proces budování je nyní u konce. Spusťte příkaz terraform zničit a zničte infrastrukturu, kterou jste právě vybudovali. Zadejte ano a stiskněte Enter až budete požádáni o zadání hodnoty . Příkaz terraform zničit smaže všechny zdroje vytvořené v tomto demu. Příkaz terraform zničit smaže všechny zdroje popsané ve vašem Terraform main.tf konfigurační soubor. Jakmile jsou zdroje zničeny, nelze je obnovit.

Měli byste odebrat nepoužívané prostředky, abyste udrželi konfiguraci prostředí pod kontrolou. Nejde o zakrývání selhání – jde o předcházení selhání tím, že se zabrání hromadění nepoužívaných zdrojů.

 terraform destroy

Závěr

V tomto tutoriálu jste se naučili, jak používat nejběžnější koncepty Terraform demonstrované v příkladu k vybudování vaší první infrastruktury. Naučili jste se, jak používat Terraform CLI k budování infrastruktury pomocí souboru main.tf vašeho projektu. CLI lze použít k plánování, aplikaci a zničení vaší infrastruktury.

Nyní máte nástroje k vybudování vlastní infrastruktury. Díky komplexnímu a výraznému konfiguračnímu jazyku Terraform můžete snadno spravovat širokou škálu zdrojů.

Můžete využít své nově nabyté znalosti v oblasti správy infrastruktury, které se již používají pro kontejnery Docker, Kubernetes a OpenStack, a přinést větší efektivitu a konzistenci do vaší infrastruktury jako kódu.


Ubuntu
  1. Jak používat příkaz tail v Ubuntu Linux

  2. Jak používat příkaz string v Ubuntu

  3. Jak používat příkaz netplan na Ubuntu

  1. Jak nainstalovat aktualizace zabezpečení z příkazového řádku v Ubuntu

  2. Jak používat ssh-keyscan na Ubuntu

  3. Jak používat ssh-agent na Ubuntu

  1. Jak používat příkaz sudo v Linuxu

  2. Jak používat příkaz vmstat

  3. Jak používat příkaz Linux Shutdown Command v Ubuntu 18.04 a CentOS 7