Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ọ ga-adị ka ndị mmepe Terraform na-enye omume kacha mma maka ịrụ ọrụ na akụrụngwa AWS. Enwere naanị nuance. Ka oge na-aga, ọnụ ọgụgụ nke gburugburu na-abawanye, nke ọ bụla nwere njirimara nke ya. Ihe fọrọ nke nta ka ọ bụrụ nnomi ngwa ngwa na-egosi na mpaghara agbata obi. Na koodu Terraform kwesịrị ka e jiri nlezianya depụtaghachi ma dezie ya dịka ihe ọhụrụ a chọrọ ma ọ bụ mee ka ọ bụrụ flake snow.

Akụkọ m gbasara ụkpụrụ na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka na nnukwu ọrụ dị ogologo.

Video:

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Adị m afọ iri anọ, anọla m na IT afọ iri abụọ. Anọ m na-arụ ọrụ maka Ixtens afọ iri na abụọ. Anyị na-etinye aka na ecommerce-edu-mmepe. Anọ m na-eme omume DevOps maka afọ 40.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Akụkọ m ga-abụ banyere ahụmahụ m na ọrụ na ụlọ ọrụ nke aha m na-agaghị ekwu, na-ezo n'azụ nkwekọrịta na-enweghị ngosi.

A na-egosi ọnụọgụ ndị dị na slide ahụ iji ghọta oke ọrụ ahụ. Na ihe niile m ga-ekwu na-esote bụ metụtara Amazon.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

M sonyeere ọrụ a afọ 4 gara aga. Na nrụpụta akụrụngwa na-aga n'ihu n'ihi na ọrụ ahụ etoola. Na ụkpụrụ ndị e ji mee ihe adịkwaghị mma. Na n'ihi na niile atụmatụ na-eto eto nke oru ngo, ọ dị mkpa na-abịa na ihe ọhụrụ.

Daalụ Matvey, onye ụnyaahụ gwara anyị ihe mere na Dodo Pizza. Nke a bụ ihe mere ebe a afọ 4 gara aga.

Ndị mmepe bịara wee malite ịme koodu akụrụngwa.

Ihe kacha pụta ìhè mere e ji chọọ nke a bụ oge ịzụ ahịa. Ọ dị mkpa iji hụ na ndị otu DevOps abụghị ihe mgbanaka n'oge mbugharị. Na n'etiti ihe ndị ọzọ, a na-eji Terraform na Puppet mee ihe na ọkwa mbụ.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Terraform bụ ọrụ mepere emepe sitere na HashiCorp. Na ndị na-amaghị ọbụna ihe nke a bụ, slide ole na ole na-esote.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Akụrụngwa dị ka koodu pụtara na anyị nwere ike ịkọwa akụrụngwa anyị wee jụọ ụfọdụ robots ka ha hụ na anyị nwetara akụrụngwa anyị kọwara.

Dịka ọmụmaatụ, anyị chọrọ igwe mebere. Anyị ga-akọwa ma tinye ọtụtụ paramita achọrọ.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Mgbe nke a gasịrị, anyị ga-ahazi ohere ịnweta Amazon na njikwa. Anyị ga-arịọ maka atụmatụ Terraform. Atụmatụ Terraform ga-ekwu: "Ọ dị mma, anyị nwere ike ime ihe ndị a maka akụrụngwa gị." Ma ọ dịkarịa ala, a ga-agbakwunye otu akụrụngwa. Ọ dịghịkwa mgbanwe a na-atụ anya ya.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ozugbo ị nwere obi ụtọ na ihe niile, ị nwere ike ịrịọ Terraform ka ọ tinye ya na Terraform ga-emepụta gị ihe atụ, ị ga-enwetakwa igwe mebere na igwe ojii gị.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ọzọkwa anyị oru ngo na-emepe emepe. Anyị na-agbakwunye mgbanwe ụfọdụ ebe ahụ. Anyị na-arịọ maka ihe atụ ndị ọzọ, anyị na-agbakwunye ndenye 53.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Anyị na-ekwughachi. Biko hazie. Anyị na-ahụ mgbanwe ndị a na-eme atụmatụ. Anyị na-etinye. Ma otu a ka akụrụngwa anyị si eto.

Terraform na-eji ihe akpọrọ faịlụ steeti. Ya bụ, ọ na-echekwa mgbanwe niile na-aga Amazon na faịlụ ebe maka akụ ọ bụla ị kọwara, e nwere ihe ndị kwekọrọ na nke e kere na Amazon. Ya mere, mgbe nkọwa nke ihe onwunwe gbanwere, Terraform maara kpọmkwem ihe kwesịrị ịgbanwe na Amazon.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Faịlụ steeti ndị a bụbu faịlụ naanị. Anyị na-echekwa ha na Git, nke na-adịghị mma. Mmadụ na-echefukarị ime mgbanwe, ọtụtụ esemokwu bilitere.

Ugbu a ọ ga-ekwe omume iji backend, i.e. Terraform ka akọwapụtara nke ịwụ na nke igodo kwesịrị iji chekwaa faịlụ steeti. Na Terraform n'onwe ya ga-elekọta ịnweta faịlụ steeti a, na-eme anwansi niile ma na-eweghachi nsonaazụ ikpeazụ.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Akụrụngwa anyị na-eto eto. Nke a bụ koodu anyị. Ma ugbu a, ọ bụghị naanị na anyị chọrọ ịmepụta igwe mebere, anyị chọrọ inwe ebe nyocha.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Terraform na-enye gị ohere ịmepụta ihe dị ka modul, ya bụ, kọwaa otu ihe ahụ na ụfọdụ nchekwa.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Na, dịka ọmụmaatụ, na nnwale, kpọọ modul a wee nweta otu ihe ahụ dị ka a ga-asị na anyị gburu Terraform tinye na modul n'onwe ya. Maka ule a ga-enwe koodu a.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Maka mmepụta, anyị nwere ike izipu mgbanwe ụfọdụ n'ebe ahụ, n'ihi na n'ule ule anyị adịghị mkpa nnukwu oge; na mmepụta ihe, nnukwu oge bara uru.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ma mgbe ahụ, m ga-alaghachi azụ n'ọrụ ahụ. Ọ bụ ọrụ siri ike, akụrụngwa a haziri ahazi buru oke ibu. Ma n'ụzọ ụfọdụ, ọ dị mkpa idowe koodu niile ka ọ dị mma maka onye ọ bụla: ma ndị na-arụ ọrụ na koodu a na ndị na-eme mgbanwe. Ma e mere atụmatụ na onye nrụpụta ọ bụla nwere ike ịga dozie akụrụngwa dịka ọ dị mkpa maka akụkụ ya nke ikpo okwu.

Nke a bụ osisi ndekọ aha nke HashiCorp n'onwe ya kwadoro ma ọ bụrụ na ị nwere nnukwu ọrụ ma ọ bụ ihe ezi uche dị na ya iji kewaa akụrụngwa niile n'ime obere iberibe, ma kọwaa nke ọ bụla na folda dị iche.

N'inwe nnukwu ọbá akwụkwọ nke akụrụngwa, ị nwere ike ịkpọ ihe dịka otu ihe na nnwale na mmepụta.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

N'ọnọdụ anyị, nke a adabaghị kpamkpam, n'ihi na nchịkọta ule maka ndị mmepe ma ọ bụ maka nnwale ga-enwetarịrị n'ụzọ dị mfe. Ma achọghị m ịgafe na nchekwa ma tinye ha n'usoro achọrọ, na-echegbu onwe ya na nchekwa data ga-ebili, mgbe ahụ ihe atụ nke na-eji nchekwa data a ga-ebili. Ya mere, ewepụtara ule niile site na otu nchekwa. A na-akpọ otu modulu ahụ n'ebe ahụ, mana ihe niile mere n'otu ọsọ.

Terraform na-elekọta ihe ndabere niile. Ọ na-emepụta ihe mgbe niile n'usoro ka ị nwee ike nweta adreesị IP, dịka ọmụmaatụ, site na ihe atụ emepụtara ọhụrụ, wee nweta adreesị IP a na ndekọ route53.

Tụkwasị na nke ahụ, ikpo okwu dị nnọọ ukwuu. Na ịmalite nchịkọta ule, ọ bụrụgodị na otu awa, ọbụlagodi na awa 8, bụ ọrụ dị oke ọnụ.

Na anyị akpaghị aka okwu. Na ọrụ Jenkins mere ka anyị nwee ike ịgba ọsọ. N'ime ya, ọ dị mkpa ịmalite ịrịọ arịrịọ na mgbanwe ndị onye nrụpụta chọrọ ịnwale, kọwaa nhọrọ niile dị mkpa, akụrụngwa na akụkụ. Ọ bụrụ na ọ chọrọ nnwale arụmọrụ, mgbe ahụ ọ nwere ike were ọtụtụ ihe atụ. Ọ bụrụ na ọ dị ya mkpa ịlele na ụfọdụ ụdị meghere, mgbe ahụ ọ nwere ike ịmalite na ụgwọ opekempe. Ma gosikwa ma a chọrọ ụyọkọ ma ọ bụ na ọ chọghị, wdg.

Na Jenkins kwaliri script shei, nke mezigharịrị koodu ahụ na nchekwa Terraform. Ewepụrụ m faịlụ ndị na-adịghị mkpa ma tinye faịlụ ndị dị mkpa. Na otu ọsọ nke Terraform tinye tojupụtara ka ebuliri.

Ma mgbe ahụ enwere usoro ndị ọzọ m na-achọghị ịbanye.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

N'ihi n'eziokwu na maka ule anyị chọrọ ntakịrị nhọrọ karịa na mmepụta, anyị ga-eme ka mbipụta nke modul ka anyị wee nwee ike ịgbakwunye atụmatụ ndị ahụ dị mkpa naanị maka ule.

Ma o mere na n'ule ule, achọrọ m ịnwale mgbanwe ndị ahụ nke ga-emecha banye na mmepụta. Ma n'ezie, a nwalere otu ihe, na-eji nke dịtụ iche na mmepụta. Na enwere obere nkwụsịtụ na ụkpụrụ na na mmepụta mgbanwe niile na-etinye aka na otu ọrụ. Ma mgbe ụfọdụ ọ na-apụta na mgbanwe ndị ahụ kwesịrị ịga site na nnwale gaa na mmepụta nọgidere na nsụgharị ọzọ.

Na mgbakwunye, enwere nsogbu dị otú ahụ nke na agbakwunyere ọrụ ọhụrụ, nke dịtụ iche na nke dịbu adị. Na kama ịgbanwe modul dị adị, anyị ga-eme otu ya ma tinye mgbanwe ndị dị mkpa.

N'ezie, Terraform abụghị ezigbo asụsụ. Nke a bụ nkwupụta. Ọ bụrụ na anyị kwesịrị ikwuwapụta ihe, anyị na-ekwupụta ya. Na ihe niile na-arụ ọrụ.

N'otu oge, mgbe a na-atụle otu n'ime arịrịọ m dọtara, otu n'ime ndị ọrụ ibe m kwuru na ọ dịghị mkpa ịmepụta snowflakes. M nọ na-eche ihe ọ pụtara. Enwere eziokwu sayensị na ọ nweghị ụdị snowflakes abụọ n'ụwa, ha niile dịtụ iche. Ma ozugbo m nụrụ nke a, enwere m mmetụta ozugbo oke nke koodu Terraform. N'ihi na mgbe ọ dị mkpa ịkwaga site na mbipute gaa na ụdị, Terraform chọrọ mgbanwe ngbanwe agbụ, ya bụ koodu ahụ adabaghịkwa na ụdị ọzọ. Na anyị ga-eme ka a ịdọrọ arịrịọ, nke kpuchie ihe fọrọ nke nta ka ọkara nke faịlụ na akụrụngwa, iji weta akụrụngwa na-esote version nke Terraform.

Ma mgbe ụdị snowflake dị otú ahụ pụtara, koodu Terraform niile nke anyị gbanwere ghọọ nnukwu nnukwu ikpo snow.

Maka onye mmepụta mpụga nke nọ n'èzí ọrụ ahụ, nke a adịghị ya mkpa, n'ihi na ọ rịọrọ arịrịọ ịdọrọ, ihe onwunwe ya malitere. Ma nke ahụ bụ ihe niile, ọ bụghịkwa nchegbu ya. Na ndị otu DevOps, ndị na-ahụ na ihe niile dị mma, achọrọ ka ịme mgbanwe ndị a niile. Na ọnụ ahịa mgbanwe ndị a mụbara nke ukwuu na nke ọ bụla agbakwunyere snowflake.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Enwere akụkọ gbasara otu nwa akwụkwọ nọ na nzukọ ọmụmụ ihe si were nzu na-ese okirikiri abụọ zuru oke na bọọdụ. Ọ na-eju onye nkụzi ahụ anya otú o si na-ese ihe nke ọma n’ejighị compass. Nwa akwụkwọ ahụ na-aza, sị: “Ọ dị nnọọ mfe, eji m afọ abụọ n’òtù ndị agha na-eme ihe egweri anụ.”

N'ime afọ anọ m tinyeworo aka n'ọrụ a, anọ m na-eme Terraform ihe dị ka afọ abụọ. Na, n'ezie, enwere m aghụghọ ụfọdụ, ndụmọdụ ụfọdụ gbasara otu esi eme ka koodu Terraform dị mfe, na-arụ ọrụ na ya dị ka asụsụ mmemme ma belata ibu arọ na ndị mmepe ga-edobe koodu a ka ọ dị ọhụrụ.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ihe mbụ m ga-achọ ibido bụ Symlinks. Terraform nwere ọtụtụ koodu ugboro ugboro. Dịka ọmụmaatụ, oku a na-akpọ onye na-eweta ihe fọrọ nke nta ka ọ bụrụ ebe ọ bụla anyị na-emepụta ihe akụrụngwa bụ otu. Ma ọ bụ ihe ezi uche dị na ya itinye ya na folda dị iche. Na ebe ọ bụla achọrọ onye na-eweta ya ka ọ mee Symlinks na faịlụ a.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Dịka ọmụmaatụ, na mmepụta ị na-eji ọrụ were, nke na-enye gị ohere ịnweta ikike ịnweta ụfọdụ akaụntụ Amazon mpụga. Na ịgbanwere otu faịlụ, ndị niile fọdụrụ n'ime osisi akụ ga-enwe ikike achọrọ ka Terraform mara akụkụ Amazon ga-enweta.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ebee ka Symlinks na-ada? Dịka m kwuru, Terraform nwere faịlụ steeti. Ha dịkwa mma nke ukwuu. Mana ihe bụ na Terraform na-amalite azụ azụ na mbụ. Ọ nweghịkwa ike iji mgbanwe ọ bụla na paramita ndị a; a ga-ederịrị ha na ederede mgbe niile.

N'ihi ya, mgbe mmadụ na-emepụta ihe ọhụrụ, ọ na-ebipụta ụfọdụ koodu site na nchekwa ndị ọzọ. O nwekwara ike iji mkpịsị ugodi ma ọ bụ bọket mebie ihe. Dịka ọmụmaatụ, ọ na-eme ihe sandbox site na igbe ájá, wee mee ya na mmepụta. Ya mere, ọ nwere ike pụta na a ga-eji bọket na-emepụta ihe site na igbe ájá. N'ezie, ha ga-achọta ya ngwa ngwa. Ọ ga-ekwe omume idozi nke a n'ụzọ ụfọdụ, mana ka o sina dị, ọ bụ igbu oge na, ruo n'ókè ụfọdụ, ihe onwunwe.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Gịnị ka anyị ga-eme ọzọ? Tupu ịrụ ọrụ na Terraform, ịkwesịrị ibido ya. Na mbido, Terraform na-ebudata plugins niile. N'oge ụfọdụ, ha kewara site na monolith gaa na ụlọ ọrụ microservice karịa. Ma ịkwesịrị ịme Terraform init mgbe niile ka o wee bulie modul niile, plugins niile.

Na ị nwere ike iji edemede shei, nke, nke mbụ, nwere ike nweta mgbanwe niile. Edemede shei adịghị oke n'ụzọ ọ bụla. Na, nke abụọ, ụzọ. Ọ bụrụ na anyị na-eji ụzọ nke dị na ebe nchekwa mgbe niile dị ka igodo nke faịlụ steeti, mgbe ahụ, n'ihi ya, a ga-ewepụ njehie ebe a.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ebee ka m nwere ike nweta data ahụ? faịlụ JSON. Terraform na-enye gị ohere ide akụrụngwa ọ bụghị naanị na hcl (HashiCorp Configuration Language), kamakwa na JSON.

JSON dị mfe ịgụ site na edemede shei. N'ihi ya, ị nwere ike tinye faịlụ nhazi na ịwụ n'ebe ụfọdụ. Ma jiri bọket a ma na koodu Terraform yana n'ime edemede shei maka mbido.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Kedu ihe kpatara ọ dị mkpa ịnweta bọket maka Terraform? N'ihi na enwere ihe dị ka faịlụ steeti dịpụrụ adịpụ. Ya bụ, mgbe m na-ebuli ụfọdụ akụ, iji gwa Amazon: "Biko welie ihe atụ," Achọrọ m ịkọwapụta ọtụtụ ihe achọrọ.

A na-echekwa ihe nchọpụta ndị a na folda ọzọ. Enwere m ike ịga sị: "Terraform, biko gbaga na faịlụ steeti nke akụrụngwa ahụ wee nweta m njirimara ndị a." Ya mere, otu njikọ dị n'etiti mpaghara ma ọ bụ gburugburu dị iche iche.

Ọ naghị ekwe omume mgbe niile iji faịlụ steeti dịpụrụ adịpụ. Dịka ọmụmaatụ, ị jiri aka mepụta VPC. Na koodu Terraform nke na-emepụta VPC na-emepụta ụdị VPC dị iche iche nke na ọ ga-ewe ogologo oge na ị ga-edozi otu na nke ọzọ, ka ị nwee ike iji aghụghọ a.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Nke ahụ bụ, mee modul nke yiri ka ọ na-eme VPC na, dị ka a pụrụ isi kwuo ya, na-enye gị ihe nchọpụta, ma n'ezie enwere faịlụ nwere ụkpụrụ hardcoded nke enwere ike iji mepụta otu ihe atụ.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ọ bụghị mgbe niile ka ọ dị mkpa ịchekwa faịlụ steeti na igwe ojii. Dịka ọmụmaatụ, mgbe ị na-anwale modul, ị nwere ike iji mmalite mmalite, ebe a ga-echekwa faịlụ ahụ na diski n'oge ule.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ugbu a ntakịrị banyere ule. Kedu ihe ị nwere ike ịnwale na Terraform? Eleghị anya ọtụtụ ihe ga-ekwe omume, mana m ga-ekwu maka ihe 4 ndị a.

HashiCorp nwere nghọta ka esi hazie koodu Terraform. Na Terraform fmt na-enye gị ohere ịhazi koodu ị dezie dịka nkwenye a siri dị. N'ihi ya, ule ga-abụrịrị ịlele ma nhazi ahụ dabara n'ihe HashiCorp nyere, ka ọ dịghị mkpa ịgbanwe ebe brackets, wdg.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Nke na-esote bụ Terraform validate. Ọ na-eme obere ihe karịa ịlele syntax - ala, ma ọ bụrụ na ejikọtara mbo niile. Kedu ihe dị mkpa ebe a? Akụrụngwa anyị dị ukwuu. E nwere ọtụtụ ndị nna dị iche iche na ya. Na nke ọ bụla ị ga-agba ọsọ Terraform kwadoro.

N'ihi ya, iji mee ka ule dị ngwa, anyị na-eme ọtụtụ usoro n'otu n'otu site na iji myirịta.

Parallel bụ ihe dị mma nke ukwuu, jiri ya.

Mana oge ọ bụla Terraform malitere, ọ na-aga HashiCorp wee jụọ, "Gịnị bụ ụdị ngwa mgbakwunye kachasị ọhụrụ? Na ngwa mgbakwunye m nwere na cache - ọ bụ nke ziri ezi ma ọ bụ nke na-ezighi ezi? Na nke a ji nwayọọ nwayọọ na nzọụkwụ ọ bụla.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ọ bụrụ na ị gwa Terraform ebe plugins dị, mgbe ahụ Terraform ga-asị: "Ọ dị mma, nke a bụ eleghị anya ihe kachasị ọhụrụ dị n'ebe ahụ. Agaghị m aga ebe ọ bụla, m ga-amalite ozugbo ịkwado koodu Terraform gị. "

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Iji mejupụta folda ahụ na plugins ndị dị mkpa, anyị nwere koodu Terraform dị mfe nke chọrọ ka ịmalite ya. N'ebe a, n'ezie, ịkwesịrị ịkọwapụta ndị ọrụ niile na-esonye na koodu gị, ma ọ bụghị ya, Terraform ga-ekwu, sị: "Amaghị m onye na-eweta ya n'ihi na ọ bụghị na cache."

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ọzọ bụ atụmatụ Terraform. Dị ka m kwuru, mmepe bụ cyclical. Anyị na-eme mgbanwe na koodu. Ma mgbe ahụ ịkwesịrị ịchọpụta mgbanwe ndị a na-eme atụmatụ maka akụrụngwa.

Na mgbe akụrụngwa dị nnọọ ukwuu, buru ibu, ị nwere ike ịgbanwe otu modul, dozie ụfọdụ ebe ule ma ọ bụ mpaghara ụfọdụ ma mebie ụfọdụ ndị agbata obi. Ya mere, ekwesịrị ịme atụmatụ Terraform maka akụrụngwa niile ma gosipụta mgbanwe ndị a na-eme atụmatụ.

Ị nwere ike ime nke a nke ọma. Dịka ọmụmaatụ, anyị dere script Python nke na-edozi ndabere. Ma dabere na ihe gbanwere: modul Terraform ma ọ bụ naanị otu akụrụngwa, ọ na-eme atụmatụ maka nchekwa nchekwa niile dabere.

A ghaghị ime atụmatụ Terraform mgbe a rịọrọ ya. Opekempe, nke ahụ bụ ihe anyị na-eme.

N'ezie, ọ dị mma ịme ule maka mgbanwe ọ bụla, maka ntinye ọ bụla, mana atụmatụ bụ ihe dị oke ọnụ. N'ime arịrịọ ịdọrọ, anyị na-asị, "Biko nye m atụmatụ." Robot na-amalite. Na-eziga na nkọwa ma ọ bụ tinye atụmatụ niile a na-atụ anya na mgbanwe gị.

Atụmatụ bụ ihe dị oke ọnụ. Ọ na-ewe oge n'ihi na Terraform na-aga Amazon wee jụọ, "Ihe atụ a ọ ka dị? Nke a autoscale nwere kpọmkwem otu paramita? " Na iji mee ka nke a dị ngwa, ị nwere ike iji parameter dị ka ume ọhụrụ = ụgha. Nke a pụtara na Terraform ga-ebudata steeti site na S3. Ọ ga-ekwenye na steeti ahụ ga-adaba n'ihe dị na Amazon.

Atụmatụ Terraform dị otú ahụ na-aga ngwa ngwa, mana steeti ga-edekọrịrị na akụrụngwa gị, ya bụ, ebe ọ bụla, oge ume ọhụrụ Terraform ga-amalite. Ntugharị Terraform na-eme nke ahụ kpọmkwem: steeti dabara ihe dị na akụrụngwa akụrụngwa.

Na anyị kwesịrị ikwu banyere nchekwa. Nke a bụ ebe anyị ga-amalite. Ebe ị na-agba Terraform na Terraform na-agba na akụrụngwa gị enwere adịghị ike. Ya bụ, ị na-eme koodu ahụ n'ezie. Ma ọ bụrụ na arịrịọ ịdọrọ nwere ụfọdụ ụdị koodu ọjọọ, mgbe ahụ enwere ike igbu ya na akụrụngwa nke nwere ohere dị ukwuu. Yabụ kpachara anya ebe ị na-eme atụmatụ Terraform.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ihe ọzọ m ga-achọ ikwu maka ya bụ nyocha data onye ọrụ.

Gịnị bụ onye ọrụ-data? Na Amazon, mgbe anyị mepụtara ihe atụ, anyị nwere ike izipu ụfọdụ leta na ihe atụ - meta data . Mgbe ihe atụ malitere, ọ na-abụkarị igwe ojii na-adị mgbe niile n'ọnọdụ ndị a. Cloud init gụrụ akwụkwọ ozi a wee sị: "Ọ dị mma, taa abụ m onye na-edozi ibu." Na dị ka ọgbụgba ndụ ndị a ọ na-eme ụfọdụ omume.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Mana, ọ dị nwute, mgbe anyị na-eme atụmatụ Terraform na itinye Terraform, data onye ọrụ dị ka ụdị ọnụ ọgụgụ a. Ya bụ, ọ na-ezitere gị hash. Na ihe niile ị nwere ike ileba anya na atụmatụ a bụ ma a ga-enwe mgbanwe ọ bụla ma ọ bụ ma hash ga-anọgide na-adị otu.

Ma ọ bụrụ na ị naghị ege ntị na nke a, mgbe ahụ, ụfọdụ faịlụ ederede agbajiri nwere ike mechie na Amazon, na ezigbo akụrụngwa.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

N'aka nke ọzọ, mgbe ị na-eme ihe, ị nwere ike ịkọwapụta ọ bụghị akụrụngwa niile, kama ọ bụ naanị template. Na koodu ahụ kwuo: "Biko gosi template a na ihuenyo m." N'ihi ya, ị nwere ike nweta mbipụta nke ihe data gị ga-adị ka Amazon.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Nhọrọ ọzọ bụ iji modul mepụta data onye ọrụ. Ị ga-etinye modul a. Ị na-enweta faịlụ na diski. Tụlee ya na nke ntụaka. Ya mere, ọ bụrụ na ụfọdụ ụmụ okorobịa kpebie imezi data onye ọrụ ntakịrị, mgbe ahụ, ule gị ga-ekwu: "Ọ dị mma, enwere mgbanwe ụfọdụ ebe a - nke a bụ ihe nkịtị."

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ihe na-esote m ga-achọ ikwu maka ya bụ Automate Terraform itinye.

N'ezie, ọ bụ nnọọ egwu ime Terraform na-etinye aka na-akpaghị aka, n'ihi na onye maara mgbanwe ndị bịara ebe ahụ na otú ha nwere ike isi na-ebibi ihe maka akụrụngwa ndụ.

Maka gburugburu ule, nke a bụ ihe nkịtị. Ya bụ, ọrụ na-emepụta ebe ule bụ ihe niile ndị mmepe chọrọ. Na okwu dị ka "ihe niile na-arụ ọrụ maka m" abụghị ihe na-akpa ọchị meme, ma na-egosi na mmadụ nwere mgbagwoju anya, welitere ùkwù, na-agba ọsọ ụfọdụ ule na a tojupụtara. O wee hụ na ihe niile dị mma ebe ahụ wee sị: “Ọ dị mma, a nwalela koodu m na-ewepụta.”

N'ime mmepụta, igbe ájá na gburugburu ndị ọzọ na-azụmaahịa dị oke mkpa, ị nwere ike iji ụfọdụ akụrụngwa n'enweghị nsogbu n'ihi na ọ naghị eme ka onye ọ bụla nwụọ. Ndị a bụ: otu autoscale, otu nchekwa, ọrụ, ụzọ53, na ndepụta enwere ike ịdị nnukwu. Mana leba anya na ihe na-eme, gụọ akụkọ ngwa akpaghị aka.

Ebe ọ dị ize ndụ ma ọ bụ na-atụ egwu itinye, dịka ọmụmaatụ, ọ bụrụ na ndị a bụ ụfọdụ akụrụngwa na-adịgide adịgide site na nchekwa data, wee nweta akụkọ na enwere mgbanwe na-enweghị isi na ụfọdụ akụkụ akụrụngwa. Na injinia, n'okpuru nlekọta, na-amalite ọrụ itinye ma ọ bụ mee ya site na njikwa ya.

Amazon nwere ihe dị ka Kwụsị nchebe. Ma ọ nwere ike ichebe n'ọnọdụ ụfọdụ site na mgbanwe na-achọghị maka gị. Ya bụ, Terraform gara Amazon wee sị: "Achọrọ m igbu ihe atụ a iji mee nke ọzọ." Amazon wee sị: “Ndo, ọ bụghị taa. Anyị nwere nchedo nkwụsị."

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Na icing na achicha ahụ bụ njikarịcha koodu. Mgbe anyị na-arụ ọrụ na koodu Terraform, anyị ga-ebufe ọnụ ọgụgụ dị ukwuu nke parampat na modul. Ndị a bụ paramita ndị dị mkpa iji mepụta ụdị akụ. Na koodu ahụ na-atụgharị n'ime nnukwu ndepụta nke paramita dị mkpa ka a na-agafe site na modul gaa na modul, site na modul gaa na modul, karịsịa ma ọ bụrụ na a na-agbanye modul.

Ọ na-esikwa ike ịgụ ihe. O siri ezigbo ike inyocha nke a. Ọtụtụ mgbe, ọ na-apụta na ụfọdụ paramita na-enyocha nyocha na ha abụghị kpọmkwem ihe achọrọ. Na nke a na-efu oge na ego iji dozie ma emechaa.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ya mere, m na-atụ aro ka ị jiri ihe dị otú ahụ dị ka ihe mgbagwoju anya nke gụnyere ụfọdụ osisi nke ụkpụrụ. Ya bụ, ị chọrọ ụdị nchekwa ebe ị nwere ụkpụrụ niile nke ị ga-achọ inwe na mpaghara ụfọdụ.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Na site n'ịkpọ modul a, ị nwere ike nweta osisi nke a na-emepụta na otu modul nkịtị, ya bụ, na modul nkịtị nke na-arụ ọrụ otu ihe ahụ maka akụrụngwa dum.

N'ime modul a ị nwere ike ịme ụfọdụ mgbako site na iji ụdị ihe na-adịbeghị anya na Terraform dị ka ndị obodo. Ma mgbe ahụ, site na otu mmepụta, nye ụfọdụ ihe mgbagwoju anya, nke nwere ike ịgụnye hashes array, wdg.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Nke a bụ ebe a chọtara m kacha mma. Ọ ga-amasị m ịkọ akụkọ banyere Columbus. Mgbe ọ na-achọ ego maka njem ya iji chọpụta India (dị ka o chere n'oge ahụ), ọ dịghị onye kwere na ya ma ha chere na ọ gaghị ekwe omume. O wee sị: “Hụ na àkwá ahụ adaghị.” Ndị ọrụ ụlọ akụ niile, ndị bara ọgaranya ma eleghị anya ndị nwere ọgụgụ isi, gbalịrị itinye akwa ahụ n'ụzọ ụfọdụ, ọ nọgidere na-ada. Mgbe ahụ, Columbus weere akwa ahụ ma pịa ya ntakịrị. Shei ahụ gbajiri, akwa ahụ enweghịkwa mmegharị. Ha sịrị, "Oh, nke ahụ dị mfe!" Columbus wee zaa, sị: “Ee, ọ dị nnọọ mfe. Ma mgbe m meghere India, onye ọ bụla ga-eji ụzọ ahia a. "

Ma ihe m gwara gị bụ eleghị anya ihe dị mfe na ihe na-adịghị mkpa. Ma mgbe ị mụtara banyere ha wee malite iji ha, ọ bụ n'usoro ihe. Ya mere were ohere. Ma ọ bụrụ na ihe ndị a bụ ihe nkịtị maka gị, mgbe ahụ ọ dịkarịa ala ị maara otú e si etinye akwa ahụ ka ọ ghara ịda.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Ichikota:

  • Gbalịa zere snowflakes. Na obere snowflakes, ihe onwunwe ole na ole ị ga-achọ ime mgbanwe ọ bụla n'ime nnukwu akụrụngwa gị.
  • Mgbanwe mgbe niile. Ya bụ, mgbe mgbanwe ụfọdụ mere na koodu ahụ, ịkwesịrị iweta akụrụngwa gị na nnabata na mgbanwe ndị a ngwa ngwa o kwere mee. E kwesịghị inwe ọnọdụ ebe mmadụ na-abịa na-ele Elasticsearch ọnwa abụọ ma ọ bụ atọ ka e mesịrị, na-eme atụmatụ Terraform, na e nwere ụyọkọ mgbanwe ndị ọ na-atụghị anya ya. Ọ na-ewekwa oge buru ibu iji doghachi ihe niile n'usoro.
  • Nnwale na akpaaka. Ka koodu gị na-eji ule na atụmatụ kpuchiri ya, ka obi na-esikwu gị ike na ị na-eme ihe niile nke ọma. Na nnyefe akpaaka ga-eme ka ntụkwasị obi gị dịkwuo elu ọtụtụ ugboro.
  • Koodu maka gburugburu ule na mmepụta kwesịrị ịbụ ihe fọrọ nke nta ka ọ bụrụ otu. N'ezie, n'ihi na mmepụta ka dịtụ iche na a ka ga-enwe ụfọdụ nuances nke ga-agafe ebe ule. Mana ka o sina dị, gbakwunyere ma ọ bụ mwepu, enwere ike ijide n'aka na nke a.
  • Ma ọ bụrụ na ị nwere ọtụtụ koodu Terraform na ọ na-ewe oge buru ibu iji dobe koodu a ka ọ dị ọhụrụ, mgbe ahụ, ọ naghị agafe agafe iji megharịa ma nweta ya n'ụzọ dị mma.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

  • akụrụngwa na-adịghị agbanwe agbanwe. Mbufe AMI na nhazi oge.
  • Nhazi maka ụzọ53 mgbe ị nwere ọtụtụ ndenye na ịchọrọ ka ha nọrọ n'usoro na-agbanwe agbanwe.
  • Oke ọnụego API na-alụ ọgụ. Nke a bụ mgbe Amazon na-ekwu, "Nke ahụ bụ ya, enweghị m ike ịnakwere arịrịọ ọzọ, biko chere." Na ọkara nke ụlọ ọrụ na-echere ruo mgbe ọ nwere ike ịmalite akụrụngwa ya.
  • Ihe atụ. Amazon abụghị ihe omume dị ọnụ ala na ntụpọ na-enye gị ohere ịchekwa ọtụtụ ihe. N'ebe ahụ ị nwere ike ịkọ akụkọ zuru ezu gbasara ya.
  • Ọrụ nchekwa na ọrụ IAM.
  • Na-achọ ihe ndị furu efu, mgbe ị nwere ihe atụ nke amaghị ebe sitere na Amazone, ha na-eri ego. Ọbụlagodi na ọnọdụ na-efu $100-150 kwa ọnwa, nke ahụ karịrị $1 kwa afọ. Ịchọta ihe ndị dị otú ahụ bụ azụmahịa bara uru.
  • Na echekwabara ihe atụ.

Ụdị dị na Terraform iji luso ọgbaghara ọgụ na usoro ntuziaka. Maxim Kostrikin (Ixtens)

Nke ahụ bụ naanị m. Terraform dị ezigbo mma, ị na-eji ya. Daalụ!

Ajụjụ gị

Daalụ maka akụkọ ahụ! Faịlụ steeti gị dị na S3, mana kedu ka ị ga-esi dozie nsogbu nke ọtụtụ mmadụ nwere ike were faịlụ steeti a wee nwaa ịgbasa?

Nke mbụ, anyị anaghị eme ngwa ngwa. Nke abuo, e nwere ọkọlọtọ, nke anyị na-akọ na anyị na-arụ ọrụ na ụfọdụ mpempe koodu. Ya bụ, n'agbanyeghị na akụrụngwa dị oke ukwuu, nke a apụtaghị na mmadụ na-eji ihe mgbe niile. Ma mgbe enwere usoro na-arụ ọrụ, nke a bụ nsogbu; anyị na-echekwa faịlụ steeti na Git. Nke a dị mkpa, ma ọ bụghị onye ga-eme faịlụ steeti, anyị ga-ejikwa aka tinye ha ọnụ ka ihe niile wee gaa n'ihu. Ugbu a enweghị nsogbu dị otú ahụ. N'ozuzu, Terraform doziri nsogbu a. Ma ọ bụrụ na ihe na-agbanwe mgbe niile, mgbe ahụ ị nwere ike iji mkpọchi, nke na-egbochi ihe ị kwuru.

Ị na-eji isi mmalite ma ọ bụ ụlọ ọrụ mepere emepe?

Enweghị ụlọ ọrụ, ya bụ ihe niile ị nwere ike ịga budata n'efu.

Aha m bụ Stanislav. Achọrọ m ime obere mgbakwunye. Ị kwuru maka njirimara Amazon nke na-enye gị ohere ịme ihe atụ enweghị ike igbu. Nke a dịkwa na Terraform n'onwe ya; na ngọngọ nke abụọ nke ndụ ị nwere ike ịkọwa mmachibido mgbanwe ma ọ bụ mmachibido iwu.

Oge nwere oke. Isi ihe dị mma.

Achọkwara m ịjụ ihe abụọ. Mbụ, ị kwuru maka ule. Ị jiri ngwaọrụ nyocha ọ bụla? Anụrụ m maka ngwa mgbakwunye Test Kitchen. Ikekwe enwere ihe ọzọ. Ma ọ ga-amasị m ịjụ maka ụkpụrụ obodo. Kedu ka ha siri dị iche na Mgbanwe Ntinye? Kedu ihe kpatara na enweghị m ike ịkọwapụta ihe naanị site na ụkpụrụ mpaghara? Agbalịrị m ịchọpụta isiokwu a, mana n'ụzọ ụfọdụ enweghị m ike ịchọpụta ya n'onwe m.

Anyị nwere ike ikwu n'ụzọ zuru ezu n'èzí ụlọ a. Ngwá ọrụ nyocha anyị bụ nke ejiri aka ya mee kpamkpam. O nweghị ihe ga-anwale. N'ozuzu, enwere nhọrọ mgbe ule akpaghị aka na-eburu akụrụngwa ebe, lelee na ọ dị mma, wee bibie ihe niile site na akụkọ na akụrụngwa gị ka dị mma. Anyị enweghị nke a n'ihi na a na-eme nchịkọta ule kwa ụbọchị. Nke ahụ ezuola. Ma ọ bụrụ na ihe amalite ịgbawa, ọ ga-amalite ịgbaji na-enweghị anyị na-enyocha ya ebe ọzọ.

Banyere Ụkpụrụ Mpaghara, ka anyị gaa n'ihu na mkparịta ụka ahụ n'èzí ụlọ.

Nnọọ! Daalụ maka akụkọ ahụ! Ihe ọmụma nke ukwuu. Ị kwuru na ị nwere ọtụtụ ụdị koodu iji kọwaa akụrụngwa. Ị tụlerela imepụta koodu a?

Nnukwu ajụjụ, daalụ! Isi ihe bụ na mgbe anyị na-eji akụrụngwa dịka koodu, anyị na-eche na anyị na-eleba anya na koodu ahụ ma ghọta ihe akụrụngwa dị n'azụ koodu ahụ. Ọ bụrụ na emepụtara koodu, mgbe ahụ, anyị kwesịrị iche n'echiche koodu ga-emepụta iji ghọta ụdị akụrụngwa ga-adị. Ma anyị na-emepụta koodu, mee ya, na otu ihe ahụ na-eme. Ya mere, anyị gbasoro ụzọ anyị dere, anyị nwetara ya. Plus generators pụtara obere oge ka anyị malitere ime ha. Ma ọ bụla akaha ịgbanwe.

Ị nụla ihe ọ bụla gbasara jsonnet?

Ee e

Lee, ihe a dị ezigbo mma. M na-ahụ otu ikpe ebe ị nwere ike itinye ya ma mepụta usoro data.

Ndị na-emepụta ọkụ na-adị mma mgbe ị nwere ha, dị ka njakịrị banyere igwe na-akpụ isi. Ya bụ, oge mbụ ihu dị iche, mana onye ọ bụla nwere otu ihu. Ndị na-emepụta ọkụ na-arụ ọrụ nke ọma. Ma, ọ dị mwute ikwu na ihu anyị dịtụ iche. Nke a bụ nsogbu.

Naanị lee anya. Daalụ!

Aha m bụ Maxim, esi m na Sberbank. Ị kwuru ntakịrị banyere otu ị si agbalị iweta Terraform n'otu asụsụ mmemme. Ọ naghị adị mfe iji ike?

Ihe ndị a dị nnọọ iche. Ị nwere ike ịmepụta ihe onwunwe na ike, na Puppet nwere ike ịmepụta ihe onwunwe na Amazon. Mana Terraform na-agba ọsọ ogologo.

Ị nwere naanị Amazon?

Ọ bụghị na anyị nwere naanị Amazon. Anyị fọrọ nke nta ka ọ bụrụ naanị Amazon. Mana njirimara bụ isi bụ na Terraform na-echeta. N'ime ike, ọ bụrụ na ị sị: "Nye m ikpe 5," mgbe ahụ ọ ga-ebuli elu, wee sị: "Ma ugbu a achọrọ m 3." Na Terraform ga-asị: "Ọ dị mma, m ga-egbu 2," na Ansible ga-asị: "Ọ dị mma, nke a bụ 3 maka gị." Ngụkọta 8.

Nnọọ! Daalụ maka akụkọ gị! Ọ bụ ihe na-atọ ụtọ ịnụ banyere Terraform. Ọ ga-amasị m ikwu obere okwu ozugbo banyere eziokwu ahụ bụ na Terraform ka enweghị ntọhapụ kwụsiri ike, yabụ jiri nlezianya na-akpachapụ anya na Terraform.

Otu ngaji dị mma maka nri abalị. Nke ahụ bụ, ọ bụrụ na ịchọrọ ngwọta, mgbe ahụ, mgbe ụfọdụ, ị na-ewepụ ihe na-adịghị akwụ ụgwọ, wdg, ma ọ na-arụ ọrụ ma nyere anyị aka.

Ajụjụ bụ nke a. Ị na-eji Remote backend, ị na-eji S 3. Gịnị kpatara na ị naghị eji azụ azụ azụ?

Ọchịchọ?

Terraform ígwé ojii.

Olee mgbe ọ pụtara?

Ihe dịka ọnwa anọ gara aga.

Ọ bụrụ na ọ pụtara afọ 4 gara aga, mgbe ahụ enwere m ike zaa ajụjụ gị.

Enweelarị ọrụ arụnyere na mkpọchi, ma ị nwere ike ịchekwa faịlụ steeti. Gbalịa mee ya. Mana anwalebeghị m ya.

Anyị na-aga n'ụgbọ okporo ígwè buru ibu nke na-agba ọsọ ọsọ. Ị pụghịkwa iburu ụgbọ ala ole na ole tụfuo ha.

Ị kwuru maka snowflakes, gịnị kpatara na ị naghị eji alaka? Gịnị mere na ọ gaghị ekwe omume otú ahụ?

Ụzọ anyị si eme bụ na akụrụngwa niile dị n'otu ebe nchekwa. Terraform, Puppet, edemede niile metụtara nke a, ha niile nọ n'otu ebe nchekwa. N'ụzọ dị otú a, anyị nwere ike ịhụ na a na-anwale mgbanwe agbakwunyere n'otu n'otu. Ọ bụrụ na ọ bụ ụyọkọ alaka, mgbe ahụ, ọrụ dị otú ahụ ga-abụ ihe na-agaghị ekwe omume ịnọgide na-enwe. Ọnwa isii gafere, ha na-agbanwe nke ukwuu nke na ọ bụ naanị ụdị ntaramahụhụ. Nke a bụ ihe m chọrọ ịgbanarị tupu m emegharịa.

Ya mere, ọ naghị arụ ọrụ?

Nke a anaghị arụ ọrụ ma ọlị.

N'alaka ụlọ ọrụ m bechapụ slide ahụ. Ya bụ, ọ bụrụ na ị na-eme ya maka nchịkọta ule ọ bụla, dịka ọmụmaatụ, otu A nwere nchekwa nke ya, otu B nwere nchekwa nke ya, nke a anaghịkwa arụ ọrụ. Anyị mepụtara koodu gburugburu ule jikọtara ọnụ nke na-agbanwe nke ọma dabara onye ọ bụla. Ya bụ, anyị nyere otu koodu.

Nnọọ! Aha m bụ Yura! Daalụ maka akụkọ ahụ! Ajụjụ gbasara modul. Ị sị na ị na-eji modul. Kedu ka ị ga-esi dozie esemokwu ahụ ma ọ bụrụ na emewo mgbanwe na otu modul nke na-adabaghị na mgbanwe onye ọzọ? Ị na-etugharị modul ahụ n'ụzọ ụfọdụ ma ọ bụ na-agbalị iweta wunderwaffle iji mezuo ihe abụọ a chọrọ?

Nke a bụ nnukwu nsogbu ikpo snow. Nke a bụ ihe anyị na-ata ahụhụ mgbe ụfọdụ mgbanwe na-adịghị njọ nwere ike imebi akụkụ ụfọdụ nke akụrụngwa. Ma nke a ga-apụta ìhè naanị mgbe ogologo oge gachara.

Ya bụ, emebebeghị ya?

Ị na-eme modul eluigwe na ala. Zere snowflakes. Na ihe niile ga-arụ ọrụ. Nkeji nke abụọ nke akụkọ ahụ bụ maka otu esi ezere nke a.

Nnọọ! Daalụ maka akụkọ ahụ! Ọ ga-amasị m ịkọwapụta. N'azụ ihe nkiri ahụ enwere nnukwu ikpo m bịara. Kedu ka esi ejikọta Puppet na nkesa ọrụ?

Data onye ọrụ.

Ya bụ, ị gbapụrụ faịlụ ahụ wee gbuo ya n'ụzọ ụfọdụ?

Onye ọrụ-data bụ ndetu, ya bụ, mgbe anyị na-eme ihe oyiyi nke ihe oyiyi ahụ, Daemon na-ebili n'ebe ahụ, na-agbalị ịchọta onye ọ bụ, na-agụ ihe ndetu na ọ bụ onye na-ebu ibu.

Ya bụ, nke a ọ bụ ụdị usoro dị iche iche nke enyere?

Anyị echepụtaghị ya. Anyị na-eji ya.

Nnọọ! Enwere m ajụjụ gbasara onye ọrụ - data. Ị kwuru na enwere nsogbu ebe ahụ, na mmadụ nwere ike iziga ihe n'ebe na-ezighị ezi. Enwere ụzọ iji chekwaa data onye ọrụ n'otu Git, nke mere na ọ na-edo anya mgbe niile ihe data onye ọrụ na-ezo aka?

Anyị na-ewepụta data onye ọrụ site na ndebiri. Ya bụ, a na-eji ọnụ ọgụgụ ụfọdụ nke mgbanwe mee ihe n'ebe ahụ. Na Terraform na-ebute nsonaazụ ikpeazụ. Ya mere, ị pụghị ilele template ahụ naanị ma kwuo ihe ga-eme, n'ihi na nsogbu niile metụtara eziokwu ahụ bụ na onye mmepụta na-eche na ọ na-agafe eriri na mgbanwe a, ma a na-eji nhazi ebe ahụ. Na ya - bam na m - ya-na-na-na-na-na-na-na-na-na-akara, na ihe nile mebiri. Ọ bụrụ na nke a bụ ihe ọhụrụ na mmadụ na-eburu ya ma hụ na ihe adịghị arụ ọrụ, mgbe ahụ, a na-edozi ya ngwa ngwa. Ma ọ bụrụ na a na-emelite otu autoscale a, mgbe ahụ, n'oge ụfọdụ, a na-amalite dochie anya ọnọdụ ndị dị na otu autoscale. Na bang, ihe anaghị arụ ọrụ. Ọ na-afụ ụfụ.

Ọ na-apụta na naanị ihe ngwọta bụ ịnwale?

Ee, ị na-ahụ nsogbu ahụ, ị ​​gbakwunye nzọụkwụ ule n'ebe ahụ. Ya bụ, a pụkwara ịnwale mmepụta. Eleghị anya ọ dịghị adabara, mana ị nwekwara ike itinye akara ụfọdụ - lelee na etinyere data onye ọrụ ebe a.

Aha m bụ Timur. Ọ dị ezigbo mma na enwere akụkọ gbasara otu esi ahazi Terraform nke ọma.

amalitebeghị m.

Echere m na ikekwe na ọgbakọ na-esote a ga-enwe. Enwere m ajụjụ dị mfe. Kedu ihe kpatara ị na-edobe uru na modul dị iche kama iji tfvars, yabụ kedu ihe kpatara modul nwere ụkpụrụ dị mma karịa tfvars?

Ya bụ, m ga-ede ebe a (slide: Production/environment/settings.tf): ngalaba = variable, ngalaba vpcnetwork, variable vpcnetwork na stvars - enwere m ike nweta otu ihe ahụ?

Nke ahụ bụ kpọmkwem ihe anyị na-eme. Anyị na-ezo aka na modul isi mmalite, dịka ọmụmaatụ.

N'ezie, nke a bụ tfvars dị otú ahụ. Tfvars dị ezigbo mma na gburugburu nnwale. Enwere m tfvars maka nnukwu oge, maka ndị obere. M wee tụba otu faịlụ n'ime folda ahụ. Enwekwara m ihe m chọrọ. Mgbe anyị na-egbutu akụrụngwa, anyị chọrọ ka o kwe omume ile anya ma ghọta ihe niile ozugbo. Ya mere, ọ na-apụta na ịkwesịrị ile anya ebe a, wee lelee tfvars.

Ọ ga-ekwe omume ịnwe ihe niile n'otu ebe?

Ee, tfvars bụ mgbe ị nwere otu koodu. A na-ejikwa ya n'ọtụtụ ebe dị iche iche nwere nuances dị iche iche. Mgbe ahụ ị ga-atụfu tfvars wee nweta nuances gị. Na anyị bụ akụrụngwa dị ka koodu n'ụdị ya dị ọcha. M lere anya wee ghọta.

Nnọọ! Ị hụla ọnọdụ ebe onye na-eweta igwe ojii na-egbochi ihe ị mere Terraform? Ka anyị kwuo na anyị dezie metadata. Enwere igodo ssh. Na Google na-etinye metadata ya na igodo ya mgbe niile. Na Terraform na-edekarị na ọ nwere mgbanwe. Mgbe ọ bụla na-agba ọsọ, ọ bụrụgodị na ọ dịghị ihe na-agbanwe, ọ na-ekwu mgbe niile na ya ga-emelite ubi a ugbu a.

Na igodo, mana ee, akụkụ nke akụrụngwa na-emetụta ihe a, ya bụ Terraform enweghị ike ịgbanwe ihe ọ bụla. Anyị enweghị ike iji aka anyị gbanwee ihe ọ bụla. Anyị ga-ebi na ya ugbu a.

Ya bụ, ị hụla ihe dị ka nke a, mana i nwebeghị ihe ọ bụla, olee otu o si eme ya ma mee ya n'onwe ya?

O di nwute na ee.

Nnọọ! Aha m bụ Starkov Stanislav. Ozi. ru Group. Kedu otu esi edozi nsogbu nke ịmepụta mkpado na ..., kedu ka ị ga-esi nyefee ya n'ime? Dịka m ghọtara ya, site na Onye ọrụ - data iji kọwapụta aha nnabata, tinye Puppet? Na akụkụ nke abụọ nke ajụjụ ahụ. Kedu otu esi edozi okwu a na SG, ya bụ mgbe ị na-emepụta SG, ọtụtụ narị oge nke otu ụdị, gịnị bụ aha ziri ezi maka ha?

Oge ndị ahụ dị anyị ezigbo mkpa, anyị na-akpọ ha nke ọma. Ndị na-adịghị mkpa, e nwere ndetu na nke a bụ autoscale otu. Na tiori, ị nwere ike ịkụtu ya ma nweta nke ọhụrụ.

Banyere nsogbu na mkpado ahụ, ọ dịghị nsogbu dị otú ahụ, ma e nwere ọrụ dị otú ahụ. Anyị na-ejikwa mkpado dị oke egwu, n'ihi na akụrụngwa dị ukwuu ma dịkwa oke ọnụ. Na anyị kwesịrị ileba anya ebe ego na-aga, ya mere mkpado na-enye anyị ohere imebi ihe gara ebe. Na, n'ihi ya, a na-emefu ihe na-achọ ihe pụtara nnukwu ego ebe a.

Gịnị ọzọ bụ ajụjụ banyere?

Mgbe SG mepụtara ọtụtụ narị oge, ọ dị mkpa ka ekewapụta ha n'ụzọ ụfọdụ?

Mba, emela ya. Na oge ọ bụla enwere onye nnọchi anya na-akọ na enwere m nsogbu. Ọ bụrụ na onye ọrụ na-akọ akụkọ, onye ọrụ ahụ maara banyere ya na, opekempe, adreesị IP ya dị. Ị nwere ike ịgba ọsọ. Nke abuo, anyị na-eji Consul maka Discovery, ebe Kubernetes na-adịghị. Na Consul na-egosikwa adreesị IP nke ihe atụ ahụ.

Ya bụ, ị na-elekwasị anya kpọmkwem na IP, ọ bụghị na aha nnabata?

Ọ gaghị ekwe omume ịnyagharịa site na aha nnabata, i.e. enwere ọtụtụ n'ime ha. Enwere ihe nchọpụta ihe atụ - AE, wdg Ị nwere ike ịchọta ya ebe, ị nwere ike ịtụba ya n'ime ọchụchọ.

Nnọọ! Aghọtara m na Terraform bụ ihe dị mma, ahaziri maka igwe ojii.

Ọ bụghị naanị.

Nke a bụ ajụjụ na-amasị m. Ọ bụrụ na ị kpebie ịkwaga, sịnụ, na Bare Metal n'ozuzu ya na ọnọdụ gị niile? Enwere nsogbu ọ bụla? Ma ọ bụ, ị ka ga-eji ngwaahịa ndị ọzọ, dịka ọmụmaatụ, otu ike nke ekwuru ebe a?

Ihe nwere ike ime bụ ntakịrị banyere ihe ọzọ. Ya bụ, Ansible na-arụ ọrụ mgbe ihe atụ malitere. Na Terraform na-arụ ọrụ tupu ihe atụ amalite. Ịgbanwe na Bare Metal - mba.

Ọ bụghị ugbu a, mana azụmahịa ga-abịa sị: "Bịa."

Ịgbanwe na igwe ojii ọzọ - ee, mana enwere aghụghọ dịtụ iche ebe a. Ịkwesịrị ide koodu Terraform n'ụzọ ị nwere ike iji obere mbọ gbanwee gaa na igwe ojii ọzọ.

Na mbụ, e debere ọrụ ahụ na akụrụngwa anyị niile bụ agnostic, ya bụ ígwé ojii ọ bụla kwesịrị ekwesị, ma n'oge ụfọdụ, azụmahịa ahụ kwụsịrị ma kwuo, sị: "Ọ dị mma, n'ime afọ N ndị ọzọ, anyị agaghị aga ebe ọ bụla, anyị nwere ike iji ọrụ. sitere na Amazon"

Terraform na-enye gị ohere ịmepụta ọrụ Front-End, hazie PagerDuty, data doc, wdg. Ọ nwere ọtụtụ ọdụ. O nwere ike ịchịkwa ụwa niile.

Daalụ maka akụkọ ahụ! M na-ejikwa Terraform afọ 4 ugbu a. N'oge mgbanwe dị mma na Terraform, na akụrụngwa, na nkọwa nkọwa, anyị chere ọnọdụ ihu ebe mmadụ na-eme ihe n'aka, ma ị na-agbalị ime atụmatụ. Enwekwara m ụdị njehie n'ebe ahụ. Olee otú ị ga-esi emeri nsogbu ndị dị otú ahụ? Kedu otu esi achọta akụrụngwa furu efu nke edepụtara?

tumadi na aka na anya, ọ bụrụ na anyị na-ahụ ihe iju na akụkọ, mgbe ahụ anyị na-enyocha ihe na-eme n'ebe ahụ, ma ọ bụ nnọọ na-egbu. N'ozuzu, ịdọrọ arịrịọ bụ ihe a na-ahụkarị.

Ọ bụrụ na enwere mperi, ị na-atụgharị? Ị gbalịrị ime nke a?

Ee e, nke a bụ mkpebi mmadụ n'oge ọ hụrụ nsogbu.

isi: www.habr.com