28 Intervjufrågor och svar på Terraform i realtid

Här är 28 Terraform-intervjufrågor och svar i realtid med en lista och förklaring av viktiga kommandon som ofta ställs i intervjuer.

Ökningen av användningen av Cloud Technologies har öppnat många möjligheter i DevOps-världen. I framtiden kommer molnteknik att vara ett vanligt ämne för intervjufrågor, och grundläggande kunskap om moln och infrastruktur som en kod, IAC-verktyg kommer att vara ett måste för DevOps-roller.

Innehållsförteckning

Vad är Terraform?

Terraform är ett av de mest populära IAC-verktygen som används av alla molningenjörer. Det tillåter oss att definiera både molnresurser och resurser på plats i mänskligt läsbara konfigurationsfiler och därigenom tillhandahålla dessa resurser programmatiskt. Den mest anmärkningsvärda egenskapen hos Terraform är att den, till skillnad från de flesta IAC-verktyg där ute, inte är begränsad till en enda molnleverantör. Du kan använda Terraform för att köra dina applikationer på flera molnplattformar samtidigt.

Om du undrar vilken teknik terraform stöder, här är en liten lista:

För att gå vidare i din karriär som DevOps-ingenjörer, molnarkitekter, utvecklare eller administratörer måste du möta Terraform-intervjufrågor. Vi har sammanställt en lista över de bästa terraform intervjufrågorna som borde hjälpa dig att förbättra din kunskap om Terraform.

Allmänna Terraform-intervjufrågor och svar

#1. Vad förstår du med Terraform?

Terraform är ett IAC-verktyg med öppen källkod skapat av HashiCorp. Den används för att skapa, uppdatera, ta bort och versionera din infrastruktur på flera molnplattformar.

#2. Vilka är anledningarna till att välja Terraform för DevOps?

Att använda Terraform för att tillhandahålla infrastruktur lämnar inget utrymme för mänskliga fel, vilket förbättrar kvaliteten, konsekvensen och effektiviteten hos moln och lokal infrastruktur. Terraform använder HCL-språket, som är ganska likt JSON och lätt att lära sig och använda. Till skillnad från de andra IAC-verktygen som erbjuds av molnleverantörer som Cloudformation for AWS, kan vi använda Terraform med ett antal molnplattformar samtidigt. Detta undviker behovet av att lära sig flera IAC-verktyg och förbättrar samarbetets omfattning.

#3. Hur fungerar Terraform?

Terraform använder plugins som kallas Terraform-leverantörerna för att interagera med API:er på molnplattformar och tillhandahålla våra resurser. Som slutanvändare har terraform arbetsflöde tre steg.

Skriv: Skriv infrastrukturen som kod.

Plan: Förhandsgranska ändringar som Terraform gör innan du ansöker.

Tillämpa: Tillhandahålla infrastrukturen och tillämpa ändringarna.

#4. Vad menar du med Terraform moln?

Terraform Cloud är en fjärrmiljö som är optimerad för Terraforms arbetsflöde. Den tillhandahåller funktioner som arbetsytor och tillståndslåsning, vilket gör att människor i stora team kan samarbeta.

#5. Vad förstår du med stat i Terraform?

Som ett IAC-verktyg bör terraform känna till det aktuella läget för konfigurationer och infrastruktur under dess förvaltning. Terraform lagrar denna information i en fil som kallas tillståndsfilen.

#6. Vad är fördelen med Terraform State?

Terraform State tillåter Terraform att kartlägga verkliga resurser till din konfiguration, hålla reda på metadata och förbättra prestanda när du planerar förändringar för komplexa infrastrukturer. Det är en kritisk komponent i Terraform.

#7. Vad förstår du med Terraform Backend?

Terraform backend är plattformen där Terraform State Snapshots lagras. Som standard använder Terraform en backend som kallas lokal för att lagra tillstånd som en lokal fil på din disk. Alla andra backends som stöds är någon form av fjärrlagringstjänst.

#8. Vad är en leverantör i Terraform?

Leverantörer i Terraform är plugins som tillåter Terraform att interagera med molnleverantörer, SaaS-leverantörer och andra API:er. Till exempel, om vi planerar att använda Terraform för att tillhandahålla infrastruktur på AWS, måste vi deklarera en AWS-leverantör i våra konfigurationsfiler.

#9. Vem underhåller Terraform-leverantörer?

Leverantörer distribueras separat från Terraform själv. Som Terraform-användare kan vem som helst utveckla sina egna leverantörer. Det finns några standardleverantörer som upprätthålls explicit av Hashicorp.

#10. Vad är Sentinel?

Vakt är en policy som ett kodverktyg som används för att genomdriva standardkonfigurationer för resurser som distribueras av Terraform. Det kan användas av organisationer för efterlevnad och styrning.

#11. Vad förstår du med moduler i Terraform?

En Terraform-modul är en standardbehållare för flera resurser som används tillsammans för att tillhandahålla och konfigurera resurser. Du kan till exempel skapa en ”VPC-modul” för din organisation som tillhandahåller en standard VPC och andra resurser som subnät och Internet-gateways. Moduler kan delas offentligt via det offentliga modulregistret och privat via det privata modulregistret.

#12. Vad är fördelen med att använda moduler i terraform?

Terraform-moduler tillåter oss att skapa logisk abstraktion på toppen av en resursuppsättning. Genom att använda moduler kan vi underhålla och återanvända en standardkonfiguration för resurser. De kan versioneras och delas med medlemmar i dina team för att tillhandahålla resurser på ett standard sätt.

#13. Vad är det privata modulregistret?

En privat modulregister Terraform Cloud-funktion tillåter oss att dela Terraform-moduler över hela vår organisation.

Avancerade Terraform-intervjufrågor och svar

#14. Hur kan vi exportera data från en modul till en annan?

Vi kan exportera data från en modul genom att definiera utdatablock i modulens konfigurationsfiler. Dessa data kan sedan överföras som en parameter till destinationsmodulen.

#13. Hur kan du definiera beroenden i Terraform?

Terraform har inbyggd beroendehantering. Terraform har två typer av beroenden mellan resurser – implicita och explicita beroenden.

Implicita beroenden, som namnet antyder, upptäcks automatiskt av Terraform. Detta är när utdata från en ”resurs A” används i ”resurs B”. Terraform upptäcker automatiskt att ”resurs B” behöver skapas först efter ”resurs A”

Explicita beroenden kan anges i de fall där två resurser är internt beroende av varandra utan att dela några utgångar. Detta kan göras genom att använda parameterndependent_on i konfigurationsblocket.

#14. Vad är Provisioners i Terraform?

Provisioners är Terraform-resurser som används för att exekvera skript som en del av resursskapandet eller förstörelsen. Det finns två typer av Provisioners i Terraform:

  • local-exec: Anropar ett skript på maskinen som kör Terraform.
  • remote-exec: Anropar ett skript på en fjärrresurs efter att det har skapats.

Provisioners är endast avsedda att användas som en sista utväg i Terraform.

#15. Vad är det externa datablocket i Terraform?

Precis som local-exec-provisioneraren kan extern databock användas för att köra skript på maskiner som kör Terraform. Skillnaden mellan en provisioner och det externa datablocket är att skripten i det externa datablocket kan returnera data i JSON-format, medan provisioner inte kan returnera några utdata. Det är viktigt att notera att externa datablock också är avsedda att vara en sista utväg och inte bör användas om det finns ett bättre alternativ.

#16. Hur kan två personer som använder Terraform-molnet skapa två olika uppsättningar av infrastruktur med samma arbetskatalog?

Genom att använda olika arbetsytor. Dessa användare kan starta Terraform-körningar i två separata arbetsytor. Varje arbetsyta har en egen tillståndsfil, så så länge som resurserna inte överlappar varandra kan båda användarna framgångsrikt tillhandahålla två olika uppsättningar av infrastruktur med samma kod.

#17. Vad händer när flera ingenjörer börjar distribuera infrastruktur med samma tillståndsfil?

Terraform har en mycket viktig funktion som kallas ”tillståndslåsning”. Den här funktionen säkerställer att inga ändringar görs i tillståndsfilen under en körning och förhindrar att tillståndsfilen blir korrupt. Det är viktigt att notera att inte alla Terraform Backends stöder tillståndslåsningsfunktionen. Du bör välja rätt backend om denna funktion är ett krav.

#18. Vad är en nollresurs i Terraform?

En terraform null-resurs är en konfiguration som körs som ett standard terraform-resursblock men som inte skapar några resurser. Detta kan låta som en konstig och värdelös resurs, men det kan vara användbart i olika situationer för att kringgå begränsningar i Terraform.

#19. Hur kan du använda samma leverantör i Terraform med olika konfigurationer?

Genom att använda aliasargument i providerblocket.

#20. Du har en Terraform-konfigurationsfil utan resurser. Vad händer när du kör kommandot terraform applicera?

Terraform kommer att förstöra alla resurser. Att starta en tom körning med kommandot terraform applicera är exakt detsamma som att starta terraform förstöra körningen.

#21. Vad händer om en resurs skapades framgångsrikt i terraform men misslyckades under provisioneringen?

Det här är ett osannolikt scenario, men när detta händer markeras resursen som fläckad och kan återskapas genom att starta om terraformkörningen.

#22. Vilket värde på variabeln TF_LOG ger den MEST utförliga loggningen?

TRACE är det mest utförliga och standardvärdet för variabeln TF_LOG.

#23. Hur kan du importera befintliga resurser under Terraform Management?

Genom att använda kommandot terraform import.

#24. Vilket kommando kan användas för att förhandsgranska terraforms exekveringsplan?

Kommandot terraform plan genererar utförandeplanen för de förändringar Terraform kommer att göra på infrastrukturen.

#25. Vilket kommando kan användas för att förena Terraform-tillståndet med den faktiska verkliga infrastrukturen?

Kommandot terraform applicera -refresh-only används för att stämma av Terraform-tillståndet med den faktiska verkliga infrastrukturen. Det är det nya alternativet till kommandot terraform refresh, som nu är föråldrat.

#26. Vilket kommando kan användas för att växla mellan arbetsytor när du använder Terraform Cloud?

Kommandot terraform workspace select används för att välja en annan arbetsyta.

#27. Vilket kommando används för att utföra syntaxvalidering på terraform-konfigurationsfiler?

Terraform validate-kommandot används för att verifiera om en konfiguration är syntaktisk giltig och internt konsekvent.

#28. Vilket kommando används för att skapa nya arbetsytor i Terraform-molnet?

Kommandot terraform workspace new används för att skapa en ny arbetsyta.

Några andra viktiga terraform-kommandon för tekniska intervjuer.

  • terraform init: Initierar fjärranslutningar; nedladdningsleverantörer och fjärrmoduler definierade i din konfiguration.
  • terraform init -upgrade: används för att uppgradera befintliga nedladdade leverantörer.
  • terraform-plan: genererar utförandeplanen för att skapa eller uppdatera infrastrukturen.
  • terraform applicera: skapar eller uppdaterar infrastrukturen efter att ha begärt bekräftelse från användaren.
  • terraform applicera –auto-approve: skapar eller uppdaterar infrastrukturen; steget för användargodkännande hoppas över.
  • terraform förstöra: tar bort infrastrukturen efter att ha begärt bekräftelse från användaren.
  • terraform destroy –auto-approve: tar bort infrastrukturen; steget för användargodkännande hoppas över.
  • terraform fmt: skannar den aktuella katalogen efter konfigurationsfiler och formaterar dem enligt HCP:s kanoniska stil och format.
  • terraform fmt –rekursiv: skannar den aktuella katalogen såväl som underkatalogerna efter konfigurationsfiler och formaterar dem enligt HCP:s kanoniska stil och format.
  • terraform show: ger en läsbar utdata från en tillstånds- eller planfil.

Jag hoppas att ovanstående information hjälper dig att få ett Terraform-jobb.