28 Întrebări și răspunsuri la interviu Terraform în timp real

Iată 28 de întrebări și răspunsuri la interviu Terraform în timp real, cu o listă și o explicație a comenzilor importante solicitate adesea în interviuri.

Creșterea utilizării tehnologiilor cloud a deschis o mulțime de oportunități în lumea DevOps. În viitor, tehnologiile cloud vor fi un subiect comun pentru întrebările de interviu și cunoștințele de bază despre cloud și infrastructură ca cod, instrumentele IAC vor fi o necesitate pentru rolurile DevOps.

Cuprins

Ce este Terraform?

Terraform este unul dintre cele mai populare instrumente IAC utilizate de fiecare inginer cloud. Ne permite să definim atât resursele cloud, cât și cele locale în fișiere de configurare care pot fi citite de om și, prin urmare, furnizam aceste resurse în mod programatic. Cea mai notabilă caracteristică a Terraform este că, spre deosebire de majoritatea instrumentelor IAC, nu se limitează la un singur furnizor de cloud. Puteți utiliza Terraform pentru a vă rula aplicațiile pe mai multe platforme cloud simultan.

  Cum să verificați dacă cineva v-a redirecționat e-mailul

În cazul în care vă întrebați ce tehnologii acceptă terraform, iată o mică listă:

Pentru a continua în cariera ta ca ingineri DevOps, arhitecți cloud, dezvoltatori sau administratori, va trebui să faci față întrebărilor de interviu Terraform. Am întocmit o listă de întrebări de top pentru interviul Terraform care ar trebui să vă ajute să vă îmbunătățiți cunoștințele despre Terraform.

Întrebări și răspunsuri generale la interviu Terraform

#1. Ce înțelegi prin Terraform?

Terraform este un instrument IAC open-source creat de HashiCorp. Este folosit pentru a crea, actualiza, șterge și versiunea infrastructurii dvs. pe mai multe platforme cloud.

#2. Care sunt motivele pentru a alege Terraform pentru DevOps?

Utilizarea Terraform pentru furnizarea infrastructurii nu lasă loc pentru erori umane, îmbunătățind astfel calitatea, consistența și eficiența infrastructurii Cloud și on-prem. Terraform folosește limbajul HCL, care este destul de similar cu JSON și ușor de învățat și utilizat. Spre deosebire de celelalte instrumente IAC oferite de furnizorii de cloud, cum ar fi Cloudformation pentru AWS, putem folosi Terraform cu o serie de platforme cloud simultan. Acest lucru evită nevoia de a învăța mai multe instrumente IAC și îmbunătățește sfera colaborării.

#3. Cum funcționează Terraform?

Terraform folosește pluginuri numite furnizori Terraform pentru a interacționa cu API-urile de pe platformele cloud și pentru a furniza resursele noastre. Ca utilizator final, fluxul de lucru terraform are trei pași.

Scrieți: Creați infrastructura ca cod.

Plan: previzualizați modificările pe care Terraform le va face înainte de a aplica.

Aplicați: asigurați infrastructura și aplicați modificările.

#4. Ce vrei să spui prin nor Terraform?

Terraform Cloud este un mediu la distanță care este optimizat pentru fluxul de lucru Terraform. Oferă funcții precum spațiile de lucru și blocarea de stat, care permite oamenilor din echipe mari să colaboreze.

#5. Ce înțelegeți prin stat în Terraform?

Ca instrument IAC, terraform ar trebui să cunoască starea actuală a configurațiilor și a infrastructurii aflate în managementul său. Terraform stochează aceste informații într-un fișier numit fișier de stare.

#6. Care este beneficiul Terraform State?

Terraform State permite Terraform să mapeze resursele din lumea reală la configurația dvs., să țină evidența metadatelor și să îmbunătățească performanța atunci când planifică modificări pentru infrastructuri complexe. Este o componentă critică a Terraform.

#7. Ce înțelegeți prin Terraform Backend?

Backend-ul Terraform este platforma în care sunt stocate instantaneele de stat Terraform. În mod implicit, Terraform utilizează un backend numit local pentru a stoca starea ca fișier local pe disc. Toate celelalte backend-uri acceptate sunt un fel de serviciu de stocare la distanță.

  Cum să împiedici Chrome să adauge motoare de căutare personalizate

#8. Ce este un furnizor în Terraform?

Furnizorii din Terraform sunt pluginuri care permit Terraform să interacționeze cu furnizorii de cloud, furnizorii SaaS și alte API-uri. De exemplu, dacă intenționăm să folosim Terraform pentru a furniza infrastructura pe AWS, va trebui să declarăm un furnizor AWS în fișierele noastre de configurare.

#9. Cine întreține furnizorii Terraform?

Furnizorii sunt distribuiți separat de Terraform în sine. Ca utilizator Terraform, oricine își poate dezvolta propriii furnizori. Există unii furnizori standard care sunt menținuți în mod explicit de Hashicorp.

#10. Ce este Sentinel?

Santinelă este o politică ca instrument de cod folosit pentru a impune configurații standard pentru resursele implementate de Terraform. Poate fi folosit de organizații în scopuri de conformitate și guvernanță.

#11. Ce înțelegeți prin module în Terraform?

Un modul Terraform este un container standard pentru mai multe resurse utilizate împreună pentru furnizarea și configurarea resurselor. De exemplu, puteți crea un „modul VPC” pentru organizația dvs. care furnizează un VPC standard și alte resurse, cum ar fi subrețele și gateway-uri de internet. Modulele pot fi partajate public prin intermediul registrului Modul public și privat prin registrul Modulului privat.

#12. Care este avantajul utilizării modulelor în terraform?

Modulele Terraform ne permit să creăm o abstractizare logică în partea de sus a unui set de resurse. Utilizarea modulelor ne permite să menținem și să reutilizam o configurație standard pentru resurse. Acestea pot fi versiuni și partajate cu membrii echipelor dvs. pentru a furniza resurse într-un mod standard.

#13. Ce este Registrul Modulului Privat?

O caracteristică Terraform Cloud Registry Modul privat ne permite să partajăm module Terraform în organizația noastră.

Întrebări și răspunsuri avansate la interviu Terraform

#14. Cum putem exporta date de la un modul la altul?

Putem exporta date dintr-un modul prin definirea blocurilor de ieșire în fișierele de configurare a modulului. Aceste date pot fi apoi transferate ca parametru către modulul destinație.

#13. Cum puteți defini dependențe în Terraform?

Terraform are încorporat managementul dependențelor. Terraform are două tipuri de dependențe între resurse – dependențe implicite și explicite.

Dependențele implicite, după cum sugerează și numele, sunt detectate automat de Terraform. Acesta este momentul în care ieșirea unei „resurse A” este utilizată în „resursa B”. Terraform detectează automat că „resursa B” trebuie creată numai după „resursa A”

Dependențe explicite pot fi specificate în cazurile în care două resurse sunt dependente intern una de cealaltă, fără a partaja nicio ieșire. Acest lucru se poate face folosind parametrul depends_on din blocul de configurare.

#14. Ce sunt furnizorii în Terraform?

Furnizorii sunt resurse Terraform utilizate pentru a executa scripturi ca parte a creării sau distrugerii resurselor. Există două tipuri de furnizori în Terraform:

  • local-exec: invocă un script pe mașina care rulează Terraform.
  • remote-exec: invocă un script pe o resursă la distanță după ce este creată.
  Instrumentul de planificare a drumurilor de la Defense Driving are liste de redare, aplicații și multe altele

Furnizorii sunt menționați să fie utilizați doar ca ultimă soluție în Terraform.

#15. Ce este blocul de date extern în Terraform?

La fel ca furnizorul de exec local, bock de date extern poate fi folosit pentru a rula scripturi pe mașinile care rulează Terraform. Diferența dintre un furnizor și un bloc de date extern este că scripturile din blocul de date extern pot returna date în format JSON, în timp ce furnizorii nu pot returna nicio ieșire. Este important de reținut că blocurile de date externe sunt, de asemenea, menite să fie o ultimă soluție și nu ar trebui folosite dacă există o alternativă mai bună.

#16. Cum pot doi oameni care folosesc cloud-ul Terraform să creeze două seturi diferite de infrastructură folosind același director de lucru?

Prin utilizarea diferitelor spații de lucru. Acești utilizatori pot începe rulările Terraform în două spații de lucru separate. Fiecare spațiu de lucru are un fișier de stare propriu, așa că atâta timp cât resursele nu se suprapun, ambii utilizatori pot furniza cu succes două seturi diferite de infrastructură folosind același cod.

#17. Ce se întâmplă când mai mulți ingineri încep să implementeze infrastructura folosind același fișier de stare?

Terraform are o caracteristică foarte importantă numită „blocare de stat”. Această caracteristică asigură că nu se fac modificări în fișierul de stare în timpul unei rulări și previne coruperea fișierului de stare. Este important de reținut că nu toate backend-urile Terraform acceptă funcția de blocare a stării. Ar trebui să alegeți backend-ul potrivit dacă această caracteristică este o cerință.

#18. Ce este o resursă nulă în Terraform?

O resursă nulă terraform este o configurație care rulează ca un bloc de resurse terraform standard, dar nu creează nicio resursă. Aceasta poate suna ca o resursă ciudată și inutilă, dar poate fi utilă în diferite situații pentru a evita limitările în Terraform.

#19. Cum puteți utiliza același furnizor în Terraform cu configurații diferite?

Prin utilizarea argumentului alias în blocul furnizorului.

#20. Aveți un fișier de configurare Terraform fără resurse. Ce se întâmplă când rulați comanda terraform apply?

Terraform va distruge toate resursele. Pornirea unei rulări goale cu comanda terraform apply este exact aceeași cu pornirea rulării terraform destroy.

#21. Ce se întâmplă dacă o resursă a fost creată cu succes în terraform, dar a eșuat în timpul provizionării?

Acesta este un scenariu puțin probabil, dar atunci când se întâmplă acest lucru, resursa este marcată ca contaminată și poate fi recreată prin repornirea rulării terraformei.

#22. Care valoare a variabilei TF_LOG furnizează înregistrarea CEL MAI verbosă?

TRACE este cea mai verbosă și valoarea implicită a variabilei TF_LOG.

#23. Cum puteți importa resursele existente în Terraform Management?

Folosind comanda terraform import.

#24. Ce comandă poate fi folosită pentru a previzualiza planul de execuție a terraformei?

Comanda terraform plan generează planul de execuție al modificărilor pe care Terraform le va face infrastructurii.

#25. Ce comandă poate fi folosită pentru a reconcilia starea Terraform cu infrastructura reală din lumea reală?

Comanda terraform apply -refresh-only este utilizată pentru a reconcilia starea Terraform cu infrastructura reală din lumea reală. Este noua alternativă la comanda terraform refresh, care este acum depreciată.

#26. Ce comandă poate fi folosită pentru a comuta între spațiile de lucru atunci când utilizați Terraform Cloud?

Comanda terraform workspace select este folosită pentru a alege un alt spațiu de lucru.

#27. Ce comandă este utilizată pentru a efectua validarea sintaxei pe fișierele de configurare terraform?

Comanda terraform validate este utilizată pentru a verifica dacă o configurație este validă sintactic și consecventă intern.

#28. Ce comandă este folosită pentru a crea noi spații de lucru în cloud Terraform?

Comanda terraform workspace new este folosită pentru a crea un nou spațiu de lucru.

Alte comenzi importante de terraform pentru interviuri tehnice.

  • terraform init: Inițializează backend-urile la distanță; descarcă furnizorii și modulele de la distanță definite în configurația dvs.
  • terraform init -upgrade: folosit pentru a actualiza furnizorii existenți descărcați.
  • plan terraform: generează planul de execuție pentru crearea sau actualizarea infrastructurii.
  • terraform apply: creează sau actualizează infrastructura după ce solicită confirmarea utilizatorului.
  • terraform apply –auto-approve: creează sau actualizează infrastructura; etapa de aprobare a utilizatorului este omisă.
  • terraform destroy: șterge infrastructura după ce a solicitat confirmarea utilizatorului.
  • terraform destroy –auto-approve: șterge infrastructura; etapa de aprobare a utilizatorului este omisă.
  • terraform fmt: scanează directorul curent pentru fișiere de configurare și le formatează conform stilului și formatului canonic HCP.
  • terraform fmt –recursive: scanează directorul curent, precum și subdirectoarele pentru fișiere de configurare și le formatează conform stilului și formatului canonic HCP.
  • terraform show: oferă o ieșire care poate fi citită de om dintr-un fișier de stare sau plan.

Sper că informațiile de mai sus vă vor ajuta să obțineți un loc de muncă Terraform.