Представљамо вам 28 питања и одговора са интервјуа за Терраформ, заједно са објашњењима и списком кључних команди које се често користе током процеса интервјуа.
Са растом употребе технологија у облаку, отвориле су се бројне могућности у свету ДевОпс-а. У будућности, знање о технологијама у облаку биће од суштинске важности за интервјуе, а основно разумевање облака и инфраструктуре као кода (IaC) алата постаће неопходно за ДевОпс позиције.
Шта је Терраформ?
Терраформ је један од најпопуларнијих IaC алата, који широко користе инжењери облака. Омогућава дефинисање и ресурса у облаку и локалних ресурса путем конфигурационих фајлова читљивих људима, што обезбеђује ове ресурсе програмски. Кључна предност Терраформа је његова флексибилност – није ограничен на једног добављача облака, што га разликује од већине IaC алата. Можете користити Терраформ за истовремено покретање апликација на више cloud платформи.
Уколико се питате које технологије Терраформ подржава, ево кратке листе:
Да бисте напредовали у каријери као ДевОпс инжењери, cloud архитекти, програмери или администратори, неминовно ћете се сусрести са питањима о Терраформу на интервјуима. Зато смо припремили листу најчешћих питања која ће вам помоћи да унапредите своје знање о Терраформу.
Општа питања и одговори за интервју о Терраформу
#1. Шта подразумевате под Терраформом?
Терраформ је IaC алат отвореног кода креиран од стране HashiCorp. Користи се за креирање, ажурирање, брисање и верзионирање инфраструктуре на више cloud платформи.
#2. Који су разлози за одабир Терраформа за ДевОпс?
Кориштење Терраформа за обезбеђивање инфраструктуре смањује ризик од људских грешака, побољшавајући квалитет, доследност и ефикасност cloud и on-premise инфраструктуре. Терраформ користи HCL језик, који је сличан JSON-у и лак је за учење и коришћење. За разлику од других IaC алата, попут CloudFormation за AWS, Терраформ се може користити са више cloud платформи истовремено. Ово елиминише потребу за учењем више IaC алата и побољшава сарадњу.
#3. Како функционише Терраформ?
Терраформ користи додатке, тзв. Терраформ провајдере, за интеракцију са API-јима cloud платформи и обезбеђивање ресурса. Процес рада за крајњег корисника се састоји од три корака:
Писање: Писање инфраструктуре као кода.
Планирање: Преглед промена које ће Терраформ направити пре примене.
Примена: Обезбеђивање инфраструктуре и примена промена.
#4. Шта подразумевате под Терраформ Цлоуд?
Терраформ Цлоуд је удаљено окружење оптимизовано за Терраформ workflow. Пружа функционалности као што су радни простори и закључавање стања, олакшавајући сарадњу великим тимовима.
#5. Шта разумете под „Стате“ у Терраформу?
Као IaC алат, Терраформ мора бити свестан тренутног стања конфигурације и инфраструктуре коју контролише. Ове информације се чувају у фајлу стања.
#6. Која је корист од Терраформ „Стате“?
Терраформ „Стате“ омогућава Терраформу да мапира ресурсе из стварног света у вашу конфигурацију, прати метаподатке и побољшава перформансе при планирању промена за сложену инфраструктуру. То је кључна компонента Терраформа.
#7. Шта разумете под Терраформ „Backend“?
Терраформ „backend“ је платформа где се чувају „snapshot-ови“ Терраформ стања. Подразумевано, Терраформ користи „local backend“ за чување стања као локалне датотеке на вашем диску. Сви остали подржани „backend-и“ су сервиси за удаљено складиштење.
#8. Шта је провајдер у Терраформу?
Провајдери у Терраформу су додаци који омогућавају Терраформу да комуницира са cloud добављачима, SaaS провајдерима и другим API-јима. На пример, ако планирамо да користимо Терраформ за обезбеђивање инфраструктуре на AWS-у, мораћемо да декларишемо AWS провајдера у нашим конфигурационим фајловима.
#9. Ко одржава Терраформ провајдере?
Провајдери се дистрибуирају одвојено од самог Терраформа. Свако може развити сопствене провајдере. Постоје и стандардни провајдери које одржава Хасхицорп.
#10. Шта је Сентинел?
Сентинел је алат за политике као код који се користи за спровођење стандардних конфигурација за ресурсе које Терраформ примењује. Организације га могу користити у сврхе усклађености и управљања.
#11. Шта разумете под модулима у Терраформу?
Терраформ модул је стандардни контејнер за више ресурса који се користе заједно за обезбеђивање и конфигурисање ресурса. На пример, можете креирати „ВПЦ модул“ који обезбеђује стандардни ВПЦ, подмреже и интернет мрежне пролазе. Модули се могу делити јавно преко јавног регистра модула и приватно преко регистра приватних модула.
#12. Која је корист од коришћења модула у Терраформу?
Терраформ модули омогућавају креирање логичке апстракције на врху скупа ресурса. Омогућавају одржавање и поновно коришћење стандардне конфигурације ресурса. Могу се верзионисати и делити са члановима тима ради обезбеђивања ресурса на стандардизован начин.
#13. Шта је регистар приватног модула?
Функција регистра приватног модула у Терраформ Цлоуд-у омогућава дељење Терраформ модула унутар организације.
Напредна питања и одговори за интервју о Терраформу
#14. Како можемо извести податке из једног модула у други?
Можемо извозити податке из модула дефинисањем „output“ блокова у конфигурационим фајловима модула. Ти подаци се могу пренети као параметар у одредишни модул.
#13. Како можете дефинисати зависности у Терраформу?
Терраформ има уграђено управљање зависношћу. Постоје две врсте зависности између ресурса – имплицитне и експлицитне зависности.
Имплицитне зависности, како само име каже, Терраформ аутоматски открива. На пример, када се излаз „ресурса А“ користи у „ресурсу Б“, Терраформ аутоматски препознаје да „ресурс Б“ треба да се креира након „ресурса А“.
Експлицитне зависности се дефинишу када су два ресурса зависна један од другог без дељења излаза. Ово се постиже коришћењем параметра „depends_on“ у конфигурационом блоку.
#14. Шта су „Provisioners“ у Терраформу?
Провајдери су Терраформ ресурси који се користе за извршавање скрипти као део креирања или уништавања ресурса. Постоје две врсте провајдера:
- „local-exec“: позива скрипту на машини на којој ради Терраформ.
- „remote-exec“: позива скрипту на удаљеном ресурсу након што је креиран.
Провајдери се користе као последње решење у Терраформу.
#15. Шта је спољни блок података у Терраформу?
Слично као „local-exec“ провајдер, спољни блок података се користи за покретање скрипти на машинама које користе Терраформ. Разлика је у томе што скрипте у спољном блоку података могу да врате податке у JSON формату, док провајдери не могу. Спољни блокови података су такође последње решење и не користе се ако постоји боља алтернатива.
#16. Како две особе које користе Терраформ Цлоуд могу креирати два различита скупа инфраструктуре користећи исти радни директоријум?
Користећи различите радне просторе. Корисници могу покретати Терраформ процесе у два одвојена радна простора. Сваки радни простор има свој фајл стања, тако да, док се ресурси не преклапају, оба корисника могу успешно обезбедити два различита скупа инфраструктуре користећи исти код.
#17. Шта се дешава када више инжењера почне да примењује инфраструктуру користећи исти фајл стања?
Терраформ има функцију „закључавања стања“, која осигурава да се у фајлу стања не врше промене током покретања и спречава оштећење фајла. Не подржавају сви „backend-и“ закључавање стања, зато је важно одабрати прави ако је та функција неопходна.
#18. Шта је „null resource“ у Терраформу?
Терраформ „null resource“ је конфигурација која се понаша као стандардни Терраформ ресурс блок, али не креира ресурсе. Може бити користан у различитим ситуацијама за заобилажење ограничења у Терраформу.
#19. Како можете користити истог провајдера у Терраформу са различитим конфигурацијама?
Користећи алиас аргумент у блоку провајдера.
#20. Имате Терраформ конфигурациони фајл без ресурса. Шта се дешава када покренете команду „terraform apply“?
Терраформ ће уништити све ресурсе. Покретање празне примене је исто као покретање команде за уништавање.
#21. Шта се дешава ако је ресурс успешно креиран у Терраформу, али није успео током обезбеђивања?
Иако је ретко, ресурс је означен као оштећен и може се поново креирати поновним покретањем Терраформ процеса.
#22. Која вредност променљиве „TF_LOG“ пружа најдетаљније евидентирање?
„TRACE“ је најдетаљнија и подразумевана вредност променљиве „TF_LOG“.
#23. Како можете да увезете постојеће ресурсе под Терраформ управљање?
Користећи команду „terraform import“.
#24. Која команда се користи за преглед плана извршења Терраформа?
Команда „terraform plan“ генерише план промена које ће Терраформ применити на инфраструктуру.
#25. Која команда се користи за усклађивање стања Терраформа са стварном инфраструктуром?
Команда „terraform apply -refresh-only“ се користи за усклађивање стања са стварном инфраструктуром. Она је замена за команду „terraform refresh“ која је застарела.
#26. Која команда се користи за пребацивање између радних простора у Терраформ Цлоуд?
Команда „terraform workspace select <име-радног-простора>“ се користи за избор другог радног простора.
#27. Која команда се користи за проверу синтаксе у Терраформ конфигурационим фајловима?
Команда „terraform validate“ се користи за проверу да ли је конфигурација синтаксно исправна и интерно конзистентна.
#28. Која команда се користи за креирање нових радних простора у Терраформ Цлоуд?
Команда „terraform workspace new <име-радног-простора>“ се користи за креирање новог радног простора.
Неке друге важне Терраформ команде за техничке интервјуе
- „terraform init“: Иницијализује удаљене „backend-е“, преузима провајдере и удаљене модуле дефинисане у конфигурацији.
- „terraform init -upgrade“: Користи се за надоградњу постојећих преузетих провајдера.
- „terraform plan“: Генерише план извршења за креирање или ажурирање инфраструктуре.
- „terraform apply“: Креира или ажурира инфраструктуру након потврде од стране корисника.
- „terraform apply –auto-approve“: Креира или ажурира инфраструктуру без фазе потврде од стране корисника.
- „terraform destroy“: Брише инфраструктуру након потврде од стране корисника.
- „terraform destroy –auto-approve“: Брише инфраструктуру без фазе потврде од стране корисника.
- „terraform fmt“: Скенира текући директоријум у потрази за конфигурационим фајловима и форматира их према HCL стилу.
- „terraform fmt –recursive“: Скенира текући директоријум и поддиректоријуме у потрази за конфигурационим фајловима и форматира их према HCL стилу.
- „terraform show“: Пружа излаз у читљивом формату из фајла стања или плана.
Надамо се да ће вам ове информације помоћи да се запослите у области Терраформа.