Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Zvinoita sekuti vanogadzira Terraform vanopa zvakaringana zvakanaka maitiro ekushanda neAWS zvivakwa. Pane chete nuance. Nokufamba kwenguva, nhamba yenzvimbo inowedzera, imwe neimwe iine maitiro ayo. Inenge kopi yestack yekunyorera inoonekwa munharaunda yakavakidzana. Uye iyo Terraform kodhi inoda kunyatsokopwa uye kupepetwa zvinoenderana nezvinodiwa zvitsva kana kuitwa chando chechando.

Chirevo changu nezve mapatani muTerraform yekurwisa mhirizhonga uye manyorero maitiro pamapurojekiti makuru uye akareba.

Vhidhiyo:

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Ndine makore makumi mana, ndava nemakore makumi maviri ndiri muIT. Ndave nemakore gumi nemaviri ndichishandira Ixtens. Isu tiri kuita ecommerce-inotungamirwa-kusimudzira. Uye ndanga ndichidzidzira DevOps maitiro kwemakore mashanu.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Nyaya yangu ichava pamusoro pezvakaitika kwandiri muprojekti mune imwe kambani yandisingazotauri zita, ndichivanza shure kwechibvumirano chisina kuburitsa.

Nhamba dziri pachisiraidhi dzinoratidzwa kuitira kuti tinzwisise kukura kweprojekiti. Uye zvese zvandichataura zvinotevera zvine chekuita neAmazon.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Ndakajoinha chirongwa ichi makore mana apfuura. Uye kuvandudzwa kwezvivakwa kwaive kwave kuzara nekuti chirongwa chainge chakura. Uye mapatani aishandiswa akanga asisakodzeri. Uye kupa kukura kwese kwakarongwa kweprojekti, zvaive zvakafanira kuuya nechimwe chinhu chitsva.

Tinotenda Matvey, uyo akatiudza nezuro zvakaitika kuDodo Pizza. Izvi ndizvo zvakaitika pano makore mana apfuura.

Vagadziri vakauya ndokutanga kugadzira kodhi yezvivakwa.

Zvikonzero zviri pachena nei izvi zvaidiwa yaive nguva yekutengesa. Zvaive zvakakodzera kuve nechokwadi chekuti timu yeDevOps yanga isiri bhodhoro panguva yekuburitswa. Uye pakati pezvimwe zvinhu, Terraform nePuppet zvakashandiswa padanho rekutanga.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Terraform chirongwa chakavhurika sosi kubva kuHashiCorp. Uye kune avo vasingatomboziva kuti chii ichi, mashoma anotevera masiraidhi.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Infrastructure sekodhi zvinoreva kuti tinogona kutsanangura zvivakwa zvedu uye kubvunza mamwe marobhoti kuti tive nechokwadi chekuti tinogashira zviwanikwa zvatakatsanangura.

Semuenzaniso, tinoda muchina chaiwo. Isu tichatsanangura uye kuwedzera akati wandei anodiwa paramita.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Mushure meizvi, isu tichagadzirisa kupinda kuAmazon mune iyo console. Uye isu tichakumbira chirongwa cheTerraform. Urongwa hweTerraform hunoti: "Zvakanaka, tinogona kukuitira zvinhu izvi." Uye kana imwe sosi ichawedzerwa. Uye hapana shanduko inotarisirwa.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Kana uchinge wafara nezvose, unogona kukumbira Terraform kunyorera uye Terraform ichagadzira muenzaniso iwe, uye iwe uchagamuchira chaiwo muchina mugore rako.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Uyezve purojekiti yedu iri kusimukira. Tiri kuwedzera dzimwe shanduko ipapo. Tinokumbira mamwe mamiriro, tinowedzera 53 zvinyorwa.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Uye tinodzokorora. Ndapota ronga. Tinoona shanduko dzakarongwa. Isu tinonyorera. Uye uku ndiko kukura kwezvivakwa zvedu.

Terraform inoshandisa chimwe chinhu chinonzi mafaera ehurumende. Ndiko kuti, shanduko dzese dzinoenda kuAmazon dzinochengetwa mufaira uko kune yega yega sosi yawakatsanangura, kune inowirirana zviwanikwa zvakagadzirwa muAmazon. Saka, kana tsananguro yechishandiso ichichinja, Terraform inonyatsoziva zvinoda kuchinjwa muAmazon.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Aya mafaera ehurumende pakutanga aive mafaera chete. Uye isu takazvichengeta muGit, izvo zvaive zvisingaite. Mumwe munhu aigara achikanganwa kuita chinjo, uye kukakavara kwakawanda kwakamuka.

Iye zvino zvinogoneka kushandisa backend, i.e. Terraform inotsanangurwa mubhaketi ripi uye nei kiyi iyo faira yenyika inofanira kuchengetwa. Uye Terraform pachayo ichatarisira kuwana iyi faira yenyika, ichiita mashiripiti ese uye kudzoreredza mhedzisiro.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Zvivakwa zvedu zviri kukura. Heino kodhi yedu. Uye ikozvino isu hatisi kungoda kugadzira muchina chaiwo, tinoda kuve nemamiriro ekuyedza.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Terraform inokutendera iwe kuti ugadzire chinhu chakadai semodule, ndiko kuti, tsanangura chinhu chimwe chete mune imwe folda.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Uye, semuenzaniso, mukuyedza, fonera iyi module uye utore chinhu chimwe chete sekunge takaita Terraform shandisa mune module pachayo. Pakuedza pachava nekodhi iyi.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Pakugadzira, tinogona kutumira dzimwe shanduko ipapo, nekuti mukuyedza hatidi zviitiko zvakakura; mukugadzira, zviitiko zvakakura zvinongobatsira.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Uye ipapo ini ndichadzokera zvakare kupurojekiti. Raive basa rakaoma, zvivakwa zvakarongwa zvaive zvakakurisa. Uye zvakanga zvakakodzera kuti neimwe nzira kuisa kodhi yose kuitira kuti zvive nyore kune vose: kune avo vanoita kugadzirisa pane iyi kodhi uye kune avo vanochinja. Uye zvakarongwa kuti chero mugadziri anogona kuenda kunogadzirisa zvivakwa sezvinodiwa kune chikamu chake chepuratifomu.

Uyu ndiwo muti wedhairekitori unokurudzirwa neHashiCorp pachayo kana uine purojekiti hombe uye zvine musoro kugovera hurongwa hwese mune zvimwe zvidimbu zvidiki, uye tsanangura chidimbu chimwe nechimwe mufaira rakasiyana.

Kuve neraibhurari yakakura yezviwanikwa, unogona kufonera chinhu chimwe chete mukuyedza uye mukugadzira.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Kwatiri, izvi zvanga zvisina kunyatsokodzera, nekuti bvunzo stack yevagadziri kana yekuyedza yaifanira kuwanikwa neimwe nzira iri nyore. Asi ini ndanga ndisingade kuenda nemaforodha ndoashandisa mukutevedzana kunodiwa, uye kunetseka kuti dhatabhesi raizosimuka, uyezve muenzaniso unoshandisa dhatabhesi inosimuka. Naizvozvo, kuyedzwa kwese kwakatangwa kubva kune imwe folda. Iwo ma module akadanwa ipapo, asi zvese zvakaitwa mukumhanya kumwe.

Terraform inotarisira zvese zvinotsamira. Uye inogara ichigadzira zviwanikwa mukutevedzana kuitira kuti iwe ugone kuwana IP kero, semuenzaniso, kubva kuchangobva kugadzirwa muenzaniso, uye tora iyi IP kero mugwagwa53 rekodhi.

Mukuwedzera, chikuva chakakura kwazvo. Uye kutanga test stack, kunyangwe kweawa, kunyangwe kwemaawa masere, ibasa rinodhura.

Uye isu takagadzirisa nyaya iyi. Uye Jenkins basa rakatibvumira kumhanyisa stack. Mariri, zvaive zvakakodzera kuvhura chikumbiro chekudhonza neshanduko idzo mugadziri anoda kuyedza, tsanangura zvese zvinodikanwa sarudzo, zvikamu, uye zviyero. Kana achida kuyedzwa kwekuita, saka anogona kutora mamwe mamiriro. Kana achingoda kutarisa kuti rimwe fomu rinovhurika here, ipapo anogona kutanga pamuhoro wepasi. Uye zvakare ratidza kana sumbu rinodiwa kana kwete, nezvimwe.

Uye ipapo Jenkins akasundira shell script, iyo yakashandura zvishoma kodhi muTerraform folda. Ndakabvisa mafaira asina kufanira uye ndakawedzera mafaira aidiwa. Uye nekumhanya kumwe kweTerraform shandisa stack yakasimudzwa.

Uye ipapo pakanga paine mamwe matanho andisingadi kupinda.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Nekuda kwekuti pakuedza taida zvimwe zvishoma pane mukugadzira, taifanira kugadzira makopi emamodules kuitira kuti mumakopi aya tiwedzere iwo maficha aingodiwa pakuyedzwa chete.

Uye zvakaitika kuti mukuyedza ini ndinoda kuyedza shanduko idzo dzinozopedzisira dzaenda mukugadzirwa. Asi chokwadi, chinhu chimwe chakaedzwa, uye chakasiyana zvishoma chakashandiswa mukugadzira. Uye pakanga paine kutyora kudiki pateni iyo mukugadzira shanduko dzese dzakashandiswa neboka rekuvhiya. Uye dzimwe nguva zvakazoitika kuti shanduko idzo dzaifanirwa kuenda kubva pakuyedzwa kuenda kukugadzira dzakaramba dziri mune imwe vhezheni.

Mukuwedzera, pakanga pane dambudziko rakadaro zvokuti sevhisi itsva yakawedzerwa, iyo yakanga yakasiyana zvishoma kubva kune imwe yakatovapo. Uye pachinzvimbo chekugadzirisa module yaivepo, taifanira kuita kopi yayo nekuwedzera shanduko dzinodiwa.

Chaizvoizvo, Terraform hausi mutauro chaiwo. Ichi chiziviso. Kana tichida kuzivisa chimwe chinhu, tinochizivisa. Uye zvose zvinoshanda.

Pane imwe nguva, apo imwe yezvikumbiro zvangu zvekudhonza yaikurukurwa, mumwe wevandinoshanda navo akati pakanga pasina chikonzero chekugadzira mazaya echando. Ndakashaya kuti airevei. Pane chokwadi chesainzi chekuti hapana maviri akafanana mazaya echando munyika, ese akasiyana zvishoma. Uye pandakangonzwa izvi, ndakabva ndanzwa huremu hwakazara hweTerraform kodhi. Nekuti pazvaifanira kutama kubva kushanduro kuenda kune imwe shanduro, Terraform yaida kuchinja cheni, kureva kuti kodhi yacho yakanga isingachaenderani neshanduro inotevera. Uye isu taifanira kuita chikumbiro chekudhonza, icho chakavhara inenge hafu yemafaira muzvivako, kuitira kuti tiunze zvivakoti kune imwe inotevera yeTerraform.

Uye pashure pokunge chando chakadaro chaoneka, Terraform code yose yatakanga tashandura kuva murwi mukuru, mukuru wesinou.

Kune mugadziri wekunze ari kunze kwekushanda, izvi hazvina basa zvakanyanya kwaari, nekuti akaita chikumbiro chekudhonza, sosi yake yakatanga. Uye ndizvo chete, haisiri hanya yake zvakare. Uye timu yeDevOps, inova nechokwadi chekuti zvese zvakanaka, inodiwa kuita shanduko dzese idzi. Uye mutengo wekuchinja uku wakawedzera zvakanyanya, zvakanyanya neimwe yekuwedzera snowflake.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Pane nyaya yekuti mudzidzi pasemina anodhirowa sei madenderedzwa maviri akakwana nechoko pabhodhi. Uye mudzidzisi anoshamiswa kuti akakwanisa sei kudhirowa zvakanaka pasina kambasi. Mudzidzi wacho anopindura kuti: β€œZviri nyore chaizvo, ndakapedza makore maviri ndiri muuto ndichichinja giya renyama.”

Uye pamakore mana andave ndichiita basa iri, ndanga ndichiita Terraform kwemakore maviri. Uye, hongu, ndine mamwe manomano, mamwe mazano ekuita kurerutsa iyo Terraform kodhi, kushanda nayo semutauro wechirongwa uye kuderedza mutoro kune vanogadzira vanofanirwa kuchengetedza iyi kodhi kusvika parizvino.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Chinhu chekutanga chandinoda kutanga nacho Symlinks. Terraform ine yakawanda yekudzokorora kodhi. Semuyenzaniso, kufona kumupi pese pese patinogadzira chidimbu chezvivakwa zvakafanana. Uye zvine musoro kuiisa mune imwe folda. Uye pese panodiwa mupi wekugadzira maSymlink kune iyi faira.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Semuenzaniso, mukugadzira iwe unoshandisa fungidziro, iyo inokutendera iwe kuti uwane kodzero dzekuwana kune imwe yekunze Amazon account. Uye wachinja faira rimwe chete, ese asara mumuti wezvekushandisa achave nekodzero dzinodiwa kuitira kuti Terraform izive kuti ndeipi chikamu cheAmazon chekuwana.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Symlinks inokundikana kupi? Sezvandakataura, Terraform ine mafaera enyika. Uye ivo vakanyanya, vakanaka kwazvo. Asi chinhu ndechekuti Terraform inotanga iyo backend munzvimbo yekutanga. Uye haakwanise kushandisa chero shanduko mumaparamita aya; dzinofanirwa kugara dzakanyorwa mumanyoro.

Uye semhedzisiro, kana mumwe munhu agadzira sosi nyowani, anokopa imwe kodhi kubva kune mamwe maforodha. Uye anogona kukanganisa nekiyi kana nebhaketi. Semuenzaniso, anogadzira chinhu chebhokisi rejecha kubva kubhokisi rejecha, uye obva aita mukugadzirwa. Uye saka zvinogona kuitika kuti bhaketi mukugadzirwa richashandiswa kubva kubhokisi rejecha. Zvechokwadi, vachaiwana nokukurumidza. Izvo zvichave zvichigoneka kugadzirisa izvi neimwe nzira, asi zvakadaro kutambisa nguva uye, kune imwe nhanho, zviwanikwa.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Chii chatinogona kuita zvinotevera? Usati washanda neTerraform, unofanirwa kuitanga. Pakutanga, Terraform inodhawunirodha ese maplugins. Pane imwe nguva ivo vakapatsanuka kubva kune monolith kuenda kune imwe microservice architecture. Uye iwe unogara uchida kuita Terraform init kuitira kuti inokwevera kumusoro mamodules, ese mapulagi.

Uye iwe unogona kushandisa shell script, iyo, yekutanga, inogona kuwana ese akasiyana. Iyo shell script haina kuganhurirwa neimwe nzira. Uye, chechipiri, nzira. Kana tikagara tichishandisa nzira iri mudura sekiyi yefaira rehurumende, saka, saizvozvo, kukanganisa kuno kuchabviswa.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Ndingawane kupi data? JSON faira. Terraform inokubvumira kunyora zvivakwa kwete chete muhcl (HashiCorp Configuration Mutauro), asiwo muJSON.

JSON iri nyore kuverenga kubva kune shell script. Saizvozvo, iwe unogona kuisa iyo yekumisikidza faira nebhaketi mune imwe nzvimbo. Uye shandisa bhaketi iri zvese muTerraform kodhi uye mune iyo shell script yekutanga.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Sei zvakakosha kuve nebhaketi reTerraform? Nekuti pane chinhu chakadai semafaera ehurumende ari kure. Ndokunge, pandinosimudza imwe sosi, kuti ndiudze Amazon: "Ndapota simudza muenzaniso," ini ndinofanira kudoma akawanda anodiwa paramita.

Uye zviziviso izvi zvakachengetwa mune imwe folda. Uye ndinogona kuenda ndoti: "Terraform, ndapota mhanya kufaira rehurumende reiyo sosi uye unditore zvitupa izvi." Uye nekudaro kumwe kubatana kunoonekwa pakati penzvimbo dzakasiyana kana nharaunda.

Hazviiti nguva dzose kushandisa faira rehurumende iri kure. Semuenzaniso, iwe wakagadzira VPC neruoko. Uye iyo Terraform kodhi inogadzira iyo VPC inogadzira akasiyana maVPC zvekuti zvinotora nguva yakareba kwazvo uye uchafanirwa kugadzirisa imwe kune imwe, saka unogona kushandisa hunotevera hunyengeri.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Kureva kuti, gadzira module inoita seinoita VPC uye, sokunge zvakadaro, inokupa zviziviso, asi kutaura zvazviri kune faira rine hardcoded values ​​rinogona kushandiswa kugadzira yakafanana.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Haisi nguva dzose inofanirwa kuchengetedza faira yehurumende mugore. Semuenzaniso, paunenge uchiedza ma modules, unogona kushandisa backend kutanga, apo iyo faira inongochengetwa pa diski panguva yekuedzwa.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Iye zvino zvishoma nezvekuyedza. Chii chaunogona kuyedza muTerraform? Pamwe zvakawanda zvinogoneka, asi ini ndichataura nezve 4 zvinhu izvi.

HashiCorp ine nzwisiso yekuti Terraform kodhi inofanirwa kuumbwa sei. Uye Terraform fmt inokutendera kuti ugadzire kodhi yaunogadzirisa zvinoenderana nekutenda uku. Saizvozvo, bvunzo dzinofanirwa kutarisa kuti mafomati anoenderana here neyakasiiwa neHashiCorp, kuitira kuti pasave nechikonzero chekuchinja nzvimbo yemabhuraketi, nezvimwe.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Inotevera ndeye Terraform simbisa. Izvo zvinoita zvishoma kupfuura kutarisa syntax - ala, angave ese maparentheses akabatanidzwa. Chii chakakosha apa? Zvivakwa zvedu zvakakura. Pane zvakawanda zvakasiyana daddy mariri. Uye mune yega yega iwe unofanirwa kumhanya Terraform simbisa.

Saizvozvo, kuti tikurumidze kuyedza, isu tinomhanyisa akawanda maitiro mukufanana tichishandisa parallel.

Parallel chinhu chinotonhorera kwazvo, chishandise.

Asi pese Terraform painotanga, inoenda kuHashiCorp yobvunza, "Ndedzipi dzichangobva plugin shanduro? Uye plugin yandinayo mucache - ndiyo chaiyo here kana kuti isiriyo?" Uye izvi zvakadzikira padanho rega rega.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Kana iwe ukaudza Terraform kuti ma plugins ari kupi, ipapo Terraform ichati: "Zvakanaka, ichi chingangove chinhu chazvino chiripo. Ini hapana kwandinoenda, ndichabva ndatanga kusimbisa kodhi yako yeTerraform."

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Kuti uzadze folda nemapulagi anodiwa, isu tine Terraform kodhi yakapusa inongoda kutanga. Pano, hongu, iwe unofanirwa kutsanangura vese vanopa vanotora chikamu mune yako kodhi, zvikasadaro Terraform ichati: "Handizive mumwe mupi nekuti haisi mu cache."

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Chinotevera chirongwa cheTerraform. Sezvandambotaura, budiriro inotenderera. Isu tinoita shanduko kune kodhi. Uye ipapo iwe unofanirwa kuona kuti ndedzipi shanduko dzakarongwa kune zvivakwa.

Uye kana zvivakwa zvakanyanya, zvakakura kwazvo, unogona kushandura module imwe, gadzirisa imwe nzvimbo yekuyedza kana imwe nzvimbo chaiyo uye kutyora imwe yakavakidzana. Naizvozvo, chirongwa cheTerraform chinofanirwa kuitirwa zvivakwa zvese uye kuratidza shanduko dzakarongwa.

Iwe unogona kuita izvi nehungwaru. Semuenzaniso, isu takanyora Python script inogadzirisa zvinoenderana. Uye zvichienderana nezvakachinjwa: Terraform module kana chimwe chinhu, inoita zvirongwa kune ese anotsamira maforodha.

Zvirongwa zveTerraform zvinofanirwa kuitwa pakukumbira. At least ndozvatinoita.

Ehe, zvakanaka kuita bvunzo kune yega shanduko, kune yega kuzvipira, asi zvirongwa chinhu chinodhura. Uye muchikumbiro chekudhonza tinoti, "Ndokumbira undipe zvirongwa." Robhoti rinotanga. Uye inotumira makomendi kana kubatanidza zvese zvirongwa zvinotarisirwa kubva pakuchinja kwako.

Chirongwa chinhu chinodhura. Zvinotora nguva nekuti Terraform inoenda kuAmazon uye inobvunza, "Ko chiitiko ichi chichiripo here? Iyi autoscale ine maparamita akafanana here? " Uye kuti ukurumidze kuita izvi, unogona kushandisa parameter senge refresh=false. Izvi zvinoreva kuti Terraform ichatora nyika kubva kuS3. Uye ichatenda kuti iyo nyika ichanyatso enderana nezviri muAmazon.

Urongwa hwakadaro hweTerraform hunoenda nekukurumidza, asi iyo nyika inofanirwa kuenderana neako masisitimu, i.e. kumwe kunhu, imwe nguva Terraform yekuzorodza inofanira kutanga. Terraform refresh inoita chaizvo izvo: nyika inofanana nezviri mune chaiyo magadzirirwo.

Uye tinofanira kutaura nezvekuchengeteka. Apa ndipo pataifanira kutangira. Kwaunomhanya Terraform neTerraform inomhanya pazvivakwa zvako pane kusazvibata. Ndiko kuti, uri kunyanya kuita kodhi. Uye kana chikumbiro chekudhonza chiine imwe mhando yekodhi ine hutsinye, saka inogona kuitwa pane zvivakwa zvine yakawandisa kuwana. Saka chenjera kwaunomhanyisa chirongwa cheTerraform.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Chinhu chinotevera chandinoda kutaura nezvacho ndechekuongorora-data.

Chii chinonzi user-data? MuAmazon, patinogadzira muenzaniso, tinogona kutumira imwe tsamba ine muenzaniso - meta data. Kana muenzaniso uchitanga, kazhinji cloud init inogara iripo pane izvi zviitiko. Cloud init inoverenga tsamba iyi ndokuti: "Zvakanaka, nhasi ndini ndinoyeresa." Uye maererano nezvibvumirano izvi anoita zvimwe zviito.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Asi, zvinosuruvarisa, kana isu tikaita Terraform chirongwa uye Terraform kushanda, mushandisi-data inoita senge rudzi urwu rwemush yenhamba. Kureva kuti anongokutumira hashi. Uye zvese zvaunogona kutarisa muchirongwa ndezvekuti pachava neshanduko kana kuti hashi icharamba yakafanana.

Uye kana iwe ukasateerera kune izvi, ipapo mamwe akatyoka mameseji faira anogona kupedzisira asvika paAmazon, pane chaiwo magadzirirwo.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Neimwe nzira, kana uchiita, iwe unogona kutsanangura kwete zvese zvivakwa, asi chete template. Uye mune kodhi iti: "Ndokumbira utarise iyi template pachiratidziro changu." Uye semhedzisiro, iwe unogona kuwana printout yekuti data rako richataridzika sei paAmazon.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Imwe sarudzo ndeye kushandisa module kugadzira mushandisi-data. Iwe unozoshandisa iyi module. Iwe unogamuchira iyo faira pane disk. Enzanisa nereferenzi. Uye nekudaro, kana mumwe mukomana akafunga kugadzirisa mushandisi-data zvishoma, bvunzo dzako dzinozoti: "Zvakanaka, pane shanduko pano neapo - izvi zvakajairika."

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Chinhu chinotevera chandinoda kutaura nezvacho ndechekuti Automate Terraform shandisa.

Ehe, zvinototyisa kuita Terraform kunyorera mune otomatiki modhi, nekuti ndiani anoziva shanduko dzakauya ipapo uye nekuparadza kwadzinogona kuita kune yekugara.

Kunzvimbo yekuyedza, izvi zvese zvakajairika. Ndiko kuti, basa rinogadzira mamiriro ebvunzo ndiro rinodiwa nevagadziri vese. Uye chirevo chakadai sekuti "zvese zvakandiitira" haisi meme inosetsa, asi humbowo hwekuti munhu akavhiringika, akasimudza murwi, uye akamhanyisa mimwe bvunzo pane iyi stack. Uye akave nechokwadi chekuti zvese zvaive zvakanaka ipapo ndokuti: "Zvakanaka, kodhi yandiri kuburitsa yakaedzwa."

Mukugadzira, bhokisi rejecha uye dzimwe nharaunda dzinonyanya kukosha bhizinesi, unogona kushandisa zvishoma zviwanikwa zvakachengeteka nekuti hazvikonzerese kuti chero munhu afe. Aya ndeaya: autoscale mapoka, mapoka ekuchengetedza, mabasa, nzira53, uye rondedzero ipapo inogona kunge yakakura. Asi ramba wakatarira zviri kuitika, verenga otomatiki application mishumo.

Iko kune ngozi kana kutyisa kushandisa, semuenzaniso, kana izvi zviri zvimwe zviwanikwa zvinoramba zvichibva kudhatabhesi, wobva wagashira mishumo yekuti pane shanduko dzisina kushandiswa mune chimwe chidimbu chezvivakwa. Uye injiniya, ari pasi pekutariswa, anotanga mabasa kuishandisa kana kuaita kubva kune yake console.

Amazon ine chinhu chakadai seKumisa kudzivirira. Uye inogona kudzivirira mune zvimwe zviitiko kubva kune shanduko dzisingadiwe kwauri. Kureva kuti, Terraform akaenda kuAmazon ndokuti: "Ndinofanira kuuraya chiitiko ichi kuti ndigadzire imwe." Uye Amazon inoti: "Ndine urombo, kwete nhasi. Tine Terminate protection."

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Uye iyo icing pakike ndeye kodhi optimization. Patinoshanda neTerraform kodhi, isu tinofanirwa kupfuudza nhamba yakakura kwazvo yemaparamita kune module. Aya ndiwo maparameter anodiwa kuti ugadzire imwe mhando yechishandiso. Uye iyo kodhi inoshanduka kuita rondedzero huru dzema paramita anoda kupfuudzwa kubva kumodule kuenda kune module, kubva kumodule kuenda kune module, kunyanya kana ma module akaiswa.

Uye zvakaoma zvikuru kuverenga. Zvakaoma zvikuru kuongorora izvi. Uye kazhinji zvinozoitika kuti mamwe ma paramita anoongororwa uye haasi iwo chaiwo anodiwa. Uye izvi zvinoda nguva nemari kugadzirisa gare gare.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Naizvozvo, ini ndinokupa zano kuti ushandise chinhu chakadai seyakaomesesa parameter iyo inosanganisira imwe muti wezvakakosha. Ndokunge, iwe unoda imwe mhando yeforodha uko iwe une ese maitiro aungade kuve mune imwe nharaunda.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Uye nekudaidza iyi module, unogona kuwana muti unogadzirwa mune imwechete yakajairika module, kureva, mune yakajairwa module inoshanda zvakafanana kune yese zvivakwa.

Mune ino module iwe unogona kuita mamwe masvomhu uchishandisa chazvino chiitiko muTerraform sevagari venzvimbo. Uyezve, nekubuda kumwe, ipa imwe yakaoma paramende, iyo inogona kusanganisira array hashes, nezvimwe.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Apa ndipo pandinenge ndagumira zvese zvakawanikwa. Uye ndinoda kutaura nyaya nezveColumbus. Paakanga achitsvaga mari yerwendo rwake kuti awane India (sezvaaifunga ipapo), hapana akamutenda uye vakafunga kuti hazvigoneke. Akabva ati: β€œIta kuti zai racho risadonha.” Vese mabhanga, vakapfuma kwazvo uye pamwe vanhu vakangwara, vakaedza neimwe nzira kuisa zai, uye rakaramba richidonha. Ipapo Columbus akatora zai ndokuritsimbirira zvishoma. Goko rakabva raunyana zai rikaramba richipfakanyika. Vakati, "O, zviri nyore kwazvo!" Uye Columbus akapindura kuti: β€œEhe, zvakapfava. Uye pandinovhura India, munhu wese achashandisa nzira iyi yekutengeserana. "

Uye zvandabva kukuudza zvimwe zvinhu zvakapfava uye zvisina basa. Uye paunodzidza nezvavo uye wotanga kuzvishandisa, zviri muhurongwa hwezvinhu. Saka tora mukana. Uye kana izvi zviri zvinhu zvakajairika kwauri, saka iwe unoziva kuisa zai kuti risadonha.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Ngatidimburei:

  • Edza kudzivisa snowflakes. Uye mashoma echando echando, zviwanikwa zvishoma zvauchazoda kuita chero shanduko mukati mehukuru hwako hwekuvaka.
  • Kuchinja nguva dzose. Ndiko kuti, kana dzimwe shanduko dzikaitika mukodhi, iwe unofanirwa kuunza zvivakwa zvako mukutevedzera shanduko idzi nekukurumidza sezvinobvira. Hapafanirwe kuve nemamiriro ezvinhu apo mumwe munhu anouya kuzotarisa Elasticsearch mwedzi miviri kana mitatu gare gare, oita chirongwa cheTerraform, uye kune boka rekuchinja raasina kutarisira. Uye zvinotora nguva yakawanda kudzorera zvinhu zvose muhurongwa.
  • Miedzo uye otomatiki. Iyo yakawanda kodhi yako yakafukidzwa nemiedzo uye maficha, iwe unowedzera kuvimba kwaunoita kuti uri kuita zvese nemazvo. Uye kutumira otomatiki kuchawedzera kuvimba kwako kakawanda.
  • Iyo kodhi yebvunzo uye yekugadzira nharaunda inofanirwa kunge yakafanana. Chaizvoizvo, nekuti kugadzira kuchiri kwakasiyana zvishoma uye kuchine mamwe nuances anoenda kupfuura bvunzo nharaunda. Asi zvakadaro, kuwedzera kana kubvisa, izvi zvinogona kuve nechokwadi.
  • Uye kana iwe uine yakawanda Terraform kodhi uye zvinotora nguva yakawanda kuchengetedza iyi kodhi kusvika parizvino, saka haina kumbononoka kudzoreredza uye kuiwana mune yakanaka chimiro.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

  • Zvivakwa zvisingachinjiki. AMI kuendesa panguva yakatarwa.
  • Mamiriro enzira53 kana iwe uine akawanda ekupinda uye iwe uchida kuti ave muhurongwa hunoenderana.
  • Kurwisa API mwero miganho. Apa ndipo painoti Amazon, "Ndozvazviri, handikwanise kubvuma zvimwe zvikumbiro, ndapota mira." Uye hafu yehofisi yakamirira kusvika yakwanisa kuvhura zvivakwa zvayo.
  • Spot zviitiko. Amazon haisi chiitiko chakachipa uye mavara anotendera iwe kuchengetedza zvakanyanya. Uye ipapo iwe unogona kutaurira mushumo wose nezvazvo.
  • Chengetedzo uye IAM mabasa.
  • Kutsvaga zviwanikwa zvakarasika, kana uine zviitiko zvekusazivikanwa kwakabva muAmazone, vanodya mari. Kunyangwe kana zviitiko zvichidhura $100-150 pamwedzi, izvo zvinodarika $1 pagore. Kuwana zviwanikwa zvakadaro ibhizinesi rine pundutso.
  • Uye reserved cases.

Mapeteni muTerraform kurwisa mhirizhonga uye manyorero maitiro. Maxim Kostrikin (Ixtens)

Ndizvo zvangu. Terraform inotonhorera kwazvo, unoishandisa. Ndatenda!

Mibvunzo yako

Ndatenda nemushumo! Yako faira renyika iri muS3, asi unogadzirisa sei dambudziko rekuti vanhu vakati wandei vatore iyi faira rehurumende voedza kuwedzera?

Chekutanga, hatisi kukurumidza. Chechipiri, kune mireza, umo isu tinoshuma kuti tiri kushanda pane imwe chidimbu chekodhi. Ndiko, pasinei nokuti zvivakoti zvakakura kwazvo, izvi hazvirevi kuti mumwe munhu anogara achishandisa chimwe chinhu. Uye paive nechikamu chinoshanda, iri raive dambudziko; takachengeta mafaera ehurumende muGit. Izvi zvaive zvakakosha, kana zvisina kudaro mumwe munhu aizoita faira rehurumende, uye taifanira kuzviisa pamwe chete kuitira kuti zvose zvienderere mberi. Ikozvino hakuna dambudziko rakadaro. Kazhinji, Terraform yakagadzirisa dambudziko iri. Uye kana chimwe chinhu chiri kuramba chichichinja, saka unogona kushandisa zvivharo, izvo zvinodzivirira zvawataura.

Uri kushandisa yakavhurika sosi kana bhizinesi?

Hapana bhizinesi, kureva zvese zvaunogona kuenda uye kurodha mahara.

Ini ndinonzi Stanislav. Ndaida kuwedzera zvishoma. Iwe wakataura nezve chinhu cheAmazon chinokutendera kuti uite muenzaniso usingaite. Izvi zvakare zviri muTerraform pachayo; muHupenyu Chechipiri block unogona kutsanangura kurambidzwa kwekuchinja kana kurambidzwa kuparadza.

Nguva yaiva shoma. Pfungwa yakanaka.

Ndaidawo kubvunza zvinhu zviviri. Chekutanga, wakataura nezvekuyedza. Wakamboshandisa maturusi ekuedza here? Ndakanzwa nezve Test Kitchen plugin. Zvichida pane chimwe chinhu. Uye ndodawo kubvunza nezve Local Values. Zvakasiyana papi kubva kuInput Variables? Uye nei ini ndisingakwanise kuisa chimwe chinhu kuburikidza neNharaunda Values ​​chete? Ndakaedza kufunga nyaya iyi, asi neimwe nzira handina kukwanisa kuinzwisisa ini.

Tinogona kutaura zvakadzama kunze kwekamuri rino. Maturusi edu ekuyedza anozvigadzira ega. Hapana chekuedza. Kazhinji, pane zvingasarudzwa kana otomatiki bvunzo dzichitora zvivakwa kune imwe nzvimbo, tarisa kuti zvakanaka here, wobva waparadza zvese neshumo yekuti zvivakwa zvako zvichiri muchimiro chakanaka. Isu hatina izvi nekuti test stacks dzinoitwa mazuva ese. Uye zvakakwana. Uye kana chimwe chinhu chikatanga kutsemuka, chinotanga kutsemuka pasina isu tichichitarisa kune imwe nzvimbo.

Nezve Zvinokosha Zvemunzvimbo, ngatienderere mberi nehurukuro kunze kwekamuri.

Mhoro! Ndatenda nemushumo! Inodzidzisa zvakanyanya. Iwe wati iwe une yakawanda yakafanana mhando yekodhi yekutsanangura zvivakwa. Wafunga kugadzira kodhi iyi?

Mubvunzo wakanaka, ndatenda! Pfungwa ndeyokuti patinoshandisa zvivakwa sekodhi, tinofunga kuti tinotarisa kodhi uye tinonzwisisa kuti zvipi zvivakwa zviri shure kwekodhi iyo. Kana kodhi ikagadzirwa, saka isu tinoda kufungidzira kuti ndeipi kodhi ichagadzirwa kuitira kuti tinzwisise kuti rudzii rwezvivakwa zvichavepo. Pamwe isu tinogadzira kodhi, ita, uye chaizvo chinhu chimwe chete chinoitika. Saka takatevera nzira yatakanyora, takaiwana. Plus majenareta akazoonekwa pave paya patakatanga kugadzira. Uye yakanga yatononoka kuchinja.

Pane zvawakanzwa nezve jsonnet?

Kwete

Tarisai, ichi chinhu chakanaka kwazvo. Ini ndinoona imwe nyaya kwaunogona kuishandisa uye kugadzira data data.

Majenareta akanaka kana uine iwo, semujee nezvemuchina wekuveura ndebvu. Ndiko kuti, nguva yokutanga chiso chakasiyana, asi ipapo munhu wose ane chiso chakafanana. Majenareta anoshanda chaizvo. Asi, zvinosuruvarisa, zviso zvedu zvakasiyana zvishoma. Iri idambudziko.

Ingotarisa. Ndatenda!

Zita rangu ndinonzi Maxim, ndinobva kuSberbank. Iwe wakataura zvishoma nezvekuti wanga uchiedza kuunza Terraform kune yakaenzana nemutauro wepurogiramu. Hazvisi nyore kushandisa Ansible?

Izvi zvinhu zvakasiyana chaizvo. Iwe unogona kugadzira zviwanikwa muAnsible, uye Puppet inogona kugadzira zviwanikwa muAmazon. Asi Terraform yakanyatsorodzwa.

Iwe une Amazon chete here?

Hazvirevi kuti isu tine Amazon chete. Isu tine maAmazon chete. Asi chinhu chakakosha ndechekuti Terraform inorangarira. MuAnsible, kana iwe ukati: "Ndipe 5 zviitiko," zvino ichasimudza, uye iwe wobva wati: "Uye ikozvino ndinoda 3." Uye Terraform ichati: "Zvakanaka, ndichauraya 2," uye Ansible achati: "Zvakanaka, heino 3 yako." Zvose 8.

Mhoro! Ndatenda neshumo yako! Zvaifadza zvikuru kunzwa nezveTerraform. Ndinoda kutaura diki nekukasika nezvenyaya yekuti Terraform haisati yave nekuburitswa kwakagadzikana, saka bata Terraform nekuchenjerera kukuru.

Chipunu chakanaka chekudya kwemanheru. Ndiko kuti, kana iwe uchida mhinduro, saka dzimwe nguva unobvisa izvo zvisina kugadzikana, nezvimwewo, asi zvinoshanda uye zvakatibatsira.

Mubvunzo ndeuyu. Iwe unoshandisa Remote backend, unoshandisa S 3. Sei usingashandisi iyo yepamutemo backend?

Official?

Terraform Cloud.

Akaonekwa rinhi?

Inenge 4 mwedzi yapfuura.

Dai yakaonekwa makore mana apfuura, saka ndingadai ndakapindura mubvunzo wako.

Iko kune yatova yakavakirwa-mukati basa uye makiyi, uye iwe unogona kuchengeta faira rehurumende. Edza. Asi handisati ndazviyedzawo.

Tiri kufamba nechitima chihombe chiri kufamba zvakanyanya. Uye haugone kungotora mota shoma wodzikanda kure.

Iwe wakataura nezve snowflakes, nei usina kushandisa bazi? Nei zvisina kufamba saizvozvo?

Maitiro edu ndeokuti zvivakwa zvese zviri munzvimbo imwe chete. Terraform, Puppet, zvinyorwa zvese zvine hukama neizvi, ese ari mune imwe repository. Nenzira iyi tinogona kuve nechokwadi chekuti shanduko dzekuwedzera dzinoyedzwa imwe neimwe. Dai raive boka rematavi, saka chirongwa chakadaro chingave chisingabviri kuchengetedza. Mwedzi mitanhatu inopfuura, uye vanosiyana zvakanyanya zvekuti chingori rudzi rwechirango. Izvi ndizvo zvandaida kutiza ndisati ndagadzirisa.

Saka hazvishande?

Izvi hazvishandi zvachose.

Mubazi ndakacheka faira slide. Ndokunge, kana iwe uchizviita kune yega yega test stack, semuenzaniso, timu A ine yayo folda, timu B ine yayo folda, saka izvi zvakare hazvishande. Isu takagadzira yakabatana bvunzo nharaunda kodhi yaichinjika kuti ikwane munhu wese. Ndiko kuti, takashumira kodhi imwe.

Mhoro! Ini ndinonzi Yura! Ndatenda nemushumo! Mubvunzo nezve modules. Iwe unoti uri kushandisa ma modules. Unogadzirisa sei nyaya kana shanduko dzaitwa kune imwe module isingaenderane neshanduko yemumwe munhu? Iwe uri neimwe nzira kushandura mamodule kana kuedza kuunza wunderwaffle kuti isangane nezvinodiwa zviviri?

Iri idambudziko guru remurwi wechando. Izvi ndizvo zvatinotambura nazvo kana imwe shanduko isina mhosva inogona kutyora chimwe chikamu chezvivakwa. Uye izvi zvinozoonekwa chete mushure menguva refu.

Ndiko kuti, haisati yagadziriswa?

Iwe unogadzira universal modules. Dzivisa snowflakes. Uye zvese zvichabuda. Chikamu chechipiri chemushumo ndechekudzivirira sei izvi.

Mhoro! Ndatenda nemushumo! Ndinoda kujekesa. Seri kwezviono kwaive nemurwi mukuru wandakavinga. Ko Puppet uye basa rekugovera zvakabatanidzwa sei?

User-data.

Kureva, iwe unongopfira faira uye neimwe nzira woriita?

Mushandisi-data chinyorwa, i.e. patinoita clone yemufananidzo, Daemon anosimuka ipapo uye, achiedza kufunga kuti ndiani, anoverenga chinyorwa chekuti muyedzo wemutoro.

Ndiko kuti, iyi ndiyo imwe mhando yemaitiro akaparadzana anopiwa?

Hatina kuzvigadzira. Isu tinoishandisa.

Mhoro! Ini ndinongova nemubvunzo nezve Mushandisi - data. Wati kune matambudziko ikoko, kuti mumwe munhu angatumira chimwe chinhu kunzvimbo isiri iyo. Pane imwe nzira yekuchengetedza mushandisi-data muGit imwechete, kuti igare yakajeka kuti Mushandisi-data anoreva nezvei?

Isu tinogadzira Mushandisi-data kubva kutemplate. Ndiko kuti, imwe nhamba yezvinyorwa zvinoshandiswa ipapo. Uye Terraform inogadzira mhedzisiro yekupedzisira. Nokudaro, iwe haugoni kungotarisa template uye utaure zvichaitika, nokuti matambudziko ose ane chokuita nekuti mugadziri anofunga kuti ari kupfuura tambo mune iyi shanduko, asi array inoshandiswa ipapo. Uye iye-bam neni-nhingi-nhingi, nhingi-nhingi, mutsara unotevera, uye zvose zvakatsemuka. Kana ichi chiri chigadziro chitsva uye munhu anochitora uye anoona kuti chimwe chinhu hachishandi, zvino chinokurumidza kugadziriswa. Uye kana iri autoscale boka rikagadziridzwa, ipapo pane imwe nguva zviitiko muboka re autoscale zvinotanga kutsiviwa. Uye bang, chimwe chinhu hachishande. Zvinorwadza.

Zvinoitika kuti mhinduro chete ndeyekuedza?

Ehe, iwe unoona dambudziko, iwe unowedzera bvunzo matanho ipapo. Kureva kuti, kubuda kunogonawo kuedzwa. Zvichida hazvina kunaka, asi iwe unogona zvakare kuisa mamwe mamaki - tarisa kuti Mushandisi-data akarovererwa pasi apa.

Zita rangu ndiTimur. Izvo zvinotonhorera kuti kune mishumo yekuronga zvakanaka Terraform.

handisati ndatombotanga.

Ndinofunga kuti pamwe pamusangano unotevera pachava. Ndine mubvunzo wakapfava. Sei uchiomesera kukosha mune imwe module pane kushandisa tfvars, i.e. nei module ine hunhu iri nani pane tfvars?

Ndiko kuti, ndinofanira kunyora pano (slide: Production/environment/settings.tf): domain = variable, domain vpcnetwork, variable vpcnetwork uye stvars - ndingawana chinhu chimwe chete here?

Ndizvo chaizvo zvatinoita. Isu tinonongedzera kune yekumisikidza sosi module, semuenzaniso.

Chaizvoizvo, iyi ndiyo tfvars yakadaro. Tfvars iri nyore kwazvo munzvimbo yekuyedza. Ndine tfvars yezviitiko zvakakura, zvediki. Uye ndakakanda faira rimwe muforodha. Uye ndakawana zvandaida. Patinenge tichicheka zvivakwa, tinoda kuti zvikwanise kutarisa uye nekukasika kunzwisisa zvese. Uye saka zvinozoitika kuti iwe unofanirwa kutarisa pano, wobva watarisa tfvars.

Zvinoita here kuti zvinhu zvese zvive munzvimbo imwechete?

Ehe, tfvars ndipo kana iwe uine imwe kodhi. Uye inoshandiswa munzvimbo dzakasiyana siyana dzine nuances dzakasiyana. Ipapo iwe waizokanda tfvars uye wotora nuances yako. Uye isu tiri zvivakwa sekodhi mune yayo yakachena fomu. Ndakatarisa ndikanzwisisa.

Mhoro! Wakambosangana nemamiriro ezvinhu apo mupi wegore anovhiringidza zvawakagadzira Terraform? Ngatitii tinogadzirisa metadata. Pane ssh makiyi. Uye Google inogara ichiisa metadata yayo nemakiyi ayo ipapo. Uye Terraform inogara ichinyora kuti ine shanduko. Mushure mekumhanya kwega kwega, kunyangwe pasina chachinja, anogara achitaura kuti achavandudza iyi ndima ikozvino.

Nekiyi, asi hongu, chikamu chezvivakwa chinobatwa nechinhu ichi, i.e. Terraform haigone kuchinja chero chinhu. Hatigoni kushandura chinhu nemaoko edu zvakare. Tichararama nazvo izvozvi.

Ndiko kuti, wakasangana nechimwe chinhu chakadai, asi hauna kuuya nechimwe chinhu, anozviita sei uye anozviita iye pachake?

Sezvineiwo hongu.

Mhoro! Zita rangu ndinonzi Starkov Stanislav. Mail. ru Group. Unogadzirisa sei dambudziko rekugadzira tag pa..., unoipfuudza sei mukati? Sezvandinozvinzwisisa, kuburikidza nemushandisi - data kutsanangura zita remuenzi, isa Puppet pa? Uye chikamu chechipiri chemubvunzo. Unogadzirisa sei nyaya iyi muSG, kureva kuti paunogadzira SG, mazana ezviitiko zvemhando imwe chete, nderipi zita chairo kwavari?

Zviitiko zviya zvakakosha kwatiri, tinozvitumidza zvakanakisa. Izvo zvisingadiwi, pane chinyorwa chekuti iri iboka re autoscale. Uye muchirevo iwe unogona kuroverera pasi uye kuwana imwe itsva.

Kana iri dambudziko rine tag, hapana dambudziko rakadaro, asi kune basa rakadaro. Uye isu tinoshandisa ma tag zvakanyanya, zvakanyanya, nekuti zvivakwa zvakakura uye zvinodhura. Uye isu tinofanirwa kutarisa kuti mari iri kuenda kupi, saka ma tag anotitendera kuputsa zvakaenda kupi. Uye, maererano naizvozvo, kutsvaga kwechimwe chinhu chinoreva mari yakawanda inoshandiswa pano.

Mubvunzo waive weizve?

Kana SG ichigadzira mazana ezviitiko, dzinoda kusiyaniswa neimwe nzira?

Kwete, usadaro. Pane imwe neimwe chiitiko pane mumiririri anoshuma kuti ndine dambudziko. Kana mumiririri akashuma, saka mumiriri anoziva nezvake uye, padiki, kero yake yeIP iripo. Unogona kutotiza. Kechipiri, isu tinoshandisa Consul for Discovery, uko Kubernetes asiri. Uye Consul inoratidzawo IP kero yemuenzaniso.

Ndiko kuti, uri kutarisa zvakanyanya paIP, uye kwete pazita remuenzi?

Hazvibviri kufamba nezita remuenzi, i.e. kune akawanda awo. Pane mienzaniso identifiers - AE, etc. Unogona kuiwana kumwe, unogona kukandira mukutsvaga.

Mhoro! Ndakaona kuti Terraform chinhu chakanaka, chakagadzirirwa makore.

Kwete chete.

Uyu ndiwo mubvunzo unondinakidza. Kana ukafunga kutama, toti, kuBare Metal en masse nezviitiko zvako zvese? Pachava nematambudziko here? Kana kuti uchazofanira kushandisa zvimwe zvigadzirwa, semuenzaniso, iyo Ansible yakataurwa pano?

Ansible idiki nezve chimwe chinhu. Kureva kuti, Ansible inotoshanda kana muenzaniso watanga. Uye Terraform inoshanda muenzaniso usati watanga. Kuchinjira kuBare Metal - kwete.

Kwete ikozvino, asi bhizinesi richauya richiti: "Huya."

Kuchinjira kune rimwe gore - hongu, asi pane hunyengeri hwakasiyana pano. Iwe unofanirwa kunyora Terraform kodhi nenzira yekuti iwe unokwanisa kushandura kune rimwe gore nekuita kushoma.

Pakutanga, basa racho rakagadzirirwa kuti zvivakwa zvedu zvose zvakanga zvisina kujeka, kureva kuti chero gore rinofanira kunge rakakodzera, asi pane imwe nguva bhizinesi rakarega ndokuti: "Zvakanaka, mumakore anotevera N hatingaendi chero kupi zvako, tinogona kushandisa masevhisi. kubva kuAmazon"

Terraform inokubvumira kuti ugadzire Front-End mabasa, gadzirisa PagerDuty, data doc, nezvimwewo. Iine miswe yakawanda. Anogona kudzora nyika yose.

Ndatenda nemushumo! Ndanga ndichishandisawo Terraform kwemakore mana ikozvino. Padanho rekuchinja kwakanaka kuenda kuTerraform, kune zvivakwa, kune tsananguro inozivisa, takatarisana nemamiriro ezvinhu apo mumwe munhu aiita chimwe chinhu nemaoko, uye iwe waiedza kuita chirongwa. Uye ndine imwe mhando yekukanganisa ipapo. Unoita sei nezvinetso zvakadaro? Unowana sei zviwanikwa zvakarasika zvakanyorwa?

Zvikurukuru nemaoko edu nameso, kana tikaona chimwe chinhu chechienzi mumushumo, ipapo tinonzvera chiri kuitika imomo, kana kuti tinongouraya. Kazhinji, zvikumbiro zvekudhonza chinhu chakajairika.

Kana pane kukanganisa, unodzosera kumashure? Wakamboedza kuita izvi here?

Aiwa, ichi ndicho chisarudzo chemunhu panguva yaanoona dambudziko.

Source: www.habr.com