28 Real-Time Terraform Interview spørgsmål og svar

Her er 28 Real-time Terraform-interviewspørgsmål og -svar med en liste og forklaring af vigtige kommandoer, der ofte stilles i interviews.

Stigningen i brugen af ​​Cloud Technologies har åbnet en masse muligheder i DevOps-verdenen. I fremtiden vil cloud-teknologier være et almindeligt emne for interviewspørgsmål, og grundlæggende viden om cloud og infrastruktur som en kode, IAC-værktøjer vil være et must for DevOps-roller.

Indholdsfortegnelse

Hvad er Terraform?

Terraform er et af de mest populære IAC-værktøjer, der bruges af enhver cloud-ingeniør. Det giver os mulighed for at definere både cloud- og on-premise-ressourcer i menneskeligt læsbare konfigurationsfiler og derved levere disse ressourcer programmatisk. Det mest bemærkelsesværdige træk ved Terraform er, at i modsætning til de fleste IAC-værktøjer derude, er det ikke begrænset til en enkelt cloud-udbyder. Du kan bruge Terraform til at køre dine applikationer på flere cloud-platforme samtidigt.

  7 daglige sysadmin-opgaver at automatisere med Ansible

Hvis du undrer dig over, hvilke teknologier terraform understøtter, er her en lille liste:

For at gå videre i din karriere som DevOps-ingeniører, Cloud-arkitekter, udviklere eller administratorer skal du stå over for Terraform-interviewspørgsmål. Vi har samlet en liste over de bedste terraform-interviewspørgsmål, der skal hjælpe dig med at forbedre din viden om Terraform.

Generelle Terraform-interviewspørgsmål og -svar

#1. Hvad forstår du ved Terraform?

Terraform er et open source IAC-værktøj skabt af HashiCorp. Det bruges til at oprette, opdatere, slette og versionere din infrastruktur på flere cloud-platforme.

#2. Hvad er grundene til at vælge Terraform til DevOps?

Brug af Terraform til levering af infrastruktur efterlader ikke plads til menneskelige fejl, hvilket forbedrer kvaliteten, konsistensen og effektiviteten af ​​Cloud og on-prem infrastruktur. Terraform bruger HCL-sproget, som er ret lig JSON og nemt at lære og bruge. I modsætning til de andre IAC-værktøjer, der tilbydes af cloud-udbydere som Cloudformation for AWS, kan vi bruge Terraform med en række cloud-platforme samtidigt. Dette undgår behovet for at lære flere IAC-værktøjer og forbedrer omfanget af samarbejde.

#3. Hvordan virker Terraform?

Terraform bruger plugins kaldet Terraform-udbyderne til at interagere med API’er på Cloud-platforme og levere vores ressourcer. Som slutbruger har terraform workflow tre trin.

Skriv: Forfatt infrastrukturen som kode.

Plan: Se forhåndsvisning af ændringer, som Terraform foretager, før du ansøger.

Anvend: Lever infrastrukturen og anvend ændringerne.

#4. Hvad mener du med Terraform cloud?

Terraform Cloud er et fjerntliggende miljø, der er optimeret til Terraform-arbejdsgangen. Det giver funktioner som arbejdsområder og tilstandslås, som giver folk i store teams mulighed for at samarbejde.

#5. Hvad forstår du ved stat i Terraform?

Som et IAC-værktøj bør terraform kende den aktuelle tilstand af konfigurationer og infrastruktur under dets ledelse. Terraform gemmer disse oplysninger i en fil kaldet tilstandsfilen.

#6. Hvad er fordelen ved Terraform State?

Terraform State giver Terraform mulighed for at kortlægge virkelige ressourcer til din konfiguration, holde styr på metadata og forbedre ydeevnen, når du planlægger ændringer for komplekse infrastrukturer. Det er en kritisk komponent i Terraform.

#7. Hvad forstår du ved Terraform Backend?

Terraform backend er platformen, hvor Terraform State Snapshots er gemt. Som standard bruger Terraform en backend kaldet lokal til at gemme tilstand som en lokal fil på din disk. Alle andre understøttede backends er en slags fjernlagringstjeneste.

  Sådan får du iPhone-apps til altid at bede om placeringsadgang

#8. Hvad er en udbyder i Terraform?

Udbydere i Terraform er plugins, der tillader Terraform at interagere med cloud-udbydere, SaaS-udbydere og andre API’er. For eksempel, hvis vi planlægger at bruge Terraform til at levere infrastruktur på AWS, bliver vi nødt til at erklære en AWS-udbyder i vores konfigurationsfiler.

#9. Hvem vedligeholder Terraform-udbydere?

Udbydere distribueres separat fra Terraform selv. Som Terraform-bruger kan enhver udvikle deres egne udbydere. Der er nogle standardudbydere, der vedligeholdes eksplicit af Hashicorp.

#10. Hvad er Sentinel?

vagtpost er en politik som et kodeværktøj, der bruges til at håndhæve standardkonfigurationer for ressourcer, der implementeres af Terraform. Det kan bruges af organisationer til compliance- og styringsformål.

#11. Hvad forstår du ved moduler i Terraform?

Et Terraform-modul er en standardbeholder til flere ressourcer, der bruges sammen til at klargøre og konfigurere ressourcer. For eksempel kan du oprette et “VPC-modul” til din organisation, der leverer en standard VPC og andre ressourcer som undernet og internetgateways. Moduler kan deles offentligt via det offentlige modulregister og privat via det private modulregister.

#12. Hvad er fordelen ved at bruge moduler i terraform?

Terraform-moduler giver os mulighed for at skabe logisk abstraktion på toppen af ​​et ressourcesæt. Ved at bruge moduler kan vi vedligeholde og genbruge en standardkonfiguration for ressourcer. De kan versioneres og deles med medlemmer af dine teams for at levere ressourcer på en standard måde.

#13. Hvad er det private modulregister?

En Private Module Registry Terraform Cloud-funktion giver os mulighed for at dele Terraform-moduler på tværs af vores organisation.

Advanced Terraform Interview Spørgsmål og Svar

#14. Hvordan kan vi eksportere data fra et modul til et andet?

Vi kan eksportere data fra et modul ved at definere outputblokke i modulets konfigurationsfiler. Disse data kan derefter overføres som en parameter til destinationsmodulet.

#13. Hvordan kan du definere afhængigheder i Terraform?

Terraform har indbygget afhængighedsstyring. Terraform har to slags afhængigheder mellem ressourcer – implicitte og eksplicitte afhængigheder.

Implicitte afhængigheder, som navnet antyder, opdages automatisk af Terraform. Dette er, når output fra en “ressource A” bruges i “ressource B”. Terraform registrerer automatisk, at “ressource B” kun skal oprettes efter “ressource A”

Eksplicitte afhængigheder kan specificeres i tilfælde, hvor to ressourcer er internt afhængige af hinanden uden at dele nogen output. Dette kan gøres ved at bruge afhænger_on-parameteren i konfigurationsblokken.

#14. Hvad er Provisioners i Terraform?

Provisioners er Terraform-ressourcer, der bruges til at udføre scripts som en del af ressourceoprettelse eller -destruktion. Der er to typer Provisioners i Terraform:

  • local-exec: Kalder et script på den maskine, der kører Terraform.
  • remote-exec: Kalder et script på en ekstern ressource, efter at det er oprettet.
  Hvad skal jeg gøre, hvis min Mac bliver ved med at genstarte? 10 tips til at løse problemet

Provisioners er kun beregnet til at blive brugt som en sidste udvej i Terraform.

#15. Hvad er den eksterne datablok i Terraform?

Ligesom local-exec-provideren kan ekstern databock bruges til at køre scripts på maskiner, der kører Terraform. Forskellen mellem en provisioner og den eksterne datablok er, at scripts i den eksterne datablok kan returnere data i JSON-format, hvorimod provisioner ikke kan returnere nogen output. Det er vigtigt at bemærke, at eksterne datablokke også er ment som en sidste udvej og ikke bør bruges, hvis der er et bedre alternativ.

#16. Hvordan kan to personer, der bruger Terraform-skyen, skabe to forskellige sæt infrastruktur ved hjælp af den samme arbejdsmappe?

Ved at bruge forskellige arbejdsområder. Disse brugere kan starte Terraform-kørsler i to separate arbejdsområder. Hvert arbejdsområde har sin egen tilstandsfil, så så længe ressourcerne ikke overlapper hinanden, kan begge brugere med succes klargøre to forskellige sæt infrastruktur ved hjælp af den samme kode.

#17. Hvad sker der, når flere ingeniører begynder at implementere infrastruktur ved hjælp af den samme tilstandsfil?

Terraform har en meget vigtig funktion kaldet “state locking”. Denne funktion sikrer, at der ikke foretages ændringer i tilstandsfilen under en kørsel og forhindrer, at tilstandsfilen bliver korrupt. Det er vigtigt at bemærke, at ikke alle Terraform Backends understøtter tilstandslåsefunktionen. Du bør vælge den rigtige backend, hvis denne funktion er et krav.

#18. Hvad er en nul-ressource i Terraform?

En terraform null-ressource er en konfiguration, der kører som en standard terraform-ressourceblok, men som ikke opretter nogen ressourcer. Dette kan lyde som en mærkelig og ubrugelig ressource, men det kan være nyttigt i forskellige situationer at omgå begrænsninger i Terraform.

#19. Hvordan kan du bruge den samme udbyder i Terraform med forskellige konfigurationer?

Ved at bruge alias argument i provider blokken.

#20. Du har en Terraform-konfigurationsfil uden ressourcer. Hvad sker der, når du kører kommandoen terraform application?

Terraform vil ødelægge alle ressourcerne. At starte en tom kørsel med terraform application-kommandoen er nøjagtig det samme som at starte terraform destroy-kørslen.

#21. Hvad sker der, hvis en ressource blev oprettet i terraform, men mislykkedes under klargøring?

Dette er et usandsynligt scenarie, men når dette sker, er ressourcen markeret som plettet og kan genskabes ved at genstarte terraform-kørslen.

#22. Hvilken værdi af TF_LOG-variablen giver den MEST udførlige logning?

TRACE er den mest udførlige og standardværdien for TF_LOG-variablen.

#23. Hvordan kan du importere eksisterende ressourcer under Terraform Management?

Ved at bruge kommandoen terraform import.

#24. Hvilken kommando kan bruges til at få vist terraform-udførelsesplanen?

Terraform-plankommandoen genererer udførelsesplanen for de ændringer, Terraform vil foretage på infrastrukturen.

#25. Hvilken kommando kan bruges til at forene Terraform-tilstanden med den faktiske infrastruktur i den virkelige verden?

Kommandoen terraform apply -refresh-only bruges til at forene Terraform-tilstanden med den faktiske infrastruktur i den virkelige verden. Det er det nye alternativ til terraform refresh-kommandoen, som nu er forældet.

#26. Hvilken kommando kan bruges til at skifte mellem arbejdsområder, når du bruger Terraform Cloud?

Kommandoen terraform workspace select bruges til at vælge et andet arbejdsområde.

#27. Hvilken kommando bruges til at udføre syntaksvalidering på terraform-konfigurationsfiler?

Terraform validate-kommandoen bruges til at verificere, om en konfiguration er syntaktisk gyldig og internt konsistent.

#28. Hvilken kommando bruges til at oprette nye arbejdsområder i Terraform-skyen?

Kommandoen terraform workspace new bruges til at oprette et nyt arbejdsområde.

Nogle andre vigtige terraform-kommandoer til tekniske interviews.

  • terraform init: Initialiserer eksterne backends; downloads udbydere og fjernmoduler defineret i din konfiguration.
  • terraform init -upgrade: bruges til at opgradere de eksisterende downloadede udbydere.
  • terraform plan: genererer udførelsesplanen for oprettelse eller opdatering af infrastrukturen.
  • terraform anvende: opretter eller opdaterer infrastrukturen efter at have anmodet om bekræftelse fra brugeren.
  • terraform anvende – auto-godkend: opretter eller opdaterer infrastrukturen; brugergodkendelsesfasen springes over.
  • terraform ødelægge: sletter infrastrukturen efter at have anmodet om bekræftelse fra brugeren.
  • terraform destroy –auto-godkend: sletter infrastrukturen; brugergodkendelsesfasen springes over.
  • terraform fmt: scanner den aktuelle mappe for konfigurationsfiler og formaterer dem i henhold til HCP’s kanoniske stil og format.
  • terraform fmt –rekursiv: scanner den aktuelle mappe såvel som underbibliotekerne for konfigurationsfiler og formaterer dem i henhold til HCP’s kanoniske stil og format.
  • terraform show: giver et menneskelæsbart output fra en tilstands- eller planfil.

Jeg håber, at ovenstående information hjælper dig med at få et Terraform job.