Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Чунин ба назар мерасад, ки таҳиягарони Terraform таҷрибаҳои беҳтаринро барои кор бо инфрасохтори AWS пешниҳод мекунанд. Танҳо як нюанс вуҷуд дорад. Бо мурури замон, шумораи муҳитҳо зиёд мешаванд, ки ҳар кадоми онҳо хусусиятҳои худро доранд. Қариб нусхаи стеки барномаҳо дар минтақаи ҳамсоя пайдо мешавад. Ва рамзи Terraform бояд мувофиқи талаботи нав бодиққат нусхабардорӣ ва таҳрир карда шавад ё ба барф табдил дода шавад.

Гузориши ман дар бораи намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ дар лоиҳаҳои калон ва дароз.

Видео:

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Ман 40-солаам, 20 сол аст, ки дар IT кор мекунам. Ман 12 сол боз дар Ixtens кор мекунам. Мо ба рушди тиҷорати электронӣ машғулем. Ва ман 5 сол боз бо таҷрибаҳои DevOps машқ мекунам.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Ҳикояи ман дар бораи таҷрибаи ман дар лоиҳа дар ширкате хоҳад буд, ки номи ӯро намегӯям ва дар паси созишномаи ифшо накардаам.

Барои фаҳмидани миқёси лоиҳа рақамҳо дар слайд нишон дода шудаанд. Ва ҳама чизе, ки ман дар оянда мегӯям, ба Amazon алоқаманд аст.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Ман 4 сол пеш ба ин лоиҳа ҳамроҳ шудам. Ва рефакторинги инфрасохтор босуръат идома дошт, зеро лоиҳа афзоиш ёфт. Ва намунаҳое, ки истифода мешуданд, дигар мувофиқ набуданд. Ва бо назардошти тамоми афзоиши ба нақша гирифташудаи лоиҳа, зарур буд, ки чизи нав пайдо кард.

Ташаккур ба Матвей, ки дирӯз ба мо нақл кард, ки дар Dodo Pizza рӯй дод. Ин 4 сол пеш дар ин ҷо рӯй дод.

Таҳиягарон омада, ба сохтани коди инфрасохтор шурӯъ карданд.

Сабабҳои равшантарин, ки чаро ин талаб карда шуд, вақти ба бозор баромадан буд. Боварӣ ҳосил кардан лозим буд, ки дастаи DevOps ҳангоми паҳнкунӣ монеа набошад. Ва дар байни чизҳои дигар, Terraform ва Puppet дар сатҳи аввал истифода мешуданд.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Terraform як лоиҳаи кушодаасос аз HashiCorp мебошад. Ва барои онҳое, ки ҳатто намедонанд, ки ин чист, чанд слайдҳои оянда.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Инфрасохтор ҳамчун код маънои онро дорад, ки мо метавонем инфрасохтори худро тавсиф кунем ва аз баъзе роботҳо хоҳиш кунем, ки мо захираҳоеро, ки мо тавсиф кардем, қабул кунем.

Масалан, ба мо мошини виртуалӣ лозим аст. Мо якчанд параметрҳои заруриро тавсиф ва илова мекунем.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Пас аз ин, мо дастрасӣ ба Amazon-ро дар консол танзим мекунем. Ва мо нақшаи Терраформро мепурсем. Нақшаи Terraform мегӯяд: "Хуб, мо метавонем ин корҳоро барои манбаи шумо иҷро кунем." Ва ҳадди аққал як манбаъ илова карда мешавад. Ва ҳеҷ гуна тағирот интизор нест.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Вақте ки шумо аз ҳама чиз қаноатмандед, шумо метавонед Terraform-ро дархост кунед, ки дархост кунад ва Terraform барои шумо як мисол эҷод мекунад ва шумо дар абри худ як мошини маҷозӣ хоҳед гирифт.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Минбаъд лоиҳаи мо инкишоф меёбад. Мо дар он ҷо баъзе тағйиротро илова мекунем. Мо мисолҳои бештарро талаб мекунем, мо 53 сабтро илова мекунем.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Ва такрор мекунем. Лутфан ба нақша гиред. Мо мебинем, ки чӣ гуна тағйирот ба нақша гирифта шудааст. Мо муроҷиат мекунем. Ва ин аст, ки инфраструктураи мо ин тавр инкишоф меёбад.

Terraform чизеро истифода мебарад, ки файлҳои давлатӣ ном дорад. Яъне, ҳама тағиротҳое, ки ба Amazon ворид мешаванд, дар файле сабт карда мешаванд, ки дар он барои ҳар як манбаи тавсифкардаи шумо захираҳои мувофиқе мавҷуданд, ки дар Амазонка сохта шудаанд. Ҳамин тариқ, вақте ки тавсифи манбаъ тағир меёбад, Terraform дақиқ медонад, ки дар Амазонка чӣ бояд тағир дода шавад.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Ин файлҳои давлатӣ дар аввал танҳо файлҳо буданд. Ва мо онҳоро дар Гит нигоҳ медоштем, ки ин хеле нороҳат буд. Касе ҳамеша тағир додани тағиротро фаромӯш мекард ва муноқишаҳои зиёде ба миён меоянд.

Акнун мумкин аст, ки пуштибониро истифода бурд, яъне Terraform муайян карда мешавад, ки файли давлатӣ дар кадом сатил ва бо кадом калид захира карда шавад. Ва худи Terraform барои гирифтани ин файли давлатӣ ғамхорӣ мекунад, тамоми ҷодугарӣ мекунад ва натиҷаи ниҳоиро баргардонад.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Инфраструктураи мо меафзояд. Ин аст рамзи мо. Ва ҳоло мо на танҳо як мошини виртуалӣ эҷод кардан мехоҳем, мо мехоҳем муҳити озмоишӣ дошта бошем.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Terraform ба шумо имкон медиҳад, ки чунин чизеро ҳамчун модул созед, яъне ҳамон чизеро дар ягон ҷузвдон тасвир кунед.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Ва, масалан, ҳангоми санҷиш, ба ин модул занг занед ва ҳамон чизеро гиред, ки гӯё мо Terraform-ро дар худи модул иҷро карда бошем. Барои санҷиш ин код хоҳад буд.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Барои истеҳсол, мо метавонем баъзе тағиротҳоро ба он ҷо фиристем, зеро ҳангоми санҷиш ба мо намунаҳои калон лозим нест; дар истеҳсолот, намунаҳои калон танҳо муфиданд.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Ва он гоҳ ман ба лоиҳа бармегардам. Ин кори душвор буд, инфраструктураи пешбинишуда хеле калон буд. Ва лозим буд, ки ҳама рамзро бо ягон роҳ ҷойгир кунем, то он барои ҳама қулай бошад: ҳам барои онҳое, ки дар ин код нигоҳдорӣ мекунанд ва ҳам барои онҳое, ки тағирот ворид мекунанд. Ва ба нақша гирифта шуда буд, ки ҳар як таҳиягар метавонад рафта, инфрасохтори заруриро барои қисми платформаи худ ислоҳ кунад.

Ин дарахти директорияест, ки аз ҷониби худи HashiCorp тавсия дода мешавад, агар шумо лоиҳаи калон дошта бошед ва маънои онро дорад, ки тамоми инфрасохторро ба қисмҳои хурд тақсим кунед ва ҳар як порчаро дар ҷузвдони алоҳида тавсиф кунед.

Бо доштани китобхонаи васеи захираҳо, шумо метавонед тақрибан як чизро дар озмоиш ва истеҳсолот даъват кунед.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Дар ҳолати мо, ин комилан мувофиқ набуд, зеро стеки санҷишӣ барои таҳиягарон ё санҷиш бояд ба таври оддӣ дастрас карда шавад. Аммо ман намехостам, ки аз папкаҳо гузарам ва онҳоро бо пайдарпаии лозимӣ татбиқ кунам ва хавотир шавам, ки пойгоҳи додаҳо афзоиш меёбад ва он гоҳ мисоле, ки ин пойгоҳи додаҳоро истифода мебарад, боло меравад. Аз ин рӯ, ҳама санҷишҳо аз як папка оғоз карда шуданд. Дар он ҷо ҳамон модулҳо даъват карда шуданд, аммо ҳама чиз дар як кор анҷом дода шуд.

Terraform ҳамаи вобастагиҳоро нигоҳубин мекунад. Ва он ҳамеша захираҳоро бо пайдарпай эҷод мекунад, то шумо метавонед суроғаи IP-ро, масалан, аз як мисоли навтаъсис дастрас кунед ва ин суроғаи IP-ро дар сабти route53 гиред.

Илова бар ин, платформа хеле калон аст. Ва ба кор андохтани стеки санҷишӣ, ҳатто агар барои як соат, ҳатто агар барои 8 соат, як кори хеле гаронбаҳост.

Ва мо ин корро автоматӣ кардем. Ва кори Ҷенкинс ба мо имкон дод, ки стекро идора кунем. Дар он зарур буд, ки дархости кашиданро бо тағиротҳое, ки таҳиякунанда мехоҳад озмоиш кунад, ҳама имконоти зарурӣ, ҷузъҳо ва андозаҳоро муайян кунад. Агар ӯ мехоҳад, ки санҷиши иҷроиш, пас ӯ метавонад мисолҳои бештар бигирад. Агар ӯ танҳо бояд тафтиш кунад, ки ягон варақ кушода мешавад, пас ӯ метавонад аз ҳадди ақали музди меҳнат оғоз кунад. Ва инчунин нишон диҳед, ки кластер лозим аст ё не ва ғайра.

Ва он гоҳ Ҷенкинс як скрипти ҷилдиро тела дод, ки кодро дар папкаи Terraform каме тағир дод. Ман файлҳои нолозимро нест кардам ва файлҳои заруриро илова кардам. Ва он гоҳ бо як давидаи Terraform стек баланд шуд.

Ва он гоҳ қадамҳои дигаре буданд, ки ман намехоҳам ба онҳо дохил шавам.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Аз сабаби он, ки барои санҷиш ба мо нисбат ба истеҳсол имконоти каме бештар лозим буд, мо маҷбур шудем, ки модулҳоро нусхабардорӣ кунем, то дар ин нусхаҳо мо он хусусиятҳоеро илова кунем, ки танҳо барои санҷиш лозим буданд.

Ва чунин шуд, ки ҳангоми санҷиш ман мехоҳам он тағиротро санҷам, ки дар ниҳоят ба истеҳсолот ворид мешаванд. Аммо дар хакикат як чиз санчида шуда буд ва чизи каме дигар дар истехсолот истифода мешуд. Ва як танаффуси хурд дар намунае буд, ки дар истеҳсолот тамоми тағйирот аз ҷониби дастаи амалиётӣ татбиқ карда шуд. Ва баъзан маълум шуд, ки он тағиротҳое, ки бояд аз озмоиш ба истеҳсолот мегузаранд, дар версияи дигар боқӣ мондаанд.

Илова бар ин, чунин мушкилот вуҷуд дошт, ки хидмати нав илова карда шуд, ки аз баъзе хидматҳои мавҷуда каме фарқ мекард. Ва ба ҷои тағир додани модули мавҷуда, мо маҷбур шудем, ки онро нусхабардорӣ кунем ва тағироти заруриро илова кунем.

Аслан, Terraform забони воқеӣ нест. Ин эъломия аст. Агар мо бояд чизеро эълон кунем, пас мо онро эълон мекунем. Ва ҳамааш кор мекунад.

Дар баъзе мавридҳо, вақте ки яке аз дархостҳои ман муҳокима карда мешуд, яке аз ҳамкорони ман гуфт, ки зарурати эҷод кардани барфҳо нест. Ман ҳайрон будам, ки ӯ чӣ маъно дорад. Як далели илмӣ вуҷуд дорад, ки дар ҷаҳон ду дона барфҳои якхела вуҷуд надоранд, ҳамаашон каме фарқ мекунанд. Ва ҳамин ки ман инро шунидам, ман дарҳол вазни пурраи рамзи Терраформро ҳис кардам. Зеро вақте ки аз версия ба версия гузаштан лозим буд, Terraform тағир додани занҷирро талаб мекард, яъне код дигар бо версияи навбатӣ мувофиқ набуд. Ва мо маҷбур шудем, ки дархости ҷалб кунем, ки тақрибан нисфи файлҳои инфрасохторро дар бар мегирифт, то инфрасохторро ба версияи навбатии Terraform расонем.

Ва пас аз пайдо шудани чунин барф, тамоми рамзи Terraform, ки мо ба як тудаи калони барф табдил дода будем.

Барои як таҳиягари беруна, ки берун аз амалиёт аст, ин барои ӯ чандон муҳим нест, зеро ӯ дархости кашиданро дод, манбаи ӯ оғоз ёфт. Ва ин ҳама, ин дигар ташвиши ӯ нест. Ва дастаи DevOps, ки боварӣ ҳосил мекунад, ки ҳама чиз хуб аст, бояд ҳамаи ин тағиротҳоро анҷом диҳад. Ва арзиши ин тағирот бо ҳар як барфпораи иловагӣ хеле зиёд шуд.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Ҳикояе ҳаст, ки чӣ тавр донишҷӯ дар семинар бо вуҷур дар тахтаи синф ду доираи комил мекашад. Муаллим бошад, дар хайрат мемонад, ки чй тавр вай бе компас ин кадар хамвор расм кашидааст. Донишҷӯ ҷавоб медиҳад: «Хеле оддӣ, ман ду сол дар артиш дастархони мошингард кардам».

Ва аз чор соле, ки ман дар ин лоиҳа иштирок доштам, тақрибан ду сол боз Terraform-ро иҷро кардам. Ва, албатта, ман якчанд ҳилаҳо, чанд маслиҳат дар бораи содда кардани рамзи Terraform, бо он ҳамчун забони барномасозӣ кор кардан ва бори гарони таҳиягароне, ки бояд ин кодро то имрӯз нигоҳ доранд, кам кунам.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Аввалин чизе, ки ман мехоҳам бо он оғоз кунам, ин Symlinks аст. Terraform дорои рамзи такроршаванда мебошад. Масалан, занг ба провайдер тақрибан дар ҳама нуқтаҳое, ки мо як инфрасохторро эҷод мекунем, якхела аст. Ва онро дар папкаи алоҳида гузоштан мантиқист. Ва дар ҳама ҷое, ки провайдер талаб карда мешавад, ки ба ин файл Symlinks созад.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Масалан, дар истеҳсолот шумо нақшро истифода мебаред, ки ба шумо имкон медиҳад ҳуқуқи дастрасӣ ба баъзе ҳисоби берунаи Amazon ба даст оред. Ва бо иваз кардани як файл, ҳамаи файлҳои боқимондаи дарахти захираҳо ҳуқуқҳои заруриро доранд, то Terraform донад, ки ба кадом сегменти Amazon дастрасӣ пайдо кунад.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Дар куҷо Symlinks ноком мешавад? Тавре ки ман гуфтам, Terraform дорои файлҳои давлатӣ мебошад. Ва онҳо хеле, хеле сарданд. Аммо гап дар он аст, ки Terraform дар ҷои аввал пуштибониро оғоз мекунад. Ва ӯ наметавонад ягон тағирёбандаро дар ин параметрҳо истифода барад; онҳо бояд ҳамеша дар матн навишта шаванд.

Ва дар натиҷа, вақте ки касе манбаи нав месозад, ӯ як қисми рамзро аз ҷузвдонҳои дигар нусхабардорӣ мекунад. Ва ӯ метавонад бо калид ё бо сатил хато кунад. Масалан, вай аз регзор чизи регдор месозад ва баъд онро дар истехсолот месозад. Ва аз ин рӯ, маълум мешавад, ки сатил дар истеҳсолот аз қуттии қум истифода мешавад. Албатта, зуд пайдо мекунанд. Инро бо рохе ислох кардан мумкин аст, вале бо вучуди ин сарфи бехудаи вакт ва то андозае захирахо мебошад.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Мо минбаъд чӣ кор карда метавонем? Пеш аз кор бо Terraform, шумо бояд онро оғоз кунед. Ҳангоми оғозёбӣ, Terraform ҳама плагинҳоро зеркашӣ мекунад. Дар баъзе лаҳзаҳо онҳо аз як монолит ба меъмории бештари микросервис тақсим шуданд. Ва ба шумо ҳамеша лозим аст, ки Terraform init -ро иҷро кунед, то он ҳама модулҳо ва плагинҳоро боло барад.

Ва шумо метавонед як скрипти ҷилдиро истифода баред, ки аввалан ҳама тағирёбандаҳоро гирифта метавонад. Скрипти ниҳонӣ ба ҳеҷ ваҷҳ маҳдуд нест. Ва, дуюм, роҳҳо. Агар мо ҳамеша роҳеро, ки дар анбор аст, ҳамчун калиди файли давлатӣ истифода барем, пас, мувофиқан, хато дар ин ҷо бартараф карда мешавад.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Ман маълумотро аз куҷо гирифта метавонам? файли JSON. Terraform ба шумо имкон медиҳад, ки инфрасохторро на танҳо дар hcl (Забони конфигуратсияи HashiCorp), балки дар JSON низ нависед.

JSON-ро аз скрипти shell хондан осон аст. Бинобар ин, шумо метавонед файли конфигуратсияро бо сатил дар ягон ҷой гузоред. Ва ин сатилро ҳам дар рамзи Terraform ва ҳам дар скрипти shell барои оғозёбӣ истифода баред.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Чаро доштани сатил барои Terraform муҳим аст? Зеро чунин чизе ба монанди файлҳои давлатии дурдаст вуҷуд дорад. Яъне, вақте ки ман баъзе захираҳоро ҷамъ мекунам, то ба Амазонка бигӯям: "Лутфан, мисолро баланд кунед", ман бояд бисёр параметрҳои заруриро муайян кунам.

Ва ин идентификаторҳо дар ягон ҷузвдони дигар нигоҳ дошта мешаванд. Ва ман метавонам рафта бигӯям: "Terraform, лутфан ба файли давлатии худи ҳамон манба равед ва ин идентификаторҳоро ба ман гиред." Ва ҳамин тавр, дар байни минтақаҳо ё муҳитҳои гуногун муттаҳидшавии муайян пайдо мешавад.

Истифодаи файли ҳолати дурдаст на ҳамеша имконпазир аст. Масалан, шумо VPC-ро дастӣ сохтаед. Ва рамзи Terraform, ки VPC-ро эҷод мекунад, чунон VPC-ҳои гуногунро эҷод мекунад, ки он вақти хеле тӯлонӣ мегирад ва шумо бояд якеро ба дигаре мутобиқ кунед, то шумо метавонед ҳиллаи зеринро истифода баред.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Яъне, модуле созед, ки гӯё VPC месозад ва ба шумо идентификаторҳо медиҳад, аммо дар асл танҳо як файле мавҷуд аст, ки арзишҳои сахт рамзгузорӣ шудааст, ки метавонад барои эҷоди як мисол истифода шавад.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

На ҳамеша зарур аст, ки файли давлатиро дар абр захира кунед. Масалан, ҳангоми санҷиши модулҳо, шумо метавонед инициализатсияи пуштибониро истифода баред, ки дар он файл танҳо дар вақти санҷиш дар диск захира карда мешавад.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Акнун каме дар бораи санҷиш. Дар Terraform чиро санҷидан мумкин аст? Шояд бисёр чиз имконпазир бошад, аммо ман дар бораи ин 4 чиз гап мезанам.

HashiCorp дарк мекунад, ки чӣ тавр рамзи Terraform бояд формат карда шавад. Ва Terraform fmt ба шумо имкон медиҳад, ки коди мувофиқи ин эътиқод таҳриркардаатонро формат кунед. Аз ин рӯ, санҷишҳо бояд ҳатман санҷанд, ки оё форматкунӣ ба он чизе, ки HashiCorp васият кардааст, мувофиқат мекунад, то иваз кардани ҷойгиршавии қавс ва ғайра зарурат надошта бошад.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Навбати дигар Terraform validate мебошад. Он аз тафтиши синтаксис каме бештар кор мекунад - ала, оё ҳамаи қавсҳо ҷуфт карда шудаанд. Дар ин ҷо чӣ муҳим аст? Инфраструктураи мо хеле васеъ аст. Дар он даддо бисьёр гуногунанд. Ва дар ҳар як шумо бояд Terraform validate -ро иҷро кунед.

Мувофиқи он, барои суръат бахшидан ба санҷиш, мо равандҳои сершуморро дар баробари параллел иҷро мекунем.

Параллел як чизи хеле олӣ аст, онро истифода баред.

Аммо ҳар дафъае, ки Terraform оғоз мекунад, он ба HashiCorp меравад ва мепурсад: "Вусхаҳои охирини плагинҳо кадомҳоянд? Ва плагине, ки ман дар кэш дорам - оё он дуруст аст ё нодуруст?" Ва ин дар хар кадам суст мешуд.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Агар шумо Terraform-ро гӯед, ки плагинҳо дар куҷоянд, Terraform мегӯяд: "Хуб, ин эҳтимол чизи охиринест, ки дар он ҷост. Ман ба ҳеҷ куҷо намеравам, ман фавран ба тасдиқи рамзи Terraform-и шумо шурӯъ мекунам."

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Барои пур кардани ҷузвдон бо плагинҳои зарурӣ, мо рамзи хеле соддаи Terraform дорем, ки танҳо бояд оғоз карда шавад. Дар ин ҷо, албатта, шумо бояд ҳамаи провайдерҳоеро, ки дар коди шумо ягон хел иштирок мекунанд, муайян кунед, вагарна Terraform мегӯяд: "Ман провайдери муайянеро намедонам, зеро он дар кэш нест."

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Оянда нақшаи Terraform аст. Тавре ки ман гуфтам, рушд давравӣ аст. Мо ба код тағйирот ворид мекунем. Ва он гоҳ шумо бояд бифаҳмед, ки чӣ гуна тағйирот дар инфрасохтор ба нақша гирифта шудааст.

Ва ҳангоме ки инфрасохтор хеле ва хеле калон аст, шумо метавонед як модулро иваз кунед, баъзе муҳити озмоишӣ ё минтақаи мушаххасро ислоҳ кунед ва баъзеи ҳамсояро вайрон кунед. Аз ин рӯ, нақшаи Terraform бояд барои тамоми инфрасохтор таҳия карда шавад ва нишон диҳад, ки чӣ гуна тағирот ба нақша гирифта шудааст.

Шумо инро оқилона карда метавонед. Масалан, мо скрипти Python навиштем, ки вобастагиҳоро ҳал мекунад. Ва вобаста ба он чизе, ки тағир дода шудааст: модули Terraform ё танҳо як ҷузъи мушаххас, он барои ҳама ҷузвдонҳои вобаста нақшаҳо месозад.

Нақшаҳои терраформӣ бояд тибқи дархост тартиб дода шаванд. Ҳадди аққал ин корест, ки мо мекунем.

Албатта, хуб аст, ки санҷишҳо барои ҳар як тағирот, барои ҳар як ӯҳдадорӣ анҷом дода шаванд, аммо нақшаҳо чизи хеле гаронбаҳо мебошанд. Ва дар дархости ҷалб мо мегӯем: "Лутфан, нақшаҳоро ба ман диҳед." Робот оғоз меёбад. Ва дар шарҳҳо мефиристад ё ҳама нақшаҳоеро, ки аз тағиротҳои шумо интизоранд, замима мекунанд.

Нақша як чизи хеле қимат аст. Ин вақт мегирад, зеро Terraform ба Амазонка меравад ва мепурсад: "Оё ин мисол то ҳол вуҷуд дорад? Оё ин автоматикӣ параметрҳои якхела дорад? ” Ва барои суръат бахшидан ба ин, шумо метавонед параметреро истифода баред, ба монанди refresh=false. Ин маънои онро дорад, ки Terraform ҳолатро аз S3 зеркашӣ мекунад. Ва он боварӣ дорад, ки давлат ба он чизе ки дар Амазонка аст, мувофиқат мекунад.

Чунин нақшаи Terraform хеле тезтар мегузарад, аммо давлат бояд ба инфрасохтори шумо мувофиқат кунад, яъне дар ҷое, баъзан навсозии Terraform бояд оғоз шавад. Навсозии Terraform маҳз ҳамин тавр мекунад: ҳолати он чизе, ки дар инфрасохтори воқеӣ мавҷуд аст, мувофиқат мекунад.

Ва мо бояд дар бораи бехатарӣ сӯҳбат кунем. Дар ин ҷо мо бояд оғоз кунем. Дар ҷое, ки шумо Terraform ва Terraform дар инфрасохтори шумо кор мекунанд, осебпазирӣ вуҷуд дорад. Яъне, шумо аслан кодро иҷро мекунед. Ва агар дархости кашидан ягон намуди рамзи зараровар дошта бошад, он гоҳ онро дар инфрасохторе, ки дастрасии аз ҳад зиёд дорад, иҷро кардан мумкин аст. Пас, эҳтиёт шавед, ки нақшаи Terraform-ро дар куҷо иҷро мекунед.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Чизи навбатие, ки ман мехоҳам дар бораи он сӯҳбат кунам, ин санҷиши додаҳои корбар аст.

Маълумоти корбар чист? Дар Амазонка, вақте ки мо як мисол эҷод мекунем, мо метавонем бо инстансия як номаи муайян фиристем - meta data. Вақте ки мисол оғоз меёбад, одатан init абр ҳамеша дар ин ҳолатҳо мавҷуд аст. Cloud init ин номаро мехонад ва мегӯяд: "Хуб, имрӯз ман мувозинати сарборӣ ҳастам." Ва мувофиқи ин паймонҳо баъзе амалҳоро анҷом медиҳад.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Аммо, мутаассифона, вақте ки мо нақшаи Terraform ва татбиқи Terraform месозем, маълумоти корбар ба ин гуна рақамҳо монанд аст. Яъне, ӯ танҳо ба шумо ҳаш мефиристад. Ва ҳама чизеро, ки шумо метавонед дар нақша бубинед, ин аст, ки оё ягон тағирот ба амал меояд ё ҳаш бетағйир мемонад.

Ва агар шумо ба ин аҳамият надиҳед, пас баъзе файли матнии шикаста метавонад дар Amazon, дар инфрасохтори воқеӣ хотима ёбад.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Интихобан, ҳангоми иҷроиш, шумо метавонед на тамоми инфрасохторро, балки танҳо қолабро муайян кунед. Ва дар код бигӯед: "Лутфан ин қолабро дар экрани ман намоиш диҳед." Ва дар натиҷа, шумо метавонед чопи маълумоти шумо дар Amazon чӣ гуна хоҳад буд, гиред.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Варианти дигар ин истифодаи модул барои тавлиди маълумоти корбар аст. Шумо ин модулро татбиқ хоҳед кард. Шумо файлро дар диск қабул мекунед. Онро бо истинод муқоиса кунед. Ва ҳамин тавр, агар ягон бача тасмим гирад, ки маълумоти корбарро каме ислоҳ кунад, пас санҷишҳои шумо мегӯянд: "Хуб, дар ин ҷо ва дар он ҷо баъзе тағиротҳо мавҷуданд - ин муқаррарӣ аст."

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Чизи навбатӣ, ки ман мехоҳам дар бораи он сӯҳбат кунам, ин автоматикунонии Terraform аст.

Албатта, ба таври худкор татбиқ кардани Terraform хеле даҳшатнок аст, зеро кӣ медонад, ки чӣ гуна тағирот дар он ҷо рух додааст ва онҳо барои инфрасохтори зиндагӣ то чӣ андоза харобиовар буда метавонанд.

Барои муҳити санҷиш, ин ҳама муқаррарӣ аст. Яъне коре, ки муҳити санҷиширо фароҳам меорад, он чизест, ки ба ҳама таҳиягарон ниёз дорад. Ва иборае ба монанди "ҳама чиз барои ман кор кард" як меми хандаовар нест, балки далели он аст, ки шахс ошуфтааст, стек боло кардааст ва дар ин стек якчанд санҷишҳо гузаронидааст. Ва ӯ боварӣ ҳосил кард, ки дар он ҷо ҳама чиз хуб аст ва гуфт: "Хуб, коде, ки ман мебарорам, санҷида шуд."

Дар истеҳсолот, қуттии қум ва дигар муҳитҳое, ки барои тиҷорат бештар муҳиманд, шумо метавонед қисман баъзе захираҳоро комилан бехатар истифода баред, зеро ин боиси марги касе намегардад. Инҳоянд: гурӯҳҳои автоматикӣ, гурӯҳҳои амниятӣ, нақшҳо, маршрут53 ва рӯйхат дар он ҷо метавонад хеле калон бошад. Аммо бодиққат нигоҳ кунед, ки чӣ рӯй дода истодааст, гузоришҳои автоматии барномаро хонед.

Дар он ҷое, ки татбиқ кардан хатарнок ё даҳшатнок аст, масалан, агар инҳо баъзе захираҳои доимии пойгоҳи додаҳо бошанд, пас гузоришҳо дар бораи мавҷудияти тағйироти татбиқнашуда дар баъзе қисмҳои инфрасохторро гиред. Ва муҳандис, таҳти назорат, барои муроҷиат кардан корҳоро оғоз мекунад ё онро аз консолаш иҷро мекунад.

Amazon дорои чунин чизест, ки Муҳофизати қатъ кардан. Ва он метавонад дар баъзе ҳолатҳо аз тағйироте, ки барои шумо талаб карда намешавад, муҳофизат кунад. Яъне, Терраформ ба Амазонка рафт ва гуфт: "Ман бояд ин мисолро бикушам, то дигареро созам." Ва Amazon мегӯяд: "Бубахшед, имрӯз не. Мо муҳофизати қатъӣ дорем."

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Ва яхбандии торт оптимизатсияи код аст. Вақте ки мо бо рамзи Terraform кор мекунем, мо бояд шумораи хеле зиёди параметрҳоро ба модул гузаронем. Инҳо параметрҳое мебошанд, ки барои эҷоди як намуди захираҳо заруранд. Ва код ба рӯйхатҳои калони параметрҳо табдил меёбад, ки бояд аз модул ба модул, аз модул ба модул гузаранд, хусусан агар модулҳо лона бошанд.

Ва хондан хеле душвор аст. Баррасии ин хеле душвор аст. Ва аксар вақт маълум мешавад, ки баъзе параметрҳо аз назар гузаронида мешаванд ва онҳо маҳз он чизе, ки лозим нест. Ва ин барои ислоҳи минбаъда вақт ва пул лозим аст.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Аз ин рӯ, ман тавсия медиҳам, ки шумо чунин чизеро ҳамчун параметри мураккаб истифода баред, ки дарахти муайяни арзишҳоро дар бар мегирад. Яъне, ба шумо як намуди ҷузвдон лозим аст, ки дар он шумо тамоми арзишҳоеро доред, ки мехоҳед дар ягон муҳит дошта бошед.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Ва бо занг задан ба ин модул шумо метавонед дарахтеро гиред, ки дар як модули умумӣ тавлид шудааст, яъне дар як модули умумӣ, ки барои тамоми инфрасохтор якхела кор мекунад.

Дар ин модул шумо метавонед бо истифода аз чунин хусусияти навтарин дар Terraform ҳамчун аҳолии маҳаллӣ баъзе ҳисобҳо анҷом диҳед. Ва он гоҳ, бо як баромад, як параметри мураккабро диҳед, ки метавонад хэшҳои массив ва ғайраҳоро дар бар гирад.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Дар ин ҷо ҳама бозёфтҳои беҳтарини ман анҷом ёфтаанд. Ва ман мехоҳам як ҳикояеро дар бораи Колумб нақл кунам. Вақте ки ӯ барои экспедитсияи худ барои кашфи Ҳиндустон маблағ меҷуст (чунон ки он вақт фикр мекард), касе ба ӯ бовар накард ва онҳо гумон карданд, ки ин имконнопазир аст. Баъд гуфт: «Бовар кунед, ки тухм наафтад». Ҳама банкирҳо, одамони хеле сарватманд ва эҳтимолан оқил, кӯшиш карданд, ки тухмро бо ягон роҳ ҷойгир кунанд ва он афтод. Баъд Колумб тухмро гирифта, каме зер кард. Садаф кӯшид ва тухм бе ҳаракат монд. Гуфтанд: «Оҳ, ин хеле осон аст!» Ва Колумб ҷавоб дод: «Бале, ин хеле оддӣ аст. Ва вақте ки ман Ҳиндустонро мекушоям, ҳама аз ин роҳи тиҷорат истифода хоҳанд кард."

Ва он чизе ки ман ба шумо гуфтам, шояд чизҳои хеле содда ва ночиз бошанд. Ва ҳангоме ки шумо дар бораи онҳо меомӯзед ва ба истифодаи онҳо шурӯъ мекунед, он дар тартиби чизҳост. Пас бартарӣ гиред. Ва агар инҳо барои шумо чизҳои комилан муқаррарӣ бошанд, пас ҳадди аққал шумо медонед, ки чӣ гуна тухмро ҷойгир кунед, то он наафтад.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Биёед ҷамъбаст кунем:

  • Кӯшиш кунед, ки аз зарраҳои барфӣ канорагирӣ кунед. Ва чӣ қадаре ки барфҳои барфӣ камтар бошанд, ба шумо барои ворид кардани тағирот дар тамоми инфрасохтори бузурги худ захираҳои камтар лозим мешаванд.
  • Тағироти доимӣ. Яъне, вақте ки баъзе тағиротҳо дар код ба амал меоянд, шумо бояд инфрасохтори худро ҳарчи зудтар ба ин тағирот мутобиқ созед. Набояд вазъияте бошад, ки касе пас аз ду ё се моҳ ба Elasticsearch назар кунад, нақшаи Terraform таҳия кунад ва як қатор тағиротҳое вуҷуд доранд, ки ӯ интизор набуд. Ва барои ба тартиб даровардани ҳама чиз вақти зиёд лозим аст.
  • Санҷишҳо ва автоматизатсия. Чӣ қадаре ки коди шумо бо санҷишҳо ва хусусиятҳо фаро гирифта шавад, ҳамон қадар эътимоди бештаре доред, ки шумо ҳама чизро дуруст мекунед. Ва интиқоли автоматӣ эътимоди шуморо чандин маротиба зиёд мекунад.
  • Рамзи муҳити озмоишӣ ва истеҳсолӣ бояд тақрибан якхела бошад. Амалан, зеро истеҳсолот ҳанӯз каме фарқ мекунад ва ҳанӯз ҳам баъзе нозукиҳое хоҳанд буд, ки аз муҳити санҷиш берун хоҳанд буд. Аммо бо вуҷуди ин, плюс ё манфӣ, ин метавонад таъмин карда шавад.
  • Ва агар шумо рамзи зиёди Terraform дошта бошед ва барои навсозӣ кардани ин код вақти зиёд лозим аст, пас барои рефактор ва ба ҳолати хуб овардани он ҳеҷ гоҳ дер нест.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

  • Инфраструктураи тағирнашаванда. Интиқоли AMI тибқи ҷадвал.
  • Сохтор барои route53, вақте ки шумо вурудоти зиёд доред ва шумо мехоҳед, ки онҳо бо тартиби пайваста бошанд.
  • Мубориза бо маҳдудиятҳои суръати API. Ин вақтест, ки Амазонка мегӯяд: "Ин аст, ман дигар дархостҳоро қабул карда наметавонам, лутфан интизор шавед." Ва нисфи офис интизор аст, ки инфрасохтори худро оғоз кунад.
  • Ҳолатҳои ҷойдошта. Амазонка як чорабинии арзон нест ва нуқтаҳо ба шумо имкон медиҳанд, ки миқдори зиёдеро сарфа кунед. Ва дар он ҷо шумо метавонед як гузориши пурра дар бораи он нақл кунед.
  • Нақшҳои амниятӣ ва IAM.
  • Ҷустуҷӯи захираҳои гумшуда, вақте ки шумо дар Амазонка мисолҳои пайдоиши номаълум доред, онҳо пул мехӯранд. Ҳатто агар мисолҳо дар як моҳ 100-150 доллар арзиш дошта бошанд ҳам, ин беш аз 1 доллар дар як сол аст. Ҷустуҷӯи чунин захираҳо тиҷорати фоидаовар аст.
  • Ва ҳолатҳои ҳифзшуда.

Намунаҳо дар Terraform барои мубориза бо бесарусомонӣ ва реҷаи дастӣ. Максим Кострикин (Ixtens)

Ин ҳама барои ман аст. Terraform хеле хуб аст, шумо онро истифода мебаред. Сипос!

Саволҳои шумо

Ташаккур барои гузориш! Файли давлатии шумо дар S3 аст, аммо шумо чӣ гуна мушкилотро ҳал мекунед, ки якчанд нафар метавонанд ин файли давлатиро гирифта, васеъ кунанд?

Пеш аз хама, мо шитоб надорем. Дуюм, парчамҳо мавҷуданд, ки дар онҳо мо гузориш медиҳем, ки мо дар болои як порчаи код кор карда истодаем. Яъне, сарфи назар аз он ки инфрасохтор хеле калон аст, ин маънои онро надорад, ки касе пайваста чизеро истифода мебарад. Ва вақте ки марҳилаи фаъол вуҷуд дошт, ин мушкилот буд; мо файлҳои давлатиро дар Git нигоҳ медоштем. Ин муҳим буд, вагарна касе файли давлатӣ месозад ва мо бояд онҳоро дастӣ ҷамъ мекардем, то ҳама чиз идома ёбад. Ҳоло ин гуна мушкилот вуҷуд надорад. Умуман, Terraform ин мушкилотро ҳал кард. Ва агар чизе пайваста тағир ёбад, шумо метавонед қуфлҳоро истифода баред, ки он чизеро, ки шумо гуфтаед, пешгирӣ мекунад.

Оё шумо манбаи кушода ё корхонаро истифода мебаред?

Ҳеҷ гуна корхона, яъне ҳама чизеро, ки шумо метавонед ройгон зеркашӣ кунед.

Номи ман Станислав. Ман мехостам як иловаи хурде кунам. Шумо дар бораи як хусусияти Амазонка сӯҳбат кардед, ки ба шумо имкон медиҳад, ки як мисолро ғайрифаъол созед. Ин инчунин дар худи Terraform аст; дар блоки Life Second шумо метавонед манъи тағирот ё манъи нобудкуниро муайян кунед.

Вақт маҳдуд буд. Нуқтаи хуб.

Ман ҳам мехостам ду чизро пурсам. Аввалан, шумо дар бораи санҷиш гап задед. Оё шумо ягон асбоби санҷиширо истифода бурдед? Ман дар бораи плагини Test Kitchen шунидам. Шояд чизи дигаре ҳаст. Ва ман мехоҳам дар бораи арзишҳои маҳаллӣ пурсам. Чӣ тавр онҳо аз тағирёбандаҳои воридотӣ фарқ мекунанд? Ва чаро ман наметавонам чизеро танҳо тавассути арзишҳои маҳаллӣ параметрсозӣ кунам? Ман кӯшиш кардам, ки ин мавзӯъро бифаҳмам, аммо ба гунае худам онро фаҳмида натавонистам.

Мо метавонем дар берун аз ин ҳуҷра муфассалтар сӯҳбат кунем. Воситаҳои санҷишии мо комилан худсохтанд. Ҳеҷ чиз барои санҷиш вуҷуд надорад. Умуман, вариантҳо вуҷуд доранд, ки санҷишҳои автоматӣ дар ҷое инфрасохторро мегиранд, хуб будани онро санҷед ва сипас ҳама чизро бо гузорише нест кунед, ки инфрасохтори шумо ҳоло ҳам дар ҳолати хуб аст. Мо инро надорем, зеро стекҳои санҷишӣ ҳар рӯз иҷро мешаванд. Ва ин кифоя аст. Ва агар чизе ба шикастан шурӯъ кунад, он бе он ки мо онро дар ҷои дигар тафтиш кунем, шикаста мешавад.

Дар мавриди арзишҳои маҳаллӣ, биёед сӯҳбатро берун аз ҳуҷра идома диҳем.

Салом! Ташаккур барои гузориш! Хеле иттилоотӣ. Шумо гуфтед, ки шумо барои тавсифи инфрасохтори якхела коди зиёде доред. Оё шумо дар бораи тавлиди ин код фикр кардаед?

Саволи олӣ, ташаккур! Гап дар он аст, ки вақте ки мо инфрасохторро ҳамчун рамз истифода мебарем, мо тахмин мезанем, ки мо ба код нигоҳ мекунем ва дарк мекунем, ки дар паси ин код кадом инфрасохтор ҷойгир аст. Агар код тавлид шавад, пас мо бояд тасаввур кунем, ки кадом код тавлид мешавад, то бифаҳмем, ки дар он ҷо чӣ гуна инфрасохтор мавҷуд аст. Ё мо код тавлид мекунем, онро иҷро мекунем ва аслан ҳамин чиз рӯй медиҳад. Аз ин рӯ, мо бо роҳе, ки навишта будем, пайравӣ кардем, ба даст овардем. Плюс генераторҳо каме дертар пайдо шуданд, вақте ки мо ба сохтани онҳо шурӯъ кардем. Ва барои тағир додан аллакай дер шуда буд.

Оё шумо дар бораи jsonnet чизе шунидаед?

, №

Инак, ин як чизи хеле аҷиб аст. Ман як ҳолати мушаххасеро мебинам, ки шумо метавонед онро татбиқ кунед ва сохтори маълумотро эҷод кунед.

Генераторҳо хубанд, вақте ки шумо онҳоро доред, чунон ки дар шӯхӣ дар бораи мошини риштарошӣ. Яъне бори аввал чеҳра дигар мешавад, аммо баъд ҳама як чеҳра доранд. Генераторхо хеле хуб кор мекунанд. Аммо, мутаассифона, чеҳраи мо каме дигар аст. Ин мушкилот аст.

Танҳо нигоҳ кунед. Сипос!

Номи ман Максим, ман аз Сбербанк ҳастам. Шумо каме дар бораи он ки чӣ тавр шумо кӯшиш мекардед, ки Terraform-ро ба муодили забони барномасозӣ расонед, сӯҳбат кардед. Оё истифодаи Ansible осонтар нест?

Ин чизҳо хеле гуногунанд. Шумо метавонед дар Ansible захираҳо эҷод кунед ва Puppet метавонад дар Amazon захираҳо эҷод кунад. Аммо Terraform рост ба боло тезтар аст.

Оё шумо танҳо Amazon доред?

Ин нест, ки мо танҳо Amazon дорем. Мо қариб танҳо Amazon дорем. Аммо хусусияти асосӣ ин аст, ки Terraform дар хотир дорад. Дар Ansible, агар шумо бигӯед: "Ба ман 5 мисол деҳ", он гоҳ баланд мешавад ва пас шумо мегӯед: "Ва ҳоло ба ман 3 лозим аст." Ва Терраформ мегӯяд: "Хуб, ман 2 нафарро мекушам" ва Ансибл мегӯяд: "Хуб, ин ҷо 3 барои шумост." Ҳамагӣ 8.

Салом! Ташаккур барои гузориши шумо! Дар бораи Terraform шунидан хеле ҷолиб буд. Ман мехоҳам фавран як шарҳи хурде дар бораи он, ки Terraform то ҳол барориши устувор надорад, аз ин рӯ ба Terraform бо эҳтиёт муносибат кунед.

Як қошуқи хуб барои хӯроки шом. Яъне, агар ба шумо роҳи ҳал лозим бошад, баъзан он чизеро, ки ноустувор аст ва ғайра ба таъхир мегузоред, аммо он кор мекунад ва ба мо кӯмак кард.

Савол ин аст. Шумо пуштибони дурро истифода мебаред, шумо S 3-ро истифода мебаред. Чаро шумо пуштибони расмии худро истифода намебаред?

расмӣ?

Абри Терраформ.

Вай кай пайдо шуд?

Тақрибан 4 моҳ пеш.

Агар 4 сол пеш пайдо мешуд, шояд ба саволи шумо посух медодам.

Аллакай функсияи дарунсохт ва қуфлҳо мавҷуд аст ва шумо метавонед файли давлатиро нигоҳ доред. Як кӯшиш кунед. Аммо ман ҳам онро санҷидаам.

Мо дар поезди калоне, ки бо суръати тез харакат мекунад, сафар мекунем. Ва шумо наметавонед танҳо чанд мошинро гирифта, партояд.

Шумо дар бораи барфпораҳо гап задед, чаро шоха истифода накардед? Чаро ин тавр нашуд?

Муносибати мо ин аст, ки тамоми инфрасохтор дар як анбор ҷойгир аст. Terraform, Puppet, ҳама скриптҳое, ки ба ин гуна ҷиҳат марбутанд, ҳама дар як анбор ҳастанд. Бо ин роҳ мо метавонем боварӣ ҳосил кунем, ки тағиротҳои афзоянда паи ҳам санҷида мешаванд. Агар он як хӯшаи шохаҳо мебуд, пас нигоҳ доштани чунин лоиҳа қариб ғайриимкон мебуд. Шаш моҳ мегузарад ва онҳо он қадар аз ҳам ҷудо мешаванд, ки ин танҳо як навъ ҷазост. Ин аст он чизе ки ман мехостам пеш аз рефакторинг аз он гурезам.

Пас он кор намекунад?

Ин тамоман кор намекунад.

Дар филиал ман слайди папкаро буридам. Яъне, агар шумо ин корро барои ҳар як стек тестӣ кунед, масалан, дастаи А папкаи худро дорад, дастаи B папкаи худро дорад, пас ин ҳам кор намекунад. Мо як коди ягонаи муҳити санҷиширо эҷод кардем, ки ба қадри кофӣ чандир буд, ки ба ҳама мувофиқат кунад. Яъне мо ба як код хизмат кардем.

Салом! Номи ман Юра! Ташаккур барои гузориш! Савол дар бораи модулҳо. Шумо мегӯед, ки шумо модулҳоро истифода мебаред. Чӣ тавр шумо масъаларо ҳал мекунед, агар ба як модул тағирот ворид карда шуда бошад, ки бо тағири шахси дигар мувофиқат накунад? Оё шумо ягон хел модулҳоро нусхабардорӣ мекунед ё кӯшиш мекунед, ки як wunderwaffle барои қонеъ кардани ду талабот биёред?

Ин як мушкилоти калони барф аст. Ин аст он чизе ки мо аз он азоб мекашем, вақте ки ягон тағйироти безарар метавонад як қисми инфрасохторро вайрон кунад. Ва ин танҳо пас аз муддати тӯлонӣ мушоҳида мешавад.

Яъне то ҳол ҳал нашудааст?

Шумо модулҳои универсалӣ месозед. Аз зарраҳои барфӣ худдорӣ намоед. Ва ҳама чиз кор хоҳад кард. Нимаи дуюми гузориш дар бораи чӣ гуна пешгирӣ кардани ин.

Салом! Ташаккур барои гузориш! Мехостам равшан кунам. Дар паси парда тудаи калоне буд, ки ман барои он омадам. Чӣ тавр тақсимоти лӯхтак ва нақш муттаҳид карда мешаванд?

Маълумоти корбар.

Яъне шумо танҳо файлро туф мекунед ва бо кадом роҳ онро иҷро мекунед?

Маълумоти корбар ин ёддошт аст, яъне вақте ки мо клони тасвирро месозем, Демон дар он ҷо бармехезад ва кӯшиши фаҳмидани он, ки ӯ кист, ёддоштро мехонад, ки вай мувозинаткунандаи бор аст.

Яъне, ин як навъ раванди ҷудогонаест, ки дода мешавад?

Мо онро ихтироъ накардаем. Мо онро истифода мебарем.

Салом! Ман танҳо як савол дар бораи маълумот дорам. Шумо гуфтед, ки дар он ҷо мушкилиҳо вуҷуд доранд, шояд касе чизеро ба ҷои нодуруст фиристад. Оё ягон роҳи нигоҳ доштани маълумоти корбар дар ҳамон Git вуҷуд дорад, то ҳамеша равшан бошад, ки маълумотҳои корбар ба чӣ дахл доранд?

Мо аз Шаблон маълумотҳои корбар тавлид мекунем. Яъне, дар он ҷо миқдори муайяни тағирёбандаҳо истифода мешаванд. Ва Terraform натиҷаи ниҳоиро тавлид мекунад. Аз ин рӯ, шумо наметавонед танҳо ба шаблон нигоҳ кунед ва бигӯед, ки чӣ мешавад, зеро ҳама мушкилот бо он алоқаманданд, ки таҳиякунанда фикр мекунад, ки вай сатрро дар ин тағирёбанда мегузарад, аммо дар он ҷо массив истифода мешавад. Ва ӯ - бам ва ман - фалон, фалон, сатри навбатӣ ва ҳама чиз шикаст. Агар ин захираи нав бошад ва шахс онро бардошт ва бинад, ки чизе кор намекунад, пас он зуд ҳал мешавад. Ва агар ин гурӯҳи автоматӣ навсозӣ шавад, пас дар баъзе лаҳзаҳо дар гурӯҳи автоматикӣ иваз карда мешаванд. Ва банг, чизе кор намекунад. Ин дарднок аст.

Маълум мешавад, ки илочи ягона озмоиш аст?

Бале, шумо мушкилотро мебинед, шумо дар он ҷо қадамҳои санҷишро илова мекунед. Яъне баромадро низ санчидан мумкин аст. Шояд ин он қадар қулай нест, аммо шумо метавонед низ баъзе аломатҳоро гузоред - санҷед, ки маълумотҳои корбар дар ин ҷо мехкӯб карда шудаанд.

Номи ман Тимур. Ин хеле аҷиб аст, ки гузоришҳо дар бораи чӣ гуна дуруст ташкил кардани Terraform вуҷуд доранд.

Ман ҳатто сар накардаам.

Ман фикр мекунам, ки шояд дар конфронси навбатӣ бошад. Ман як саволи оддӣ дорам. Чаро шумо ба ҷои истифодаи tfvars арзишро дар модули алоҳида сахт рамзгузорӣ мекунед, яъне чаро модул бо арзишҳо аз tfvars беҳтар аст?

Яъне, ман бояд дар ин ҷо нависам (слайд: Production/environment/settings.tf): домен = тағирёбанда, домейн vpcnetwork, vpcnetwork тағйирёбанда ва stvars - оё ман метавонам ҳамин чизро гирам?

Мо маҳз ҳамин тавр мекунем. Масалан, мо ба модули манбаи танзимот муроҷиат мекунем.

Аслан, ин чунин тфвархо аст. Tfvars дар муҳити санҷиш хеле қулай аст. Ман барои мисолҳои калон tfvars дорам, барои хурд. Ва ман як файлро ба папка партофтам. Ва ман он чизеро, ки мехостам, гирифтам. Вақте ки мо инфрасохторро бурида истодаем, мо мехоҳем, ки ҳама чизро бубинем ва фавран фаҳмем. Ва хамин тавр маълум мешавад, ки ба ин чо нигох кардан лозим аст, баъд ба тфвархо назар кардан лозим аст.

Оё мумкин аст, ки ҳама чизро дар як ҷо дошта бошад?

Бале, tfvars вақте ки шумо як код доред. Ва он дар якчанд ҷойҳои гуногун бо нозукиҳои гуногун истифода мешавад. Он гох tfvars мепартофтед ва нозукихои худро мегиред. Ва мо инфрасохтор ҳамчун код дар шакли тозаи он ҳастем. Ман нигоҳ кардам ва фаҳмидам.

Салом! Оё шумо бо ҳолатҳое дучор шудаед, ки провайдери абр ба он чизе, ки шумо Terraform сохтаед, халал мерасонад? Фарз мекунем, ки мо метамаълумотро таҳрир мекунем. Калидҳои ssh мавҷуданд. Ва Google пайваста метадата ва калидҳои худро дар он ҷо мегузорад. Ва Terraform ҳамеша менависад, ки он тағйирот дорад. Пас аз ҳар давидан, ҳатто агар чизе тағйир наёбад, ҳамеша мегӯяд, ки ин майдонро ҳоло навсозӣ мекунад.

Бо калидҳо, аммо бале, як қисми инфрасохтор аз ин чиз таъсир мерасонад, яъне Terraform ҳеҷ чизро тағир дода наметавонад. Мо ҳам бо дасти худ чизеро тағир дода наметавонем. Мо ҳоло бо он зиндагӣ хоҳем кард.

Яъне шумо бо чунин чизе рӯ ба рӯ шудаед, аммо чизе наомадаед, чӣ тавр ӯ ин корро мекунад ва худаш мекунад?

Мутаассифона, ҳа.

Салом! Номи ман Старков Станислав. Почта. ru Group. Чӣ тавр шумо масъалаи тавлиди тег дар..., чӣ тавр шумо онро дар дохили он мегузаред? Тавре ки ман мефаҳмам, тавассути корбар - маълумот барои муайян кардани номи мизбон, гузоштани Puppet? Ва қисми дуюми савол. Чӣ тавр шумо ин масъаларо дар SG ҳал мекунед, яъне вақте ки шумо SG-ро тавлид мекунед, садҳо мисолҳои як навъ, номи дурусти онҳо чист?

Он ҳолатҳое, ки барои мо хеле муҳиманд, мо онҳоро зебо ном мебарем. Онҳое, ки лозим нестанд, қайд карда шудааст, ки ин як гурӯҳи автоматикӣ аст. Ва дар назария шумо метавонед онро нохун зада, як нав гиред.

Дар хусуси проблемаи тег бошад, ин гуна проблема нест, вале чунин вазифа вучуд дорад. Ва мо тегҳоро хеле ва хеле сахт истифода мебарем, зеро инфрасохтор калон ва гарон аст. Ва мо бояд бубинем, ки пул ба куҷо меравад, бинобар ин барчаспҳо ба мо имкон медиҳанд, ки он чизеро, ки ба куҷо рафтааст, вайрон кунем. Ва мутаносибан, дар ин ҷо ҷустуҷӯи чизе, ки маънои пули зиёд сарф мешавад.

Саволи дигар дар бораи чӣ буд?

Вақте ки SG садҳо мисолҳоро эҷод мекунад, оё онҳо бояд бо ягон роҳ фарқ кунанд?

Не, накун. Дар ҳар як ҳолат агенте мавҷуд аст, ки хабар медиҳад, ки ман мушкилот дорам. Агар агент гузориш диҳад, пас агент дар бораи ӯ медонад ва ҳадди аққал суроғаи IP-и ӯ вуҷуд дорад. Шумо аллакай метавонед гурезед. Дуюм, мо Консулро барои кашф истифода мебарем, ки дар он Кубернетес нест. Ва консул инчунин суроғаи IP-и мисолро нишон медиҳад.

Яъне, оё шумо махсусан ба IP тамаркуз мекунед, на ба номи мизбон?

Бо номи мизбон паймоиш кардан ғайриимкон аст, яъне шумораи онҳо зиёд аст. Идентификаторҳои мисол вуҷуд доранд - AE ва ғайра. Шумо метавонед онро дар ҷое пайдо кунед, шумо метавонед онро ба ҷустуҷӯ партоед.

Салом! Ман фаҳмидам, ки Terraform як чизи хубест, ки барои абрҳо пешбинӣ шудааст.

На танхо.

Маҳз ҳамин савол маро ба худ ҷалб мекунад. Агар шумо қарор диҳед, ки бо ҳама мисолҳои худ ба Bare Metal ба таври оммавӣ ҳаракат кунед? Оё ягон мушкилот вуҷуд дорад? Ё ба шумо лозим меояд, ки маҳсулоти дигарро истифода баред, масалан, ҳамон Ansible, ки дар ин ҷо зикр шудааст?

Ansible каме дар бораи чизи дигар аст. Яъне, Ansible аллакай вақте кор мекунад, ки мисол оғоз шуд. Ва Terraform пеш аз оғози мисол кор мекунад. Гузариш ба Metal Bare - нест.

Ҳоло не, балки тиҷорат омада мегӯяд: «Биё».

Гузариш ба абри дигар - бале, аммо дар ин ҷо як ҳиллаи каме дигар вуҷуд дорад. Шумо бояд рамзи Terraform-ро тавре нависед, ки шумо метавонед бо кӯшиши камтар ба абри дигар гузаред.

Дар аввал, вазифа гузошта шуда буд, ки тамоми инфрасохтори мо агностикӣ аст, яъне ҳама гуна абр бояд мувофиқ бошад, аммо дар баъзе мавридҳо тиҷорат даст кашид ва гуфт: "Хуб, дар N соли оянда мо ба ҳеҷ ҷо намеравем, мо метавонем хидматҳоро истифода барем. аз Амазонка "

Terraform ба шумо имкон медиҳад, ки ҷойҳои кории Front-End эҷод кунед, PagerDuty, data doc ва ғайраро танзим кунед. Он дорои думҳои зиёд. Вай амалан метавонад тамоми ҷаҳонро идора кунад.

Ташаккур барои гузориш! Ман инчунин 4 сол боз Terraform-ро истифода мебарам. Дар мархалаи гузариш ба Терраформ, ба инфраструктура, ба тавсифи декларативй мо бо вазъияте дучор омадем, ки касе дастй коре мекард ва шумо накша кашидан мехостед. Ва ман дар он ҷо як навъ хато гирифтам. Шумо бо чунин мушкилот чӣ гуна муносибат мекунед? Чӣ тавр шумо захираҳои гумшударо, ки рӯйхат шудаанд, пайдо мекунед?

Асосан бо дасту чашми худ, агар дар гузориш чизи аҷиберо бинем, пас мо дар он ҷо чӣ рӯй дода истодааст, таҳлил мекунем ё танҳо мекушем. Умуман, дархостҳои кашидан чизи маъмулӣ мебошанд.

Агар хато бошад, шумо бозмегардед? Оё шумо кӯшиш кардаед, ки ин корро кунед?

Не, ин тасмими шахс дар лаҳзаи дидани мушкилот аст.

Манбаъ: will.com