28 Spørsmål og svar på Terraform-intervjuer i sanntid

Her er 28 sanntidsintervjuspørsmål og svar på Terraform med en liste og forklaring på viktige kommandoer som ofte stilles i intervjuer.

Økningen i bruken av Cloud Technologies har åpnet mange muligheter i DevOps-verdenen. I fremtiden vil skyteknologier være et vanlig tema for intervjuspørsmål, og grunnleggende kunnskap om sky og infrastruktur som kode, IAC-verktøy vil være et must for DevOps-roller.

Innholdsfortegnelse

Hva er Terraform?

Terraform er et av de mest populære IAC-verktøyene som brukes av enhver skyingeniør. Den lar oss definere både sky- og lokale ressurser i menneskelesbare konfigurasjonsfiler og dermed tilrettelegge disse ressursene programmatisk. Den mest bemerkelsesverdige egenskapen til Terraform er at, i motsetning til de fleste IAC-verktøy der ute, er det ikke begrenset til en enkelt skyleverandør. Du kan bruke Terraform til å kjøre applikasjonene dine på flere skyplattformer samtidig.

  7 beste Project Zomboid Server Hosting for bedre spillopplevelse

I tilfelle du lurer på hvilke teknologier terraform støtter, her er en liten liste:

For å gå videre i karrieren din som DevOps-ingeniører, skyarkitekter, utviklere eller administratorer, må du møte Terraform-intervjuspørsmål. Vi har satt sammen en liste over de beste terraform-intervjuspørsmålene som skal hjelpe deg å forbedre kunnskapen din om Terraform.

Generelle Terraform-intervjuspørsmål og svar

#1. Hva forstår du med Terraform?

Terraform er et åpen kildekode IAC-verktøy laget av HashiCorp. Den brukes til å opprette, oppdatere, slette og versjonere infrastrukturen din på flere skyplattformer.

#2. Hva er grunnene til å velge Terraform for DevOps?

Bruk av Terraform til å klargjøre infrastruktur gir ikke rom for menneskelige feil, og forbedrer dermed kvaliteten, konsistensen og effektiviteten til skyen og lokal infrastruktur. Terraform bruker HCL-språket, som er ganske likt JSON og enkelt å lære og bruke. I motsetning til de andre IAC-verktøyene som tilbys av skyleverandører som Cloudformation for AWS, kan vi bruke Terraform med en rekke skyplattformer samtidig. Dette unngår behovet for å lære flere IAC-verktøy og forbedrer omfanget av samarbeid.

#3. Hvordan fungerer Terraform?

Terraform bruker plugins kalt Terraform-leverandørene for å samhandle med API-er på skyplattformer og levere ressursene våre. Som sluttbruker har terraform arbeidsflyt tre trinn.

Skriv: Forfatt infrastrukturen som kode.

Plan: Forhåndsvis endringer Terraform vil gjøre før søknad.

Bruk: Tilveiebringe infrastrukturen og ta i bruk endringene.

#4. Hva mener du med Terraform cloud?

Terraform Cloud er et eksternt miljø som er optimalisert for Terraform-arbeidsflyten. Den gir funksjoner som arbeidsområder og tilstandslåsing, som lar folk i store team samarbeide.

#5. Hva forstår du med stat i Terraform?

Som et IAC-verktøy bør terraform kjenne den nåværende tilstanden til konfigurasjoner og infrastruktur under ledelsen. Terraform lagrer denne informasjonen i en fil som kalles tilstandsfilen.

#6. Hva er fordelen med Terraform State?

Terraform State lar Terraform kartlegge virkelige ressurser til konfigurasjonen din, holde styr på metadata og forbedre ytelsen når du planlegger endringer for komplekse infrastrukturer. Det er en kritisk komponent i Terraform.

#7. Hva forstår du med Terraform Backend?

Terraform backend er plattformen der Terraform State Snapshots lagres. Som standard bruker Terraform en backend kalt lokal for å lagre tilstand som en lokal fil på disken din. Alle andre støttede backends er en slags ekstern lagringstjeneste.

  Legg til Ok Google-deteksjon på alle skjermer på enheten din [No Root]

#8. Hva er en leverandør i Terraform?

Leverandører i Terraform er plugins som lar Terraform samhandle med skyleverandører, SaaS-leverandører og andre APIer. For eksempel, hvis vi planlegger å bruke Terraform til å levere infrastruktur på AWS, må vi deklarere en AWS-leverandør i konfigurasjonsfilene våre.

#9. Hvem vedlikeholder Terraform-leverandører?

Tilbydere distribueres separat fra Terraform selv. Som Terraform-bruker kan hvem som helst utvikle sine egne leverandører. Det er noen standardleverandører som vedlikeholdes eksplisitt av Hashicorp.

#10. Hva er Sentinel?

vakt er en policy som et kodeverktøy som brukes til å håndheve standardkonfigurasjoner for ressurser som distribueres av Terraform. Den kan brukes av organisasjoner for overholdelse og styringsformål.

#11. Hva forstår du med moduler i Terraform?

En Terraform-modul er en standardbeholder for flere ressurser som brukes sammen for å klargjøre og konfigurere ressurser. Du kan for eksempel opprette en «VPC-modul» for organisasjonen din som leverer en standard VPC og andre ressurser som undernett og Internett-gatewayer. Moduler kan deles offentlig via det offentlige modulregisteret og privat via det private modulregisteret.

#12. Hva er fordelen med å bruke moduler i terraform?

Terraform-moduler lar oss lage logisk abstraksjon på toppen av et ressurssett. Ved å bruke moduler kan vi vedlikeholde og gjenbruke en standardkonfigurasjon for ressurser. De kan versjoneres og deles med medlemmer av teamene dine for å levere ressurser på en standard måte.

#1. 3. Hva er det private modulregisteret?

En Private Module Registry Terraform Cloud-funksjon lar oss dele Terraform-moduler på tvers av organisasjonen vår.

Advanced Terraform Intervju Spørsmål og Svar

#14. Hvordan kan vi eksportere data fra en modul til en annen?

Vi kan eksportere data fra en modul ved å definere utdatablokker i modulkonfigurasjonsfilene. Disse dataene kan deretter overføres som en parameter til destinasjonsmodulen.

#1. 3. Hvordan kan du definere avhengigheter i Terraform?

Terraform har innebygd avhengighetsstyring. Terraform har to typer avhengigheter mellom ressurser – implisitte og eksplisitte avhengigheter.

Implisitte avhengigheter, som navnet antyder, oppdages automatisk av Terraform. Dette er når utdata fra en «ressurs A» brukes i «ressurs B». Terraform oppdager automatisk at «ressurs B» bare må opprettes etter «ressurs A»

Eksplisitte avhengigheter kan spesifiseres i tilfeller der to ressurser er internt avhengige av hverandre uten å dele noen utganger. Dette kan gjøres ved å bruke avhengig_on-parameteren i konfigurasjonsblokken.

#14. Hva er provisjonsleverandører i Terraform?

Provisjonsleverandører er Terraform-ressurser som brukes til å utføre skript som en del av ressursopprettingen eller ødeleggelsen. Det er to typer provisjoneringstjenester i Terraform:

  • local-exec: Starter et skript på maskinen som kjører Terraform.
  • remote- exec: Kaller frem et skript på en ekstern ressurs etter at det er opprettet.
  8 Generatorverktøy for e-postemnelinje for bedre konvertering

Provisjonere er kun ment å brukes som en siste utvei i Terraform.

#15. Hva er den eksterne datablokken i Terraform?

Akkurat som local-exec-provisjoneren, kan ekstern databock brukes til å kjøre skript på maskiner som kjører Terraform. Forskjellen mellom en provisjoner og den eksterne datablokken er at skriptene i den eksterne datablokken kan returnere data i JSON-format, mens provisjonere ikke kan returnere noen utdata. Det er viktig å merke seg at eksterne datablokker også er ment å være en siste utvei og bør ikke brukes hvis det finnes et bedre alternativ.

#16. Hvordan kan to personer som bruker Terraform-skyen, lage to forskjellige sett med infrastruktur ved å bruke samme arbeidskatalog?

Ved å bruke ulike arbeidsområder. Disse brukerne kan starte Terraform-kjøringer i to separate arbeidsområder. Hvert arbeidsområde har en egen tilstandsfil, så så lenge ressursene ikke overlapper hverandre, kan begge brukerne klargjøre to forskjellige sett med infrastruktur ved å bruke samme kode.

#17. Hva skjer når flere ingeniører begynner å distribuere infrastruktur ved å bruke den samme tilstandsfilen?

Terraform har en veldig viktig funksjon kalt «state locking». Denne funksjonen sikrer at det ikke gjøres endringer i tilstandsfilen under en kjøring og forhindrer at tilstandsfilen blir korrupt. Det er viktig å merke seg at ikke alle Terraform Backends støtter tilstandslåsefunksjonen. Du bør velge riktig backend hvis denne funksjonen er et krav.

#18. Hva er en null-ressurs i Terraform?

En terraform null-ressurs er en konfigurasjon som kjører som en standard terraform-ressursblokk, men som ikke oppretter noen ressurser. Dette kan høres ut som en merkelig og ubrukelig ressurs, men det kan være nyttig i ulike situasjoner å omgå begrensninger i Terraform.

#19. Hvordan kan du bruke samme leverandør i Terraform med forskjellige konfigurasjoner?

Ved å bruke aliasargument i leverandørblokken.

#20. Du har en Terraform-konfigurasjonsfil uten ressurser. Hva skjer når du kjører kommandoen terraform application?

Terraform vil ødelegge alle ressursene. Å starte en tom kjøring med kommandoen terraform er nøyaktig det samme som å starte terraform destroy-kjøringen.

#21. Hva skjer hvis en ressurs ble opprettet i terraform, men mislyktes under klargjøring?

Dette er et usannsynlig scenario, men når dette skjer, blir ressursen merket som forurenset og kan gjenskapes ved å starte terraform-kjøringen på nytt.

#22. Hvilken verdi av TF_LOG-variabelen gir den MEST detaljerte loggingen?

TRACE er den mest detaljerte og standardverdien til TF_LOG-variabelen.

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

Ved å bruke kommandoen terraform import.

#24. Hvilken kommando kan brukes til å forhåndsvise terraform-utførelsesplanen?

Terraform plan-kommandoen genererer utførelsesplanen for endringene Terraform vil gjøre på infrastrukturen.

#25. Hvilken kommando kan brukes til å forene Terraform-tilstanden med den faktiske virkelige infrastrukturen?

Terraform apply -refresh-only-kommandoen brukes til å forene Terraform-tilstanden med den faktiske infrastrukturen i den virkelige verden. Det er det nye alternativet til terraform refresh-kommandoen, som nå er avviklet.

#26. Hvilken kommando kan brukes til å bytte mellom arbeidsområder når du bruker Terraform Cloud?

Kommandoen terraform workspace select brukes til å velge et annet arbeidsområde.

#27. Hvilken kommando brukes til å utføre syntaksvalidering på terraform-konfigurasjonsfiler?

Terraform validate-kommandoen brukes til å verifisere om en konfigurasjon er syntaktisk gyldig og internt konsistent.

#28. Hvilken kommando brukes til å lage nye arbeidsområder i Terraform-skyen?

Kommandoen terraform workspace new brukes til å opprette et nytt arbeidsområde.

Noen andre viktige terraform-kommandoer for tekniske intervjuer.

  • terraform init: Initialiserer eksterne backends; laster ned leverandører og eksterne moduler definert i konfigurasjonen din.
  • terraform init -upgrade: brukes til å oppgradere de eksisterende nedlastede leverandørene.
  • terraform plan: genererer utførelsesplanen for opprettelse eller oppdatering av infrastruktur.
  • terraform gjelder: oppretter eller oppdaterer infrastrukturen etter å ha bedt om bekreftelse fra brukeren.
  • terraform apply –auto-approve: oppretter eller oppdaterer infrastrukturen; brukergodkjenningsstadiet hoppes over.
  • terraform destroy: sletter infrastrukturen etter å ha bedt om bekreftelse fra brukeren.
  • terraform destroy –auto-approve: sletter infrastrukturen; brukergodkjenningsstadiet hoppes over.
  • terraform fmt: skanner gjeldende katalog for konfigurasjonsfiler og formaterer dem i henhold til HCPs kanoniske stil og format.
  • terraform fmt –rekursiv: skanner gjeldende katalog så vel som underkataloger for konfigurasjonsfiler og formaterer dem i henhold til HCPs kanoniske stil og format.
  • terraform show: gir en lesbar utgang fra en tilstands- eller planfil.

Jeg håper informasjonen ovenfor hjelper deg med å få en Terraform-jobb.