Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Zikuwoneka kuti opanga Terraform amapereka njira zabwino zogwirira ntchito ndi zomangamanga za AWS. Pali chabe nuance. M'kupita kwa nthawi, chiwerengero cha chilengedwe chikuwonjezeka, chilichonse chimakhala ndi mawonekedwe ake. Pafupifupi kopi ya pulogalamuyo ikuwoneka m'dera loyandikana nalo. Ndipo khodi ya Terraform iyenera kukopera mosamala ndi kusinthidwa malinga ndi zofunikira zatsopano kapena kupangidwa kukhala chipale chofewa.

Lipoti langa la machitidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja pama projekiti akulu ndi aatali.

Video:

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Ndine 40, ndakhala mu IT kwa zaka 20. Ndakhala ndikugwira ntchito ku Ixtens kwa zaka 12. Tikuchita nawo chitukuko choyendetsedwa ndi ecommerce. Ndipo ndakhala ndikuchita za DevOps kwa zaka 5.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Nkhani yanga idzakhala yokhudzana ndi zomwe ndakumana nazo mu polojekiti mu kampani yomwe sindidzanena dzina lake, ndikubisala kumbuyo kwa mgwirizano wosawulula.

Manambala omwe ali pa silayidi amasonyezedwa kuti amvetse kukula kwa polojekitiyo. Ndipo zonse zomwe ndinena pambuyo pake zikugwirizana ndi Amazon.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Ndinalowa nawo ntchitoyi zaka 4 zapitazo. Ndipo kukonzanso kwachitukuko kunali pachimake chifukwa ntchitoyo idakula. Ndipo mapatani amene ankagwiritsidwa ntchito sanalinso oyenera. Ndipo chifukwa cha kukula kwa polojekitiyi, kunali koyenera kubwera ndi china chatsopano.

Zikomo kwa Matvey, yemwe dzulo adatiuza zomwe zidachitika ku Dodo Pizza. Izi ndi zomwe zidachitika kuno zaka 4 zapitazo.

Madivelopa adabwera ndikuyamba kupanga ma code of infrastructure.

Zifukwa zodziwikiratu chifukwa chake izi zidafunikira nthawi yogulitsa. Zinali zofunikira kuwonetsetsa kuti gulu la DevOps silinali vuto panthawi yotulutsidwa. Ndipo mwa zina, Terraform ndi Chidole anagwiritsidwa ntchito pa mlingo woyamba.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Terraform ndi ntchito yotseguka yochokera ku HashiCorp. Ndipo kwa iwo omwe sadziwa kuti izi ndi chiyani, zithunzi zingapo zotsatirazi.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Zomangamanga monga ma code zikutanthauza kuti titha kufotokozera momwe timagwirira ntchito ndikufunsa maloboti ena kuti atsimikizire kuti talandira zomwe tafotokozazo.

Mwachitsanzo, tikufuna makina enieni. Tidzafotokozera ndi kuwonjezera magawo angapo ofunikira.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Pambuyo pake, tidzakonza mwayi wopita ku Amazon mu console. Ndipo tidzapempha dongosolo la Terraform. Dongosolo la Terraform liti: "Chabwino, titha kukuchitirani zinthu izi." Ndipo gwero limodzi lidzawonjezedwa. Ndipo palibe kusintha komwe kumayembekezeredwa.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Mukakhala okondwa ndi chilichonse, mutha kufunsa Terraform kuti alembetse ndipo Terraform ikupangani chitsanzo, ndipo mudzalandira makina enieni mumtambo wanu.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Komanso polojekiti yathu ikukula. Tikuwonjezera zosintha pamenepo. Tikupempha zitsanzo zambiri, timawonjezera zolemba 53.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Ndipo ife kubwereza. Chonde konzani. Tikuwona kusintha komwe kukukonzekera. Timalemba. Ndipo umu ndi momwe zomangamanga zathu zimakulira.

Terraform imagwiritsa ntchito zomwe zimatchedwa mafayilo amtundu. Ndiye kuti, zosintha zonse zomwe zimapita ku Amazon zimasungidwa mufayilo pomwe pa chilichonse chomwe mwafotokoza, pali zofananira zomwe zidapangidwa ku Amazon. Chifukwa chake, malongosoledwe azinthu akasintha, Terraform amadziwa ndendende zomwe ziyenera kusinthidwa ku Amazon.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Mafayilo a bomawa poyamba anali mafayilo. Ndipo tinazisunga ku Git, zomwe zinali zovuta kwambiri. Winawake nthawi zonse ankayiwala kusintha, ndipo mikangano yambiri inayamba.

Tsopano ndizotheka kugwiritsa ntchito backend, i.e. Terraform imafotokozedwa mu chidebe chomwe ndi kiyi yomwe fayilo ya boma iyenera kusungidwa. Ndipo Terraform mwiniyo adzasamalira kupeza fayilo ya bomayi, kuchita zamatsenga zonse ndikubwezeretsa zotsatira zomaliza.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Zomangamanga zathu zikukula. Nayi code yathu. Ndipo tsopano sitikufuna kupanga makina enieni, tikufuna kukhala ndi malo oyesera.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Terraform imakulolani kuti mupange chinthu monga gawo, ndiko kuti, kufotokoza zomwezo mufoda ina.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Ndipo, mwachitsanzo, poyesa, imbani gawo ili ndikupeza zomwezo ngati tidachita Terraform ndikuyika mu gawolo. Pakuyesa padzakhala code iyi.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Pakupanga, titha kutumiza zosintha kumeneko, chifukwa pakuyesa sitifunikira zazikulu; popanga, zazikulu zimangokhala zothandiza.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Kenako ndibwereranso ku polojekitiyi. Inali ntchito yovuta, zomangamanga zomwe zinakonzedwa zinali zazikulu kwambiri. Ndipo kunali koyenera kuyika ma code onse kuti zikhale zosavuta kwa aliyense: kwa iwo omwe amakonza ndondomekoyi ndi omwe amasintha. Ndipo zidakonzedwa kuti wopanga aliyense apite kukakonza zomanga momwe zimafunikira gawo lake la nsanja.

Uwu ndi mtengo wowongolera womwe umalimbikitsidwa ndi HashiCorp palokha ngati muli ndi polojekiti yayikulu ndipo ndizomveka kugawaniza zida zonse kukhala zidutswa zing'onozing'ono, ndikufotokozera chidutswa chilichonse mufoda yosiyana.

Pokhala ndi laibulale yayikulu yazinthu, mutha kuyimba pafupifupi chinthu chomwecho pakuyesa ndi kupanga.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Kwa ife, izi sizinali zoyenera, chifukwa kuyesa kwa omanga kapena kuyesa kunayenera kupezedwa mwanjira yosavuta. Koma sindinkafuna kudutsa m'mafoda ndikuwayika motsatira ndondomeko yoyenera, ndikudandaula kuti deta idzawuka, ndiyeno chitsanzo chomwe chimagwiritsa ntchito detayi chidzawuka. Chifukwa chake, kuyesa konse kudayambika kuchokera ku chikwatu chimodzi. Ma module omwewo adayitanidwa pamenepo, koma zonse zidachitika nthawi imodzi.

Terraform amasamalira zodalira zonse. Ndipo nthawi zonse zimapanga zothandizira motsatizana kuti muthe kupeza adilesi ya IP, mwachitsanzo, kuchokera ku chochitika chatsopano, ndikupeza adilesi iyi ya IP mu mbiri ya route53.

Kuwonjezera apo, nsanjayi ndi yaikulu kwambiri. Ndipo kuyambitsa mayeso, ngakhale kwa ola limodzi, ngakhale kwa maola 8, ndi ntchito yodula.

Ndipo tidatengera izi zokha. Ndipo ntchito ya Jenkins inatilola kuti tiyendetse muluwu. Mmenemo, kunali koyenera kuyambitsa pempho lachikoka ndi zosintha zomwe wopanga akufuna kuyesa, tchulani zonse zofunika, zigawo, ndi miyeso. Ngati akufuna kuyezetsa ntchito, ndiye kuti akhoza kutenga zochitika zambiri. Ngati angofuna kuona kuti fomu ina ikutseguka, ndiye kuti akhoza kuyamba ndi malipiro ochepa. Komanso onetsani ngati gulu likufunika kapena ayi, etc.

Ndiyeno Jenkins anakankhira chipolopolo script, chomwe chinasintha pang'ono kachidindo mu Terraform foda. Ndinachotsa mafayilo osafunikira ndikuwonjezera mafayilo ofunikira. Ndipo ndikuthamanga kumodzi kwa Terraform kuyika muluwo adakwezedwa.

Ndipo panali masitepe ena omwe sindikufuna kulowamo.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Chifukwa chakuti poyesa timafunikira zosankha zambiri kuposa kupanga, tinayenera kupanga makope a ma modules kuti m'makopewa tiwonjezere zinthu zomwe zimafunikira kuti tiyesedwe.

Ndipo zidachitika kuti pakuyesa ndimafuna kuyesa zosintha zomwe pamapeto pake zidzayamba kupanga. Koma kwenikweni, chinthu chimodzi chinayesedwa, ndipo chosiyana pang'ono chinagwiritsidwa ntchito popanga. Ndipo panali yopuma pang'ono mu chitsanzo kuti pakupanga zosintha zonse zidagwiritsidwa ntchito ndi gulu opareshoni. Ndipo nthawi zina zidapezeka kuti zosintha zomwe zimayenera kuchoka pakuyesa kupita kukupanga zidakhalabe mu mtundu wina.

Kuphatikiza apo, panali vuto kotero kuti ntchito yatsopano idawonjezeredwa, yomwe inali yosiyana pang'ono ndi yomwe ilipo kale. Ndipo m'malo mosintha gawo lomwe linalipo, tidayenera kupanga kopi yake ndikuwonjezera zosintha zofunika.

Kwenikweni, Terraform sichilankhulo chenicheni. Ichi ndi chilengezo. Ngati tikufuna kulengeza chinachake, ndiye kuti timachilengeza. Ndipo zonse zimagwira ntchito.

Panthawi ina, pamene imodzi mwa zopempha zanga zokoka zikukambidwa, mmodzi wa anzanga adanena kuti panalibe chifukwa chopanga ma snowflakes. Ndinadabwa chimene ankatanthauza. Pali chowonadi cha sayansi kuti palibe zitumbuwa ziwiri zofanana padziko lapansi, zonse ndizosiyana pang'ono. Ndipo nditangomva izi, nthawi yomweyo ndinamva kulemera kwa Terraform code. Chifukwa pamene kunali kofunikira kusuntha kuchoka ku mtundu kupita ku mtundu, Terraform inkafuna kusintha kusintha, mwachitsanzo, codeyo sinali yogwirizananso ndi mtundu wotsatira. Ndipo tinayenera kupanga pempho lachikoka, lomwe linaphimba pafupifupi theka la mafayilo muzomangamanga, kuti tibweretse zowonongeka ku Terraform yotsatira.

Ndipo chipale chofeΕ΅a chitatha kuonekera, zilembo zonse za Terraform zimene tinasintha n’kukhala mulu waukulu wa chipale chofewa.

Kwa wopanga kunja yemwe ali kunja kwa opareshoni, izi zilibe kanthu kwa iye, chifukwa adapempha kukoka, zida zake zidayamba. Ndipo ndizo zonse, si nkhawa yake panonso. Ndipo gulu la DevOps, lomwe likuwonetsetsa kuti zonse zili bwino, likufunika kuti lisinthe zonsezi. Ndipo mtengo wa zosinthazi udakwera kwambiri, kwambiri ndi chipale chofewa chilichonse.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Pali nkhani ya momwe wophunzira pa semina amakokera mabwalo awiri abwino ndi choko pa bolodi. Ndipo mphunzitsiyo akudabwa momwe anajambula bwino popanda kampasi. Wophunzirayo akuyankha kuti: β€œMosavuta kwambiri, ndinathera zaka ziΕ΅iri m’gulu lankhondo ndikusintha chopukusira nyama.”

Ndipo pa zaka zinayi zimene ndakhala ndikuchita nawo ntchitoyi, ndakhala ndikuchita Terraform pafupifupi zaka ziwiri. Ndipo, ndithudi, ndili ndi zidule, malangizo ena amomwe mungasinthire kachidindo ka Terraform, kugwira nawo ntchito ngati chinenero cha pulogalamu ndikuchepetsa kulemetsa kwa omanga omwe ayenera kusunga kachidindo kameneka.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Chinthu choyamba chomwe ndikufuna kuyamba ndi Symlinks. Terraform ili ndi code yobwerezabwereza. Mwachitsanzo, kuyitanidwa kwa wopereka chithandizo pafupifupi kulikonse komwe timapanga gawo lachitukuko kumakhala kofanana. Ndipo ndizomveka kuziyika mufoda yosiyana. Ndipo kulikonse kumene woperekayo akufunika kupanga ma Symlink ku fayiloyi.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Mwachitsanzo, popanga mumagwiritsa ntchito gawo, zomwe zimakupatsani mwayi wopeza akaunti yakunja ya Amazon. Ndipo atasintha fayilo imodzi, otsala onse mumtengo wothandizira adzakhala ndi ufulu wofunikira kuti Terraform adziwe kuti ndi gawo liti la Amazon.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Kodi ma Symlink amalephera pati? Monga ndidanenera, Terraform ili ndi mafayilo aboma. Ndipo iwo ali kwambiri, ozizira kwambiri. Koma chowonadi ndichakuti Terraform imayambitsa kumbuyo koyambirira. Ndipo sangagwiritse ntchito zosintha zilizonse pazigawo izi; ziyenera kulembedwa nthawi zonse.

Chifukwa chake, munthu akapanga chinthu chatsopano, amakopera ma code ena kuchokera kumafoda ena. Ndipo akhoza kulakwitsa ndi kiyi kapena ndi ndowa. Mwachitsanzo, amapanga chinthu cha sandbox kuchokera ku sandbox, ndikuchipanga kupanga. Ndipo kotero zitha kuwoneka kuti chidebe chopanga chidzagwiritsidwa ntchito kuchokera ku sandbox. Inde, adzapeza mwamsanga. Zidzakhala zotheka kukonza izi mwanjira ina, komabe ndikuwononga nthawi komanso, pamlingo wina, chuma.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Ndiyeno tingatani? Musanagwire ntchito ndi Terraform, muyenera kuyiyambitsa. Poyambitsa, Terraform imatsitsa mapulagini onse. Panthawi ina amagawanika kuchoka ku monolith kupita ku zomangamanga za microservice. Ndipo nthawi zonse muyenera kuchita Terraform init kuti imakoka ma module onse, mapulagini onse.

Ndipo mutha kugwiritsa ntchito script ya chipolopolo, yomwe, choyamba, imatha kupeza zosintha zonse. Chipolopolo script sichimachepa mwanjira iliyonse. Ndipo, kachiwiri, njira. Ngati nthawi zonse timagwiritsa ntchito njira yomwe ili m'malo osungiramo zinthu ngati fungulo la fayilo ya boma, ndiye kuti, cholakwika apa chidzachotsedwa.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Kodi ndingapeze kuti deta? JSON wapamwamba. Terraform imakulolani kuti mulembe zomangamanga osati mu hcl (HashiCorp Configuration Language), komanso mu JSON.

JSON ndiyosavuta kuwerenga kuchokera ku chipolopolo. Chifukwa chake, mutha kuyika fayilo yosinthira ndi chidebe pamalo ena. Ndipo gwiritsani ntchito chidebechi mu code Terraform komanso mu chipolopolo script poyambitsa.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Chifukwa chiyani kuli kofunikira kukhala ndi ndowa ya Terraform? Chifukwa pali chinthu chonga mafayilo akutali. Ndiko kuti, ndikakweza zinthu, kuti ndiuze Amazon: "Chonde kwezani chitsanzo," ndiyenera kufotokoza zambiri zofunika.

Ndipo zozindikiritsa izi zimasungidwa mufoda ina. Ndipo ndikhoza kupita ndi kunena kuti: "Terraform, chonde thamangirani ku fayilo ya boma yomwe ili komweko ndikundipezera zozindikiritsa izi." Chifukwa chake mgwirizano wina umawoneka pakati pa zigawo kapena madera osiyanasiyana.

Sizingatheke nthawi zonse kugwiritsa ntchito fayilo yakutali. Mwachitsanzo, mudapanga VPC pamanja. Ndipo code ya Terraform yomwe imapanga VPC imapanga ma VPC osiyanasiyana kotero kuti idzatenga nthawi yayitali kwambiri ndipo muyenera kusinthana wina ndi mzake, kuti mutha kugwiritsa ntchito chinyengo chotsatirachi.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Ndiko kuti, pangani gawo lomwe likuwoneka kuti likupanga VPC ndipo, titero, limakupatsani zizindikiritso, koma kwenikweni pali fayilo yokhala ndi mfundo zolimba zomwe zingagwiritsidwe ntchito kupanga zomwezo.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Sikoyenera nthawi zonse kusunga fayilo ya boma mumtambo. Mwachitsanzo, poyesa ma modules, mungagwiritse ntchito kuyambika kwa backend, komwe fayilo idzangosungidwa pa disk panthawi yoyesedwa.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Tsopano pang'ono za kuyezetsa. Kodi mungayesere chiyani mu Terraform? Mwina zambiri ndizotheka, koma ndilankhula za 4 zinthu izi.

HashiCorp imamvetsetsa momwe Terraform code iyenera kupangidwira. Ndipo Terraform fmt imakulolani kuti musinthe kachidindo komwe mungasinthe malinga ndi chikhulupiriro ichi. Chifukwa chake, mayeso amayenera kuyang'ana ngati mawonekedwewo akugwirizana ndi zomwe HashiCorp adapereka, kuti pasakhale chifukwa chosinthira malo abulaketi, ndi zina.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Chotsatira ndi Terraform yovomerezeka. Sichita zambiri kuposa kungoyang'ana mawuwo - ala, ngati mabulashi onse aphatikizidwa. Chofunika ndi chiyani apa? Zomangamanga zathu ndizambiri. Pali abambo ambiri osiyanasiyana mmenemo. Ndipo mu chilichonse muyenera kuyendetsa Terraform kutsimikizira.

Chifukwa chake, kuti tifulumizitse kuyesa, timayendetsa njira zingapo mofananira pogwiritsa ntchito kufanana.

Parallel ndi chinthu chozizira kwambiri, chigwiritseni ntchito.

Koma nthawi iliyonse Terraform ikayamba, imapita ku HashiCorp ndikufunsa, "Kodi mapulagini aposachedwa ndi ati? Ndipo pulogalamu yowonjezera yomwe ndili nayo mu cache - ndi yolondola kapena yolakwika?" Ndipo izi zinachepa pang'onopang'ono pa sitepe iliyonse.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Mukauza Terraform komwe mapulagini ali, ndiye Terraform adzati: "Chabwino, mwina ndiye chinthu chaposachedwa kwambiri chomwe chilipo. Sindipita kulikonse, ndiyamba kutsimikizira nambala yanu ya Terraform. ”

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Kuti mudzaze chikwatu ndi mapulagini ofunikira, tili ndi kachidindo kakang'ono ka Terraform komwe kumangofunika kukhazikitsidwa. Apa, ndithudi, muyenera kufotokoza onse opereka omwe amatenga nawo mbali mu code yanu, apo ayi Terraform anganene kuti: "Sindikudziwa wothandizira wina chifukwa sali mu cache."

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Chotsatira ndi dongosolo la Terraform. Monga ndanenera, chitukuko ndi cyclical. Timasintha ma code. Kenako muyenera kudziwa zomwe zasintha zomwe zakonzedwa pazomangamanga.

Ndipo zomangazo zikakhala zazikulu kwambiri, mutha kusintha gawo limodzi, kukonza malo oyeserera kapena dera linalake ndikuphwanya lina loyandikana nalo. Chifukwa chake, dongosolo la Terraform liyenera kupangidwa pazomangamanga zonse ndikuwonetsa zosintha zomwe zakonzedwa.

Mutha kuchita izi mwanzeru. Mwachitsanzo, tinalemba Python script yomwe imathetsa kudalira. Ndipo kutengera zomwe zidasinthidwa: gawo la Terraform kapena gawo linalake, limapanga mapulani a zikwatu zonse zodalira.

Mapulani a Terraform ayenera kupangidwa pofunsidwa. Osachepera ndi zomwe timachita.

Zachidziwikire, ndikwabwino kuyesa kusintha kulikonse, pakudzipereka kulikonse, koma mapulani ndi okwera mtengo. Ndipo popempha kukoka timati, "Chonde ndipatseni mapulani." Roboti imayamba. Ndipo amatumiza ndemanga kapena kulumikiza mapulani onse omwe akuyembekezeka pakusintha kwanu.

Dongosolo ndi chinthu chokwera mtengo kwambiri. Zimatenga nthawi chifukwa Terraform amapita ku Amazon ndikufunsa, "Kodi chochitikachi chidakalipo? Kodi autoscale iyi ili ndi magawo ofanana ndendende?" Ndipo kuti mufulumizitse izi, mutha kugwiritsa ntchito parameter monga refresh=false. Izi zikutanthauza kuti Terraform itsitsa dziko kuchokera ku S3. Ndipo ikhulupirira kuti boma lidzafanana ndendende ndi zomwe zili ku Amazon.

Dongosolo lotere la Terraform limapita mwachangu kwambiri, koma boma liyenera kufanana ndi zomangamanga zanu, mwachitsanzo, kwinakwake, nthawi ina kutsitsimutsa kwa Terraform kuyenera kuyamba. Kutsitsimutsa kwa Terraform kumachita ndendende: dziko limafanana ndi zomwe zili muzinthu zenizeni.

Ndipo tiyenera kulankhula za chitetezo. Apa ndi pamene tinayenera kuyamba. Kumene mumathamangira Terraform ndi Terraform imayendera pazitukuko zanu pali chiwopsezo. Ndiye kuti, mukuchita code. Ndipo ngati pempho lachikoka lili ndi mtundu wina wa code yoyipa, ndiye kuti litha kuchitidwa pachimake chomwe chili ndi mwayi wambiri. Chifukwa chake samalani komwe mumayendetsa dongosolo la Terraform.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Chinthu chotsatira chomwe ndikufuna kunena ndikuyesa-data-data.

Kodi data ya ogwiritsa ntchito ndi chiyani? Ku Amazon, tikapanga chitsanzo, titha kutumiza kalata inayake ndi chitsanzo - meta data. Chitsanzo chikayamba, nthawi zambiri cloud init imakhalapo nthawi zonse. Cloud init amawerenga kalatayi ndipo akuti: "Chabwino, lero ndine wolinganiza katundu." Ndipo mogwirizana ndi mapangano amenewa amachita zinthu zina.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Koma, mwatsoka, tikapanga dongosolo la Terraform ndi Terraform kugwiritsa ntchito, deta ya ogwiritsa ntchito imawoneka ngati manambala amtunduwu. Ndiko kuti, amangokutumizirani hashi. Ndipo zonse zomwe mungayang'ane mu dongosololi ndikuti padzakhala kusintha kulikonse kapena ngati hashi idzakhalabe chimodzimodzi.

Ndipo ngati simulabadira izi, ndiye kuti mafayilo ena osweka amatha kutha ku Amazon, pazida zenizeni.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Kapenanso, pochita, simungatchule zofunikira zonse, koma template yokha. Ndipo mu code nenani: "Chonde onetsani template iyi pazenera langa." Ndipo chifukwa chake, mutha kupeza chosindikizira cha zomwe deta yanu idzawonekere pa Amazon.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Njira ina ndikugwiritsa ntchito module kuti mupange data-data. Mugwiritsa ntchito gawoli. Mumalandira fayilo pa disk. Yerekezerani ndi buku lofotokozera. Chifukwa chake, ngati munthu wina aganiza zowongolera zomwe wagwiritsa ntchito pang'ono, ndiye kuti mayeso anu adzati: "Chabwino, pali zosintha apa ndi apo - izi ndizabwinobwino."

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Chotsatira chomwe ndikufuna kunena ndi Automate Terraform application.

Zachidziwikire, ndizowopsa kuchita Terraform kugwiritsa ntchito mongodziwikiratu, chifukwa ndani amadziwa zomwe zasintha komanso momwe zingawonongere malo okhala.

Kwa malo oyesera, zonsezi ndi zachilendo. Ndiko kuti, ntchito yomwe imapanga malo oyesera ndizomwe opanga onse amafunikira. Ndipo mawu onga akuti "chilichonse chidandigwirira ntchito" si nthabwala zoseketsa, koma umboni wakuti munthu adasokonezeka, adakweza mulu, ndikuyesa mayeso pamutuwu. Ndipo adawonetsetsa kuti zonse zili bwino pamenepo ndipo adati: "Chabwino, nambala yomwe ndikutulutsa yayesedwa."

Popanga, sandbox ndi malo ena omwe ali ovuta kwambiri mabizinesi, mutha kugwiritsa ntchito zina mwapang'onopang'ono mosamala chifukwa sizimapangitsa kuti aliyense afe. Izi ndi: magulu a autoscale, magulu achitetezo, maudindo, route53, ndipo mndandanda ukhoza kukhala waukulu kwambiri. Koma yang'anirani zomwe zikuchitika, werengani malipoti ogwiritsira ntchito makina.

Kumene kuli kowopsa kapena kowopsa kugwiritsa ntchito, mwachitsanzo, ngati izi ndizinthu zina zomwe zikupitilira kuchokera ku database, ndiye landirani malipoti oti pali kusintha kosagwiritsidwa ntchito pagawo lina lachitukuko. Ndipo injiniya, moyang'aniridwa, amayamba ntchito kuti agwiritse ntchito kapena azichita kuchokera ku console yake.

Amazon ili ndi chinthu monga Chotsani chitetezo. Ndipo imatha kuteteza nthawi zina ku kusintha komwe sikufunikira kwa inu. Ndiye kuti, Terraform anapita ku Amazon nati: β€œNdiyenera kupha chochitika ichi kuti ndipange china.” Ndipo Amazon akuti: β€œPepani, osati lero. Tili ndi chitetezo chokwanira. "

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Ndipo icing pa keke ndi kukhathamiritsa kachidindo. Tikamagwira ntchito ndi Terraform code, tiyenera kudutsa magawo ambiri ku module. Izi ndizomwe zili zofunika kuti mupange mtundu wina wazinthu. Ndipo codeyo imasandulika mndandanda waukulu wa magawo omwe amafunika kuperekedwa kuchokera ku module kupita ku module, kuchokera ku module kupita ku module, makamaka ngati ma modules ali ndi zisa.

Ndipo ndizovuta kwambiri kuwerenga. Ndizovuta kubwereza izi. Ndipo nthawi zambiri zimakhala kuti magawo ena amawunikiridwa ndipo sizomwe zimafunikira. Ndipo izi zimatengera nthawi ndi ndalama kukonza pambuyo pake.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Chifukwa chake, ndikupangira kuti mugwiritse ntchito chinthu chonga ngati parameter yovuta yomwe imaphatikizapo mtengo wina wamtengo wapatali. Ndiye kuti, mufunika chikwatu chamtundu wina pomwe muli ndi zofunikira zonse zomwe mungafune kukhala nazo pamalo ena.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Ndipo poyimba moduli iyi, mutha kupeza mtengo womwe umapangidwa mu gawo limodzi wamba, ndiye kuti, mu gawo lofanana lomwe limagwira ntchito chimodzimodzi pazomangamanga zonse.

Mugawoli mutha kuwerengera pogwiritsa ntchito zomwe zachitika posachedwa mu Terraform monga anthu akumaloko. Ndiyeno, ndi kutulutsa kumodzi, perekani magawo ovuta, omwe angaphatikizepo ma hashes osiyanasiyana, ndi zina zotero.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Apa ndipamene zopeza zabwino zonse zatha. Ndipo ndikufuna kunena nkhani ya Columbus. Pamene ankafuna ndalama za ulendo wake kuti akapeze India (monga momwe ankaganizira panthawiyo), palibe amene anamukhulupirira ndipo ankaganiza kuti sizingatheke. Kenako anati: β€œOnetsetsani kuti dzira lisagwe. Onse osungira mabanki, olemera kwambiri ndipo mwinamwake anthu anzeru, anayesa mwanjira inayake kuika dzira, ndipo ilo linapitirira kugwa. Kenako Columbus anatenga dzira lija n’kulitsina pang’ono. Chigobacho chinaphwanyika ndipo dzira linakhalabe losasunthika. Iwo anati, "O, izo nzophweka kwambiri!" Ndipo Columbus anayankha kuti: β€œInde, ndi zophweka kwambiri. Ndipo ndikatsegula India, aliyense adzagwiritsa ntchito njira yamalonda iyi. "

Ndipo zomwe ndakuuzanizi mwina ndi zinthu zosavuta komanso zazing'ono. Ndipo mukamaphunzira za iwo ndikuyamba kuwagwiritsa ntchito, zili mu dongosolo la zinthu. Choncho gwiritsani ntchito mwayi. Ndipo ngati izi ndi zinthu zachilendo kwa inu, ndiye kuti mukudziwa momwe mungayikitsire dzira kuti lisagwe.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Tiyeni tiwone:

  • Yesetsani kupewa zitumbuwa zachipale chofewa. Ndipo ma snowflakes ocheperako, zinthu zochepa zomwe mungafune kuti musinthe pazida zanu zonse zazikulu.
  • Kusintha kosalekeza. Ndiko kuti, pamene kusintha kwina kukuchitika mu code, muyenera kubweretsa zowonongeka zanu kuti zigwirizane ndi zosinthazi mwamsanga. Sipayenera kukhala nthawi yomwe wina amabwera kudzayang'ana Elasticsearch patatha miyezi iwiri kapena itatu, ndikupanga dongosolo la Terraform, ndipo pali zosintha zambiri zomwe samayembekezera. Ndipo zimatenga nthawi yochuluka kuti mukonze zinthu zonse.
  • Mayesero ndi zochita zokha. Khodi yanu ikadzadzazidwa ndi mayeso ndi mawonekedwe, mumakhala ndi chidaliro chochulukirapo kuti mukuchita zonse molondola. Ndipo kutumiza basi kumakulitsa chidaliro chanu kambirimbiri.
  • Khodi ya malo oyesera ndi kupanga iyenera kukhala yofanana. Kwenikweni, chifukwa kupanga kukadali kosiyana pang'ono ndipo padzakhalabe ma nuances ena omwe angapitirire malo oyesera. Koma, kuphatikiza kapena kuchotsera, izi zitha kutsimikizika.
  • Ndipo ngati muli ndi nambala yambiri ya Terraform ndipo zimatengera nthawi yochuluka kuti musunge kachidindo kameneka, ndiye kuti sikuchedwa kwambiri kuti muyambe kukonzanso ndikuyiyika bwino.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

  • Zomangamanga zosasinthika. Kutumiza kwa AMI pa nthawi.
  • Kapangidwe ka route53 mukakhala ndi zolembera zambiri ndipo mukufuna kuti zizigwirizana.
  • Kulimbana ndi malire a API. Apa ndipamene Amazon imati, "Ndi momwemo, sindingathe kuvomeranso zopempha, chonde dikirani." Ndipo theka la ofesiyo likudikirira mpaka likhoza kukhazikitsa maziko ake.
  • Zochitika zingapo. Amazon si chochitika chotsika mtengo ndipo mawanga amakulolani kuti mupulumutse zambiri. Ndipo kumeneko mukhoza kunena lipoti lonse la izo.
  • Chitetezo ndi maudindo a IAM.
  • Kufunafuna zinthu zotayika, mukakhala ndi zochitika zosadziwika ku Amazone, amadya ndalama. Ngakhale ndalamazo zimawononga $ 100-150 pamwezi, ndizoposa $ 1 pachaka. Kupeza zinthu zoterezi ndi bizinesi yopindulitsa.
  • Ndi zochitika zosungidwa.

Mapangidwe mu Terraform kuti athane ndi chipwirikiti ndi machitidwe apamanja. Maxim Kostrikin (Ixtens)

Ndizo zonse za ine. Terraform ndiyozizira kwambiri, mumagwiritsa ntchito. Zikomo!

Mafunso anu

Zikomo chifukwa cha lipoti! Fayilo yanu ya boma ili mu S3, koma mumathetsa bwanji vuto loti anthu angapo atha kutenga fayilo iyi ndikuyesera kukulitsa?

Choyamba, sitikufulumira. Kachiwiri, pali mbendera, momwe timafotokozera kuti tikugwira ntchito pamtundu wina. Ndiko kuti, ngakhale kuti zomangamanga ndi zazikulu kwambiri, izi sizikutanthauza kuti wina akugwiritsa ntchito chinachake nthawi zonse. Ndipo pakakhala gawo logwira ntchito, ili linali vuto; tidasunga mafayilo aboma ku Git. Izi zinali zofunika, apo ayi wina angapange fayilo ya boma, ndipo tinayenera kuziyika pamodzi kuti zonse zipitirire. Tsopano palibe vuto ngati limeneli. Kawirikawiri, Terraform anathetsa vutoli. Ndipo ngati chinachake chikusintha nthawi zonse, ndiye kuti mungagwiritse ntchito maloko, omwe amalepheretsa zomwe mwanena.

Kodi mukugwiritsa ntchito gwero lotseguka kapena bizinesi?

Palibe bizinesi, i.e. chilichonse chomwe mungapite ndikutsitsa kwaulere.

Dzina langa ndine Stanislav. Ndinkafuna kuwonjezera pang'ono. Munalankhula za chinthu cha Amazon chomwe chimakupatsani mwayi woti mutsankho ukhale wosatheka. Izi zilinso mu Terraform palokha; mu Life Second block mutha kufotokoza kuletsa kusintha kapena kuletsa chiwonongeko.

Nthawi inali yochepa. Mfundo yabwino.

Ndinkafunanso kufunsa zinthu ziwiri. Choyamba, munayankhula za kuyezetsa. Kodi mudagwiritsapo ntchito zida zilizonse zoyesera? Ndinamva za pulogalamu yowonjezera ya Test Kitchen. Mwina pali chinanso. Ndipo ndikufunanso kufunsa za Local Values. Kodi zimasiyana bwanji ndi Zosintha Zolowetsa? Ndipo chifukwa chiyani sindingathe kuyika china chake kudzera mu Makhalidwe Apafupi? Ndinayesa kulingalira mutu uwu, koma mwanjira ina sindinathe kuuzindikira ndekha.

Titha kuyankhula mwatsatanetsatane kunja kwa chipindachi. Zida zathu zoyesera ndizodzipangira zokha. Palibe choyesa. Kawirikawiri, pali zosankha pamene mayesero odzipangira okha atenga zowonongeka kwinakwake, fufuzani kuti zili bwino, ndiyeno muwononge chirichonse ndi lipoti loti zomangamanga zanu zidakali bwino. Tilibe izi chifukwa milu ya mayeso imayendetsedwa tsiku lililonse. Ndipo ndi zokwanira. Ndipo ngati china chake chikayamba kusweka, chimayamba kusweka popanda ife kuchiyang'ana kwina.

Ponena za Makhalidwe Ako, tiyeni tipitilize kukambirana kunja kwa chipindacho.

Moni! Zikomo chifukwa cha lipoti! Zodziwitsa kwambiri. Mwanena kuti muli ndi mtundu wofanana wa code kufotokoza zomangamanga. Kodi mwaganiza zopanga khodiyi?

Funso lalikulu, zikomo! Mfundo ndi yakuti tikamagwiritsa ntchito zomangamanga monga ma code, timaganiza kuti timayang'ana ndondomekoyi ndikumvetsetsa zomwe zimapangidwira kumbuyo kwa codeyo. Ngati ma code apangidwa, ndiye kuti tiyenera kulingalira kuti ndi code iti yomwe idzapangidwe kuti timvetsetse mtundu wa zomangamanga zomwe zidzakhalapo. Mwina timapanga ma code, timachita, ndipo zomwezo zimachitika. Kotero ife tinatsatira njira yomwe tinalembera, tinaipeza. Majenereta owonjezera adawonekera pambuyo pake pomwe tidayamba kuwapanga. Ndipo kunali kale mochedwa kuti asinthe.

Kodi mwamvapo chilichonse chokhudza jsonnet?

No.

Onani, ichi ndi chinthu chozizira kwambiri. Ndikuwona vuto linalake lomwe mungagwiritse ntchito ndikupanga dongosolo la deta.

Majenereta ndi abwino mukakhala nawo, monga nthabwala za makina ometa. Ndiko kuti, nthawi yoyamba nkhope imakhala yosiyana, koma aliyense amakhala ndi nkhope yofanana. Ma jenereta amagwira ntchito bwino kwambiri. Koma, mwatsoka, nkhope zathu ndizosiyana pang'ono. Ili ndi vuto.

Tangoyang'anani. Zikomo!

Dzina langa ndine Maxim, ndine wochokera ku Sberbank. Munalankhula pang'ono za momwe mumayesera kubweretsa Terraform kuti ikhale yofanana ndi chilankhulo cha pulogalamu. Kodi ndizosavuta kugwiritsa ntchito Ansible?

Izi ndi zinthu zosiyana kwambiri. Mutha kupanga zothandizira mu Ansible, ndipo Chidole chimatha kupanga zinthu ku Amazon. Koma Terraform ndiwongoleredwa molunjika.

Kodi muli ndi Amazon yokha?

Sikuti tili ndi Amazon yokha. Pafupifupi tili ndi Amazon. Koma chofunikira ndichakuti Terraform amakumbukira. Mu Ansible, ngati munganene kuti: "Ndipatseni zitsanzo 5," ndiye kuti zimadzuka, ndiye kuti: "Ndipo tsopano ndikufuna 3." Ndipo Terraform adzati: "Chabwino, ndipha 2," ndipo Ansible adzati: "Chabwino, nayi 3 yanu." Zonse 8.

Moni! Zikomo chifukwa cha lipoti lanu! Zinali zosangalatsa kwambiri kumva za Terraform. Ndikufuna kuti nthawi yomweyo ndifotokoze pang'ono zakuti Terraform ilibe kumasulidwa kokhazikika, choncho samalirani Terraform mosamala kwambiri.

Supuni yabwino ya chakudya chamadzulo. Ndiye kuti, ngati mukufuna yankho, ndiye kuti nthawi zina mumachotsa zomwe sizikhazikika, ndi zina, koma zimagwira ntchito ndipo zidatithandiza.

Funso ndi ili. Mumagwiritsa ntchito Remote backend, mumagwiritsa ntchito S 3. Bwanji osagwiritsa ntchito backend yovomerezeka?

Ovomerezeka?

Mtambo wa Terraform.

Kodi anaonekera liti?

Pafupifupi miyezi 4 yapitayo.

Zikadawoneka zaka 4 zapitazo, mwina ndikadayankha funso lanu.

Pali kale ntchito yomangidwa ndi zokhoma, ndipo mutha kusunga fayilo ya boma. Yesani. Koma inenso sindinamuyese.

Tikuyenda pa sitima yaikulu imene imayenda mothamanga kwambiri. Ndipo simungatenge magalimoto angapo ndikuwataya.

Munayankhula za snowflakes, bwanji simunagwiritse ntchito nthambi? Chifukwa chiyani sizinachitike mwanjira imeneyo?

Njira yathu ndi yakuti zida zonse zili munkhokwe imodzi. Terraform, Puppet, zolembedwa zonse zomwe mwanjira ina zimagwirizana ndi izi, zonse zili munkhokwe imodzi. Mwanjira iyi titha kuwonetsetsa kuti kusintha kowonjezereka kumayesedwa chimodzi ndi chimodzi. Ngati akanakhala gulu la nthambi, ndiye kuti ntchito yoteroyo ikanakhala yosatheka kuisamalira. Miyezi isanu ndi umodzi imadutsa, ndipo amasiyana kwambiri moti ndi mtundu wina wa chilango. Izi ndi zomwe ndimafuna kuthawa ndisanakonzenso.

Ndiye sizikugwira ntchito?

Izi sizikugwira ntchito konse.

Munthambi ndinadula chikwatu slide. Ndiko kuti, ngati mukuchita pa stack iliyonse yoyesa, mwachitsanzo, gulu A lili ndi foda yake, gulu B lili ndi foda yake, ndiye izi sizikugwiranso ntchito. Tinapanga code yogwirizana yoyeserera yomwe inali yosinthika mokwanira kuti igwirizane ndi aliyense. Ndiko kuti, tidapereka code imodzi.

Moni! Dzina langa ndine Yura! Zikomo chifukwa cha lipoti! Mafunso okhudza ma module. Mukuti mukugwiritsa ntchito ma module. Kodi mumathetsa bwanji vutoli ngati zosintha zapangidwa ku gawo limodzi lomwe silikugwirizana ndi kusintha kwa munthu wina? Kodi mwanjira ina mukusintha ma module kapena kuyesa kubweretsa wunderwaffle kuti mukwaniritse zofunikira ziwiri?

Ili ndi vuto lalikulu la chipale chofewa. Izi ndi zomwe timavutika nazo pamene kusintha kopanda vuto kungawononge gawo lina la zomangamanga. Ndipo izi zidzawonekera pakapita nthawi yayitali.

Ndiko kuti, sichinathetsedwebe?

Mumapanga ma module onse. Pewani ma snowflakes. Ndipo zonse zikhala bwino. Gawo lachiwiri la lipotili ndi momwe mungapewere izi.

Moni! Zikomo chifukwa cha lipoti! Ndikufuna kumveketsa. Kuseri kwa ziwonetsero kunali mulu waukulu womwe ndidadzera. Kodi Zidole ndi kagawanidwe ka maudindo zimaphatikizidwa bwanji?

Zogwiritsa ntchito.

Ndiye kuti, mumangolavulira fayiloyo ndikuyichita?

Deta ya ogwiritsa ntchito ndi cholemba, i.e. tikapanga chithunzi cha chithunzicho, Daemon amadzuka pamenepo ndipo, poyesa kudziwa kuti ndi ndani, amawerenga cholembera kuti ndi wolemetsa.

Ndiko kuti, kodi iyi ndi njira ina yosiyana yomwe imaperekedwa?

Sitinapange izo. Timachigwiritsa ntchito.

Moni! Ndili ndi funso lokhudza User - data. Munanena kuti pali mavuto, kuti wina atumize chinachake pamalo olakwika. Kodi pali njira ina yosungira deta ya ogwiritsa ntchito mu Git yomweyo, kuti nthawi zonse zizimveka bwino zomwe User-data ikutanthauza?

Timapanga Zogwiritsa Ntchito kuchokera ku template. Ndiko kuti, chiwerengero china cha zosinthika zimagwiritsidwa ntchito pamenepo. Ndipo Terraform imapanga chotsatira chomaliza. Choncho, simungangoyang'ana pa template ndi kunena zomwe zidzachitike, chifukwa mavuto onse akugwirizana ndi mfundo yakuti wopangayo akuganiza kuti akudutsa chingwe muzosinthazi, koma mndandanda umagwiritsidwa ntchito pamenepo. Ndipo iye, bambo ndi ine, wakuti-n-wakuti, wakuti-n-wakuti, mzere wotsatira, ndipo chirichonse chinasweka. Ngati ichi ndi chida chatsopano ndipo munthu amachitenga ndikuwona kuti chinachake sichikugwira ntchito, ndiye kuti chimathetsedwa mwamsanga. Ndipo ngati gulu la autoscale likusinthidwa, ndiye kuti nthawi zina zochitika mu gulu la autoscale zimayamba kusinthidwa. Ndipo, china chake sichikugwira ntchito. Zimawawa.

Zikuoneka kuti njira yokhayo ndiyo kuyesa?

Inde, mukuwona vuto, mumawonjezera mayeso pamenepo. Ndiko kuti, zotuluka zimathanso kuyesedwa. Mwina sizothandiza, koma mutha kuyikanso zizindikiro - onetsetsani kuti Zogwiritsa ntchito zidakhomeredwa apa.

Dzina langa ndine Timur. Ndizosangalatsa kwambiri kuti pali malipoti amomwe mungakonzekere bwino Terraform.

Sindinayambe.

Ndikuganiza kuti mwina pa msonkhano wotsatira padzakhala. Ndili ndi funso losavuta. Chifukwa chiyani mukulimbikira mtengo mu gawo lina m'malo mogwiritsa ntchito tfvars, mwachitsanzo, chifukwa chiyani gawo lomwe lili ndi zinthu zabwino kuposa tfvars?

Ndiko kuti, ndilembe apa (slide: Production/environment/settings.tf): domain = variable, domain vpcnetwork, variable vpcnetwork ndi stvars - kodi ndingapeze chinthu chomwecho?

Ndizo chimodzimodzi zomwe ife timachita. Timayang'ana ku gawo loyambira, mwachitsanzo.

Kwenikweni, izi ndi tfvars. Tfvars ndiyosavuta kwambiri m'malo oyesera. Ndili ndi tfvars nthawi zazikulu, zazing'ono. Ndipo ndinaponya fayilo imodzi mufoda. Ndipo ndinapeza zomwe ndinkafuna. Pamene tikudula zomangamanga, tikufuna kuti zitheke kuyang'ana ndikumvetsetsa zonse nthawi yomweyo. Ndipo kotero zikuwoneka kuti muyenera kuyang'ana apa, ndiye yang'anani pa tfvars.

Kodi ndizotheka kukhala ndi chilichonse pamalo amodzi?

Inde, tfvars ndi pamene muli ndi code imodzi. Ndipo imagwiritsidwa ntchito m'malo osiyanasiyana okhala ndi ma nuances osiyanasiyana. Ndiye mumaponya tfvars ndikupeza ma nuances anu. Ndipo ndife zomangamanga monga code mu mawonekedwe ake oyera. Ndinayang'ana ndikumvetsetsa.

Moni! Kodi mwakumanapo ndi zochitika zomwe wopereka mtambo amasokoneza zomwe mudapanga Terraform? Tiyerekeze kuti tasintha metadata. Pali makiyi a ssh. Ndipo Google nthawi zonse imayika metadata yake ndi makiyi ake pamenepo. Ndipo Terraform nthawi zonse amalemba kuti ili ndi zosintha. Pambuyo pakuthamanga kulikonse, ngakhale palibe chomwe chikusintha, nthawi zonse amanena kuti asintha gawoli tsopano.

Ndi makiyi, koma inde, gawo lachitukuko limakhudzidwa ndi chinthu ichi, i.e. Terraform sangasinthe chilichonse. Sitingasinthe chilichonse ndi manja athu. Tikhala nayo pano.

Ndiko kuti, mwakumanapo ndi izi, koma simunabwere ndi kalikonse, amazichita bwanji ndikuzichita yekha?

Mwatsoka inde.

Moni! Dzina langa ndine Starkov Stanislav. Makalata. ru Gulu. Kodi mumathetsa bwanji vuto lopanga tag pa..., mumadutsa bwanji mkati? Monga ndikumvetsetsa, kudzera mwa Wogwiritsa - data kuti mutchule dzina la alendo, khazikitsani Chidole? Ndipo gawo lachiwiri la funso. Kodi mumathetsa bwanji nkhaniyi mu SG, mwachitsanzo, mukamapanga SG, mazana amtundu womwewo, dzina lolondola ndi liti?

Zochitika zomwe zili zofunika kwambiri kwa ife, timazitchula mokongola. Zomwe sizikufunika, pali cholemba kuti ili ndi gulu la autoscale. Ndipo m'malingaliro mukhoza kukhomerera pansi ndikupeza yatsopano.

Ponena za vuto ndi tag, palibe vuto loterolo, koma pali ntchito yotere. Ndipo timagwiritsa ntchito ma tag kwambiri, kwambiri, chifukwa zomanga zake ndi zazikulu komanso zodula. Ndipo tikuyenera kuyang'ana komwe ndalamazo zikupita, kotero ma tag amatilola kuphwanya zomwe zidapita. Ndipo, motero, kufunafuna chinachake chomwe chikutanthauza kuti ndalama zambiri zimagwiritsidwa ntchito pano.

Funso linali chiyaninso?

Pamene SG imapanga mazana a zochitika, kodi amafunika kusiyanitsa mwanjira ina?

Ayi, musatero. Nthawi iliyonse pali wothandizira amene amandiuza kuti ndili ndi vuto. Ngati wothandizira apereka lipoti, ndiye kuti wothandizira amadziwa za iye ndipo, osachepera, adilesi yake ya IP ilipo. Mutha kuthawa kale. Kachiwiri, timagwiritsa ntchito Consul for Discovery, komwe Kubernetes kulibe. Ndipo Consul akuwonetsanso adilesi ya IP ya chitsanzocho.

Ndiye kuti, kodi mukungoyang'ana kwambiri pa IP, osati pa dzina la alendo?

Sizingatheke kuyenda ndi dzina la alendo, mwachitsanzo, alipo ambiri. Pali zozindikiritsa zitsanzo - AE, ndi zina zotero. Mutha kuzipeza kwinakwake, mutha kuziponya pakufufuza.

Moni! Ndinazindikira kuti Terraform ndi chinthu chabwino, chopangidwira mitambo.

Osati zokhazo.

Ili ndiye funso lomwe limandisangalatsa. Ngati mwasankha kusuntha, nenani, ku Bare Metal en masse ndi zochitika zanu zonse? Kodi padzakhala mavuto aliwonse? Kapena mudzagwiritsabe ntchito zinthu zina, mwachitsanzo, Ansible yomweyi yomwe yatchulidwa apa?

Ansible ndi pang'ono za chinthu china. Ndiye kuti, Ansible imagwira ntchito kale pamene chitsanzo chayamba. Ndipo Terraform imagwira ntchito isanayambe. Kusintha kupita ku Bare Metal - ayi.

Osati tsopano, koma malonda adzabwera nati: "Bwerani."

Kusintha kumtambo wina - inde, koma pali chinyengo chosiyana apa. Muyenera kulemba Terraform code m'njira yoti mutha kusinthana ndi mtambo wina mosavutikira.

Poyambirira, ntchitoyi idakhazikitsidwa kuti zida zathu zonse zinali za agnostic, mwachitsanzo, mtambo uliwonse uyenera kukhala woyenera, koma panthawi ina bizinesiyo idasiya ndipo idati: "Chabwino, m'zaka zikubwerazi za N sitipita kulikonse, titha kugwiritsa ntchito mautumiki. kuchokera ku Amazon"

Terraform imakulolani kuti mupange ntchito za Front-End, sinthani PagerDuty, doc data, etc. Ili ndi michira yambiri. Iye akhoza kwenikweni kulamulira dziko lonse.

Zikomo chifukwa cha lipoti! Ndakhala ndikugwiritsanso ntchito Terraform kwa zaka 4 tsopano. Pa siteji ya kusintha kosalala kupita ku Terraform, ku zomangamanga, ku kufotokozera kofotokozera, tinayang'anizana ndi zochitika pamene wina akuchita chinachake ndi dzanja, ndipo mukuyesera kupanga ndondomeko. Ndipo ine ndiri ndi vuto linalake pamenepo. Kodi mumatani mukakumana ndi mavuto ngati amenewa? Mumapeza bwanji zotayika zomwe zalembedwa?

Makamaka ndi manja athu ndi maso, ngati tiwona chinthu chachilendo mu lipotilo, ndiye kuti timasanthula zomwe zikuchitika kumeneko, kapena timangopha. Kawirikawiri, zopempha zokoka ndi chinthu wamba.

Ngati pali cholakwika, mumabweza? Kodi mwayesapo kuchita izi?

Ayi, ichi ndi chisankho cha munthu panthawi yomwe akuwona vuto.

Source: www.habr.com