28 Otázky a odpovědi pro rozhovory Terraform v reálném čase

Zde je 28 otázek a odpovědí z rozhovorů Terraform v reálném čase se seznamem a vysvětlením důležitých příkazů často kladených v rozhovorech.

Nárůst využívání cloudových technologií otevřel ve světě DevOps spoustu příležitostí. V budoucnu budou cloudové technologie běžným tématem otázek na pohovorech a základní znalost cloudu a infrastruktury jako kódu a nástrojů IAC budou pro role DevOps nutností.

Table of Contents

Co je Terraform?

Terraform je jedním z nejpopulárnějších nástrojů IAC, který používá každý cloudový inženýr. Umožňuje nám definovat jak cloudové, tak místní zdroje v lidsky čitelných konfiguračních souborech, a tím tyto prostředky poskytovat programově. Nejpozoruhodnější vlastností Terraformu je, že na rozdíl od většiny nástrojů IAC není omezena na jediného poskytovatele cloudu. Terraform můžete použít ke spouštění svých aplikací na více cloudových platformách současně.

  Jak používat Shazam na ploše Linuxu se SongRec

Pokud vás zajímá, jaké technologie terraform podporuje, zde je malý seznam:

Abyste mohli pokračovat ve své kariéře jako DevOps Engineers, Cloud Architects, Developers nebo Administrators, budete muset čelit otázkám na pohovoru Terraform. Sestavili jsme seznam nejlepších otázek týkajících se pohovoru o Terraformu, které by vám měly pomoci zlepšit vaše znalosti Terraformu.

Otázky a odpovědi obecného rozhovoru s Terraformem

#1. Co rozumíte pod pojmem Terraform?

Terraform je open-source nástroj IAC vytvořený společností HashiCorp. Používá se k vytváření, aktualizaci, odstraňování a verzím vaší infrastruktury na více cloudových platformách.

#2. Jaké jsou důvody, proč si vybrat Terraform pro DevOps?

Použití Terraform pro poskytování infrastruktury neponechává žádný prostor pro lidské chyby, a proto zlepšuje kvalitu, konzistenci a efektivitu cloudové a vlastní infrastruktury. Terraform používá jazyk HCL, který je docela podobný JSON a snadno se učí a používá. Na rozdíl od jiných nástrojů IAC nabízených poskytovateli cloudu, jako je Cloudformation pro AWS, můžeme Terraform používat s řadou cloudových platforem současně. Tím se vyhnete nutnosti učit se více nástrojům IAC a zlepší se rozsah spolupráce.

#3. Jak Terraform funguje?

Terraform používá pluginy nazývané poskytovatelé Terraform k interakci s API na cloudových platformách a poskytování našich zdrojů. Jako koncový uživatel má terraform workflow tři kroky.

Napište: Vytvořte infrastrukturu jako kód.

Plán: Náhled změn, které Terraform provede před aplikací.

Použít: Poskytněte infrastrukturu a aplikujte změny.

#4. Co myslíš tím Terraform cloud?

Terraform Cloud je vzdálené prostředí, které je optimalizováno pro pracovní postup Terraform. Poskytuje funkce, jako jsou pracovní prostory a uzamčení stavu, což umožňuje lidem ve velkých týmech spolupracovat.

#5. Co rozumíte pod pojmem stát v Terraformu?

Jako nástroj IAC by měl terraform znát aktuální stav konfigurací a infrastruktury pod jeho správou. Terraform ukládá tyto informace do souboru zvaného stavový soubor.

#6. Jaká je výhoda Terraform State?

Terraform State umožňuje Terraformu mapovat skutečné zdroje do vaší konfigurace, sledovat metadata a zlepšovat výkon při plánování změn pro komplexní infrastruktury. Je to kritická součást Terraformu.

#7. Co rozumíte pod pojmem Terraform Backend?

Backend Terraform je platforma, kde jsou uloženy snímky stavu Terraform. Ve výchozím nastavení Terraform používá backend nazvaný local k uložení stavu jako místního souboru na váš disk. Všechny ostatní podporované backendy jsou nějakým druhem služby vzdáleného úložiště.

  Jak nastavit Mimo kancelář v Teams

#8. Co je poskytovatel v Terraformu?

Poskytovatelé v Terraformu jsou pluginy, které Terraformu umožňují interakci s poskytovateli cloudu, poskytovateli SaaS a dalšími rozhraními API. Pokud například plánujeme používat Terraform k poskytování infrastruktury na AWS, budeme muset v našich konfiguračních souborech deklarovat poskytovatele AWS.

#9. Kdo udržuje Terraform Providery?

Poskytovatelé jsou distribuováni odděleně od samotného Terraformu. Jako uživatel Terraformu může kdokoli vyvíjet své vlastní poskytovatele. Existují někteří standardní poskytovatelé, které spravuje výslovně Hashicorp.

#10. Co je Sentinel?

Stráž je politika jako kódový nástroj používaný k vynucení standardních konfigurací pro zdroje nasazované Terraformem. Mohou jej používat organizace pro účely dodržování předpisů a řízení.

#11. Co rozumíte modulům v Terraformu?

Modul Terraform je standardní kontejner pro více zdrojů používaných společně k poskytování a konfiguraci zdrojů. Můžete například pro svou organizaci vytvořit „modul VPC“, který poskytuje standardní VPC a další zdroje, jako jsou podsítě a internetové brány. Moduly lze sdílet veřejně prostřednictvím registru veřejných modulů a soukromě prostřednictvím registru soukromých modulů.

#12. Jaká je výhoda použití modulů v terraformu?

Moduly Terraform nám umožňují vytvořit logickou abstrakci na vrcholu sady prostředků. Použití modulů nám umožňuje udržovat a znovu používat standardní konfiguraci zdrojů. Mohou být verzovány a sdíleny se členy vašich týmů za účelem poskytování zdrojů standardním způsobem.

#13. Co je registr soukromých modulů?

Funkce Private Module Registry Terraform Cloud nám umožňuje sdílet moduly Terraform v celé naší organizaci.

Otázky a odpovědi pro pokročilé rozhovory Terraform

#14. Jak můžeme exportovat data z jednoho modulu do druhého?

Můžeme exportovat data z modulu definováním výstupních bloků v konfiguračních souborech modulu. Tato data lze následně přenést jako parametr do cílového modulu.

#13. Jak můžete definovat závislosti v Terraformu?

Terraform má vestavěnou správu závislostí. Terraform má dva druhy závislostí mezi zdroji – implicitní a explicitní závislosti.

Implicitní závislosti, jak název napovídá, Terraform detekuje automaticky. To je, když je výstup „zdroje A“ použit ve „zdroji B“. Terraform automaticky detekuje, že „zdroj B“ je třeba vytvořit až po „zdroji A“

Explicitní závislosti lze zadat v případech, kdy jsou dva zdroje na sobě interně závislé, aniž by sdílely jakékoli výstupy. To lze provést pomocí parametru Depend_on v konfiguračním bloku.

#14. Co jsou Provisioners v Terraformu?

Poskytovatelé jsou prostředky Terraform používané ke spouštění skriptů jako součást vytváření nebo ničení prostředků. V Terraformu existují dva typy Providerů:

  • local-exec: Vyvolá skript na počítači, na kterém běží Terraform.
  • remote-exec: Vyvolá skript na vzdáleném prostředku po jeho vytvoření.
  Co znamená „Fulfilled by Amazon“?

Provisioners mají být v Terraformu použity pouze jako poslední možnost.

#15. Co je externí datový blok v Terraformu?

Stejně jako local-exec provizor, i externí databock lze použít ke spouštění skriptů na počítačích se systémem Terraform. Rozdíl mezi poskytovatelem a externím datovým blokem je v tom, že skripty v externím datovém bloku mohou vracet data ve formátu JSON, zatímco poskytovatelé nemohou vracet žádné výstupy. Je důležité poznamenat, že externí datové bloky jsou také určeny jako poslední možnost a neměly by se používat, pokud existuje lepší alternativa.

#16. Jak mohou dva lidé používající cloud Terraform vytvořit dvě různé sady infrastruktury pomocí stejného pracovního adresáře?

Pomocí různých pracovních prostorů. Tito uživatelé mohou spustit běhy Terraform ve dvou samostatných pracovních prostorech. Každý pracovní prostor má svůj vlastní stavový soubor, takže pokud se zdroje nepřekrývají, mohou oba uživatelé úspěšně zajišťovat dvě různé sady infrastruktury pomocí stejného kódu.

#17. Co se stane, když několik inženýrů začne nasazovat infrastrukturu pomocí stejného souboru stavu?

Terraform má velmi důležitou vlastnost zvanou „uzamčení stavu“. Tato funkce zajišťuje, že během běhu nebudou provedeny žádné změny ve stavovém souboru, a zabrání poškození stavového souboru. Je důležité si uvědomit, že ne všechny Terraform Backendy podporují funkci uzamčení stavu. Pokud je tato funkce vyžadována, měli byste zvolit správný backend.

#18. Co je nulový zdroj v Terraformu?

Terraform null zdroj je konfigurace, která běží jako standardní terraform zdrojový blok, ale nevytváří žádné zdroje. Může to znít jako zvláštní a zbytečný zdroj, ale může být užitečné v různých situacích obejít omezení v Terraformu.

#19. Jak můžete v Terraformu používat stejného poskytovatele s různými konfiguracemi?

Pomocí argumentu alias v bloku poskytovatele.

#20. Máte konfigurační soubor Terraform bez prostředků. Co se stane, když spustíte příkaz terraform apply?

Terraform zničí všechny zdroje. Spuštění prázdného běhu pomocí příkazu terraform apply je přesně stejné jako spuštění běhu ničení terraformu.

#21. Co se stane, když byl prostředek úspěšně vytvořen v terraformu, ale selhal během zřizování?

Toto je nepravděpodobný scénář, ale když k tomu dojde, zdroj je označen jako poskvrněný a lze jej znovu vytvořit restartováním běhu terraformu.

#22. Která hodnota proměnné TF_LOG poskytuje nejpodrobnější protokolování?

TRACE je nejpodrobnější a výchozí hodnota proměnné TF_LOG.

#23. Jak můžete importovat existující zdroje pod Terraform Management?

Pomocí příkazu terraform import.

#24. Který příkaz lze použít k náhledu plánu provádění terraformu?

Příkaz plánu terraform generuje plán provádění změn, které Terraform provede v infrastruktuře.

#25. Který příkaz lze použít ke sladění stavu Terraform se skutečnou infrastrukturou reálného světa?

Příkaz terraform apply -refresh-only se používá ke sladění stavu Terraform se skutečnou infrastrukturou reálného světa. Je to nová alternativa k příkazu terraform refresh, který je nyní zastaralý.

#26. Který příkaz lze použít k přepínání mezi pracovními prostory při používání Terraform Cloud?

Příkaz terraform workspace select se používá k výběru jiného pracovního prostoru.

#27. Který příkaz se používá k ověření syntaxe konfiguračních souborů terraform?

Příkaz terraform validate se používá k ověření, zda je konfigurace syntakticky platná a vnitřně konzistentní.

#28. Který příkaz se používá k vytváření nových pracovních prostorů v cloudu Terraform?

Příkaz terraform workspace new se používá k vytvoření nového pracovního prostoru.

Některé další důležité terraformní příkazy pro technické rozhovory.

  • terraform init: Inicializuje vzdálené backendy; stáhne poskytovatele a vzdálené moduly definované ve vaší konfiguraci.
  • terraform init -upgrade: používá se k aktualizaci stávajících stažených poskytovatelů.
  • plán terraform: generuje prováděcí plán pro vytvoření nebo aktualizaci infrastruktury.
  • terraform apply: vytvoří nebo aktualizuje infrastrukturu po vyžádání potvrzení od uživatele.
  • terraform apply –auto-approve: vytvoří nebo aktualizuje infrastrukturu; fáze schvalování uživatele je přeskočena.
  • terraform zničit: odstraní infrastrukturu po vyžádání potvrzení od uživatele.
  • terraform zničit –auto-approve: odstraní infrastrukturu; fáze schvalování uživatele je přeskočena.
  • terraform fmt: vyhledá v aktuálním adresáři konfigurační soubory a naformátuje je podle kanonického stylu a formátu HCP.
  • terraform fmt –recursive: prohledá aktuální adresář i podadresáře pro konfigurační soubory a naformátuje je podle kanonického stylu a formátu HCP.
  • terraform show: poskytuje člověku čitelný výstup ze souboru stavu nebo plánu.

Doufám, že výše uvedené informace vám pomohou získat práci Terraform.