Íme 28 valós idejű Terraform interjú kérdés és válasz az interjúkban gyakran feltett fontos parancsok listájával és magyarázatával.
A Cloud Technologies használatának növekedése rengeteg lehetőséget nyitott meg a DevOps világában. A jövőben a felhőtechnológiák az interjúkérdések gyakori témája lesz, a felhő és az infrastruktúra mint kód alapismeretei, az IAC-eszközök pedig elengedhetetlenek lesznek a DevOps szerepköreihez.
Tartalomjegyzék
Mi az a Terraform?
Terraform az egyik legnépszerűbb IAC-eszköz, amelyet minden felhőmérnök használ. Lehetővé teszi számunkra, hogy felhőalapú és helyszíni erőforrásokat is meghatározzunk az ember által olvasható konfigurációs fájlokban, és ezáltal ezeket az erőforrásokat programozottan biztosítsuk. A Terraform legfigyelemreméltóbb tulajdonsága, hogy a legtöbb IAC-eszközzel ellentétben nem korlátozódik egyetlen felhőszolgáltatóra. A Terraform segítségével egyszerre több felhőplatformon is futtathatja alkalmazásait.
Ha kíváncsi arra, hogy a terraform milyen technológiákat támogat, itt van egy kis lista:
Ahhoz, hogy DevOps mérnökként, felhőépítészként, fejlesztőként vagy adminisztrátorként továbbléphessen a karrierjében, meg kell felelnie a Terraform interjúkkal kapcsolatos kérdéseinek. Összeállítottunk egy listát a legfontosabb terraform interjúkérdésekről, amelyek segíthetnek a Terraformmal kapcsolatos ismereteinek bővítésében.
Általános Terraform interjú kérdések és válaszok
#1. Mit értesz Terraform alatt?
A Terraform egy nyílt forráskódú IAC-eszköz, amelyet a HashiCorp. Az infrastruktúra létrehozására, frissítésére, törlésére és verziózására szolgál több felhőplatformon.
#2. Mi az oka annak, hogy a Terraformot válassza a DevOps számára?
A Terraform használata az infrastruktúra kiépítésére nem hagy teret az emberi hibáknak, ezáltal javítja a felhő és az on-prem infrastruktúra minőségét, konzisztenciáját és hatékonyságát. A Terraform a HCL nyelvet használja, amely meglehetősen hasonlít a JSON-hoz, és könnyen megtanulható és használható. Ellentétben a felhőszolgáltatók által kínált többi IAC-eszközzel, mint például a Cloudformation for AWS, a Terraformot számos felhőplatformon használhatjuk egyszerre. Ezzel elkerülhető, hogy több IAC-eszközt kell megtanulnia, és javítja az együttműködés hatókörét.
#3. Hogyan működik a Terraform?
A Terraform a Terraform-szolgáltatóknak nevezett beépülő modulokat használja a felhőplatformokon lévő API-kkal való interakcióhoz és erőforrásaink biztosításához. Végfelhasználóként a terraform munkafolyamat három lépésből áll.
Írja: Készítse el az infrastruktúrát kódként.
Terv: A Terraform által végrehajtott módosítások előnézete a jelentkezés előtt.
Alkalmazás: Biztosítsa az infrastruktúrát és alkalmazza a változtatásokat.
#4. Mit értesz Terraform felhő alatt?
A Terraform Cloud egy távoli környezet, amely a Terraform munkafolyamathoz van optimalizálva. Olyan funkciókat biztosít, mint a munkaterületek és az állapotzárolás, amely lehetővé teszi a nagy csapatokban dolgozók együttműködését.
#5. Mit értesz állam alatt Terraformban?
IAC-eszközként a terraformnak ismernie kell a kezelt konfigurációk és infrastruktúra jelenlegi állapotát. A Terraform ezeket az információkat egy állapotfájlnak nevezett fájlban tárolja.
#6. Milyen előnyökkel jár a Terraform State?
A Terraform állapot lehetővé teszi a Terraform számára, hogy valós erőforrásokat rendeljen hozzá az Ön konfigurációjához, nyomon kövesse a metaadatokat, és javítsa a teljesítményt az összetett infrastruktúrák változtatásainak tervezése során. Ez a Terraform kritikus összetevője.
#7. Mit értesz Terraform Backend alatt?
A Terraform háttér az a platform, ahol a Terraform állapot pillanatképei tárolódnak. Alapértelmezés szerint a Terraform egy helyi nevű háttérprogramot használ az állapot helyi fájlként való tárolására a lemezen. Az összes többi támogatott háttérrendszer valamilyen távoli tárolási szolgáltatás.
#8. Mi az a szolgáltató a Terraformban?
A Terraform szolgáltatói olyan beépülő modulok, amelyek lehetővé teszik, hogy a Terraform együttműködjön felhőszolgáltatókkal, SaaS-szolgáltatókkal és más API-kkal. Ha például Terraformot tervezünk az AWS infrastruktúrájának kiépítésére, akkor konfigurációs fájljainkban deklarálnunk kell egy AWS-szolgáltatót.
#9. Ki tartja karban a Terraform szolgáltatókat?
A szolgáltatókat magától a Terraformtól külön terjesztik. Terraform felhasználóként bárki fejlesztheti saját szolgáltatóját. Vannak olyan szabványos szolgáltatók, amelyeket kifejezetten a Hashicorp tart fenn.
#10. Mi az a Sentinel?
Őrszem egy szabályzat kódeszközként, amelyet a Terraform által telepített erőforrások szabványos konfigurációinak kényszerítésére használnak. Szervezetek használhatják megfelelőségi és irányítási célokra.
#11. Mit értesz a Terraform moduljai alatt?
A Terraform modul egy szabványos tároló több erőforrás számára, amelyeket együtt használnak az erőforrások kiépítéséhez és konfigurálásához. Létrehozhat például egy „VPC-modult” szervezete számára, amely szabványos VPC-t és egyéb erőforrásokat, például alhálózatokat és internetes átjárókat biztosít. A modulok nyilvánosan megoszthatók a Nyilvános modulnyilvántartáson, privát módon pedig a Privát modul nyilvántartásán keresztül.
#12. Milyen előnyökkel jár a modulok terraform használata?
A Terraform modulok lehetővé teszik számunkra, hogy logikai absztrakciót hozzunk létre egy erőforráskészlet tetején. A modulok használata lehetővé teszi számunkra az erőforrások szabványos konfigurációjának karbantartását és újrafelhasználását. Verziózhatók és megoszthatók a csapatok tagjaival, hogy szabványos módon biztosítsák az erőforrásokat.
#13. Mi az a privát modul nyilvántartása?
A Private Module Registry Terraform Cloud funkció lehetővé teszi számunkra, hogy a Terraform modulokat megosszuk szervezetünkben.
Advanced Terraform Interjú kérdések és válaszok
#14. Hogyan exportálhatunk adatokat egyik modulból a másikba?
Adatokat exportálhatunk egy modulból úgy, hogy a modul konfigurációs fájljaiban definiálunk kimeneti blokkokat. Ezek az adatok paraméterként továbbíthatók a célmodulhoz.
#13. Hogyan lehet meghatározni a függőségeket a Terraformban?
A Terraform beépített függőségkezeléssel rendelkezik. A Terraform kétféle függőséggel rendelkezik az erőforrások között: az implicit és az explicit függőségek között.
Az implicit függőségeket, ahogy a neve is sugallja, a Terraform automatikusan észleli. Ez az, amikor az „A” erőforrás kimenetét „B” erőforrásban használják. A Terraform automatikusan észleli, hogy a „B” erőforrást csak „A” erőforrás után kell létrehozni.
Explicit függőségek megadhatók olyan esetekben, amikor két erőforrás belsőleg függ egymástól anélkül, hogy megosztaná a kimeneteket. Ez a konfigurációs blokkban afüggő_on paraméter használatával tehető meg.
#14. Mik azok a szolgáltatók a Terraformban?
A szolgáltatók olyan Terraform erőforrások, amelyeket parancsfájlok végrehajtására használnak az erőforrás létrehozása vagy megsemmisítése részeként. A Terraformban kétféle szolgáltató létezik:
- local-exec: Meghív egy parancsfájlt a Terraformot futtató gépen.
- remote-exec: Meghív egy parancsfájlt egy távoli erőforráson annak létrehozása után.
A szolgáltatókat csak a Terraform utolsó eszközeként kell használni.
#15. Mi az a külső adatblokk a Terraformban?
Csakúgy, mint a helyi-exec szolgáltató, a külső adattároló is használható szkriptek futtatására a Terraformot futtató gépeken. A szolgáltató és a külső adatblokk közötti különbség az, hogy a külső adatblokkban lévő szkriptek JSON formátumban tudnak visszaadni adatokat, míg a szolgáltatók nem adhatnak vissza semmilyen kimenetet. Fontos megjegyezni, hogy a külső adatblokkok is végső megoldásnak számítanak, és nem szabad használni, ha van jobb alternatíva.
#16. Hogyan hozhat létre két ember a Terraform felhőt használó két különböző infrastruktúra-készletet ugyanazon munkakönyvtár használatával?
Különböző munkaterületek használatával. Ezek a felhasználók két külön munkaterületen indíthatják el a Terraform futtatásokat. Minden munkaterületnek saját állapotfájlja van, így mindaddig, amíg az erőforrások nem fedik át egymást, mindkét felhasználó sikeresen létrehozhat két különböző infrastruktúra-készletet ugyanazzal a kóddal.
#17. Mi történik, ha több mérnök kezdi el telepíteni az infrastruktúrát ugyanazzal az állapotfájllal?
A Terraformnak van egy nagyon fontos funkciója, az úgynevezett „állapotzárolás”. Ez a szolgáltatás biztosítja, hogy futás közben ne változzon az állapotfájl, és megakadályozza, hogy az állapotfájl megsérüljön. Fontos megjegyezni, hogy nem minden Terraform háttérprogram támogatja az állapotzár funkciót. Válassza ki a megfelelő háttérrendszert, ha ez a szolgáltatás követelmény.
#18. Mi az a null erőforrás a Terraformban?
A terraform nulla erőforrás olyan konfiguráció, amely szabványos terraform erőforrásblokkként fut, de nem hoz létre erőforrásokat. Ez furcsának és haszontalannak tűnhet, de különféle helyzetekben hasznos lehet a Terraform korlátainak megkerülésére.
#19. Hogyan használhatod ugyanazt a szolgáltatót a Terraformban különböző konfigurációkkal?
Az alias argumentum használatával a szolgáltató blokkban.
#20. Erőforrások nélküli Terraform konfigurációs fájlja van. Mi történik a terraform application parancs futtatásakor?
A Terraform elpusztítja az összes erőforrást. Egy üres futás indítása terraform application paranccsal pontosan ugyanaz, mint a terraform megsemmisítési futás elindítása.
#21. Mi történik, ha egy erőforrást sikeresen létrehoztak terraformban, de a kiépítés során meghiúsul?
Ez egy valószínűtlen forgatókönyv, de ha ez megtörténik, az erőforrás szennyezettként lesz megjelölve, és a terraform futtatásának újraindításával újra létrehozható.
#22. A TF_LOG változó melyik értéke biztosítja a LEGTÖBB bőbeszédű naplózást?
A TRACE a legbőbeszédesebb és a TF_LOG változó alapértelmezett értéke.
#23. Hogyan importálhat meglévő erőforrásokat a Terraform Management alatt?
A terraform import parancs használatával.
#24. Melyik paranccsal lehet megtekinteni a terraform végrehajtási tervet?
A terraform terv parancs generálja a Terraform által az infrastruktúrán végrehajtott változtatások végrehajtási tervét.
#25. Melyik paranccsal lehet egyeztetni a Terraform állapotát a valós világ infrastruktúrájával?
A terraform apply -refresh-only parancs a Terraform állapotának a valós infrastruktúrával való összeegyeztetésére szolgál. Ez a terraform frissítési parancs új alternatívája, amely már elavult.
#26. Melyik paranccsal lehet váltani a munkaterületek között a Terraform Cloud használatakor?
A terraform munkaterület kiválasztása
#27. Melyik parancsot használják a terraform konfigurációs fájlok szintaktikai ellenőrzésére?
A terraform validate parancs segítségével ellenőrizhető, hogy egy konfiguráció szintaktikailag érvényes-e és belsőleg konzisztens-e.
#28. Melyik parancsot használják új munkaterületek létrehozására a Terraform felhőben?
A terraform workspace new
Néhány további fontos terraform parancs a technikai interjúkhoz.
- terraform init: Inicializálja a távoli háttérprogramokat; letölti a konfigurációban meghatározott szolgáltatókat és távoli modulokat.
- terraform init -upgrade: a meglévő letöltött szolgáltatók frissítésére szolgál.
- terraform terv: elkészíti az infrastruktúra létrehozásának vagy frissítésének végrehajtási tervet.
- terraform apply: létrehozza vagy frissíti az infrastruktúrát, miután megerősítést kért a felhasználótól.
- terraform apply –auto-approve: létrehozza vagy frissíti az infrastruktúrát; a felhasználói jóváhagyási szakasz kimaradt.
- terraform rombolás: törli az infrastruktúrát, miután megerősítést kért a felhasználótól.
- terraform rombolás –auto-jóváhagyás: törli az infrastruktúrát; a felhasználói jóváhagyási szakasz kimaradt.
- terraform fmt: az aktuális könyvtárban keresi a konfigurációs fájlokat, és a kanonikus HCP stílusnak és formátumnak megfelelően formázza azokat.
- terraform fmt –rekurzív: átvizsgálja az aktuális könyvtárat, valamint az alkönyvtárakat konfigurációs fájlok után, és a HCP kanonikus stílusának és formátumának megfelelően formázza azokat.
- terraform show: ember által olvasható kimenetet biztosít egy állapot- vagy tervfájlból.
Remélem, hogy a fenti információk segítenek Terraform állás megszerzésében.