Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Bhiodh e coltach gu bheil luchd-leasachaidh Terraform a’ tabhann deagh chleachdaidhean gu math goireasach airson a bhith ag obair le bun-structar AWS. Chan eil ach nuance ann. Thar ùine, tha an àireamh de àrainneachdan a 'meudachadh, feartan a' nochdadh anns gach fear. A’ nochdadh cha mhòr leth-bhreac den stac tagraidh san sgìre ri thaobh. Agus feumar an còd Terraform a chopaigeadh agus a dheasachadh gu faiceallach a rèir nan riatanasan ùra no gus maoim-sneachda a dhèanamh.

An aithisg agam mu phàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe air pròiseactan mòra is fada.

Bhidio:

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Tha mi 40, tha mi air a bhith ann an IT airson 20 bliadhna. Tha mi air a bhith ag obair dha Ixtens airson 12 bliadhna. Tha sinn an sàs ann an leasachadh air a stiùireadh le e-malairt. Agus tha mi air a bhith ag obair cleachdaidhean DevOps airson 5 bliadhna.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Bidh an sgeulachd agam mun eòlas agam ann am pròiseact ann an companaidh leis an ainm nach can mi, a’ falach air cùl aonta neo-fhoillseachaidh.

Tha na h-àireamhan air an t-sleamhnag air an comharrachadh gus meud a’ phròiseict a thuigsinn. Agus tha a h-uile dad a chanas mi an ath rud co-cheangailte ri Amazon.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Chaidh mi dhan phròiseact seo 4 bliadhna air ais. Agus bha ath-leasachadh a’ bhun-structair a’ tighinn gu ìre leis gu robh am pròiseact air fàs. Agus cha robh na pàtranan a chaidh a chleachdadh freagarrach tuilleadh. Agus leis a h-uile fàs a bha san amharc sa phròiseact, bha e riatanach rudeigin ùr a chruthachadh.

Taing do Matvey, a dh’ innis dhuinn an-dè mar a thachair aig Dodo Pizza. Seo mar a thachair an seo o chionn 4 bliadhna.

Thàinig luchd-leasachaidh agus thòisich iad a 'dèanamh còd bun-structair.

B’ e an t-àm airson margaidheachd na h-adhbharan a bu fhollaisiche carson a bha feum air. Bha e riatanach dèanamh cinnteach nach robh sgioba DevOps na bhotal aig àm sgaoileadh. Agus am measg rudan eile, chaidh Terraform agus Puppet a chleachdadh aig a’ chiad ìre.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Tha Terraform na phròiseact stòr fosgailte bho HashiCorp. Agus dhaibhsan aig nach eil fiù 's fios dè a tha seo, tha na beagan shleamhnagan a tha romhainn.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Tha bun-structar mar chòd a’ ciallachadh gun urrainn dhuinn cunntas a thoirt air ar bun-structar agus iarraidh air cuid de dh’ innealan-fuadain dèanamh cinnteach gum faigh sinn na goireasan air an do mhìnich sinn.

Mar eisimpleir, feumaidh sinn inneal mas-fhìor. Bheir sinn cunntas air agus cuiridh sinn grunn pharaimearan riatanach ris.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Às deidh seo, rèitichidh sinn ruigsinneachd gu Amazon sa chonsail. Agus iarraidh sinn plana Terraform. Canaidh plana Terraform: “Ceart gu leòr, is urrainn dhuinn na rudan sin a dhèanamh airson do ghoireas.” Agus thèid co-dhiù aon ghoireas a chur ris. Agus chan eil dùil ri atharrachaidhean sam bith.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Aon uair ‘s gu bheil thu toilichte leis a h-uile càil, faodaidh tu iarraidh air Terraform tagradh a dhèanamh agus cruthaichidh Terraform eisimpleir dhut, agus gheibh thu inneal brìgheil san sgòth agad.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

A bharrachd air an sin, tha am pròiseact againn a’ leasachadh. Tha sinn a’ cur beagan atharrachaidhean ris an sin. Iarraidh sinn barrachd shuidheachaidhean, cuiridh sinn 53 inntrig ris.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Agus bidh sinn a-rithist. Feuch an dèan thu planadh. Chì sinn dè na h-atharrachaidhean a tha san amharc. Bidh sinn a’ tagradh. Agus seo mar a tha ar bun-structar a’ fàs.

Bidh Terraform a’ cleachdadh rudeigin ris an canar faidhlichean stàite. Is e sin, thèid a h-uile atharrachadh a thèid gu Amazon a shàbhaladh ann am faidhle far a bheil goireasan co-fhreagarrach a chaidh a chruthachadh ann an Amazon airson gach goireas a mhìnich thu. Mar sin, nuair a dh’ atharraicheas an tuairisgeul air goireas, tha fios aig Terraform dè dìreach a dh’ fheumar atharrachadh ann an Amazon.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

B' e dìreach faidhlichean a bh' anns na faidhlichean stàite seo bho thùs. Agus ghlèidh sinn iad ann an Git, rud a bha air leth mì-ghoireasach. Dhìochuimhnich cuideigin an-còmhnaidh atharrachaidhean a dhèanamh, agus dh'èirich iomadh còmhstri.

A-nis tha e comasach an backend a chleachdadh, i.e. tha Terraform air a shònrachadh anns a’ bhucaid agus leis an iuchair a bu chòir am faidhle stàite a shàbhaladh. Agus bidh Terraform fhèin a 'gabhail cùram mu bhith a' faighinn am faidhle stàite seo, a 'dèanamh a h-uile draoidheachd agus a' cur air ais an toradh deireannach.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Tha ar bun-structar a’ fàs. Seo an còd againn. Agus a-nis chan eil sinn dìreach airson inneal brìgheil a chruthachadh, tha sinn airson àrainneachd deuchainn a bhith againn.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Leigidh Terraform leat a leithid de rud a chruthachadh mar mhodal, is e sin, thoir cunntas air an aon rud ann am pasgan air choreigin.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Agus, mar eisimpleir, ann an deuchainn, cuir fios chun mhodal seo agus faigh an aon rud mar gum biodh sinn air Terraform a chuir an gnìomh anns a’ mhodal fhèin. Airson deuchainn bidh an còd seo ann.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Airson cinneasachadh, is urrainn dhuinn beagan atharrachaidhean a chuir an sin, oir ann an deuchainn chan fheum sinn suidheachaidhean mòra, ann an cinneasachadh thig cùisean mòra gu feum.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Agus an uairsin tillidh mi air ais chun phròiseact. B’ e obair dhoirbh a bh’ ann, bha am bun-structar dealbhaichte glè mhòr. Agus bha e riatanach dòigh air choireigin a chur air a h-uile còd gus am biodh e goireasach dha na h-uile: an dà chuid airson an fheadhainn a 'dèanamh cumail suas air a' chòd seo agus airson an fheadhainn a tha a 'dèanamh atharrachaidhean. Agus bhathas an dùil gum b’ urrainn do leasaiche sam bith a dhol agus am bun-structar a chàradh mar a dh’ fheumar airson a phàirt den àrd-ùrlar.

Is e craobh eòlaire a tha seo a tha HashiCorp fhèin a’ moladh ma tha pròiseact mòr agad agus tha e ciallach am bun-structar gu lèir a roinn ann am pìosan beaga, agus cunntas a thoirt air gach pìos ann am pasgan air leth.

Le leabharlann farsaing de ghoireasan, faodaidh tu timcheall air an aon rud a ghairm ann an deuchainn agus ann an cinneasachadh.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Anns a 'chùis againn, cha robh seo gu tur freagarrach, oir bha feum air a' chruach deuchainn airson luchd-leasachaidh no airson deuchainn fhaighinn ann an dòigh air choreigin nas sìmplidh. Ach cha robh mi airson a dhol tro na pasganan agus an cur an sàs san t-sreath riatanach, agus dragh orm gun èirich an stòr-dàta, agus an uairsin dh’ èirich an eisimpleir a chleachdas an stòr-dàta seo. Mar sin, chaidh a h-uile deuchainn a chuir air bhog bho aon phasgan. Chaidh na h-aon mhodalan a ghairm an sin, ach chaidh a h-uile càil a dhèanamh ann an aon ruith.

Bidh Terraform a’ toirt aire do na h-eisimeileachd gu lèir. Agus bidh e an-còmhnaidh a’ cruthachadh ghoireasan san t-sreath gus am faigh thu seòladh IP, mar eisimpleir, bho eisimpleir a chaidh a chruthachadh às ùr, agus an seòladh IP seo fhaighinn anns a’ chlàr route53.

A bharrachd air an sin, tha an àrd-ùrlar glè mhòr. Agus is e gnìomhachas gu math daor a th’ ann a bhith a’ ruith cruach deuchainn, eadhon airson uair a thìde, eadhon ged a bhiodh e airson 8 uairean.

Agus rinn sinn fèin-ghluasad air a’ chùis seo. Agus leig obair Jenkins leinn an stac a ruith. Ann, bha e riatanach iarrtas tarraing a chuir air bhog leis na h-atharrachaidhean a tha an leasaiche ag iarraidh a dhearbhadh, sònraich na roghainnean, na pàirtean agus na tomhasan riatanach. Ma tha e ag iarraidh deuchainn coileanaidh, faodaidh e barrachd shuidheachaidhean a ghabhail. Ma dh’ fheumas e dèanamh cinnteach gu bheil foirm air choireigin a’ fosgladh, dh’ fhaodadh e tòiseachadh aig an tuarastal as ìsle. Agus cuideachd comharraich a bheil feum air cruinneachadh no nach eil, msaa.

Agus an uairsin phut Jenkins sgriobt slige, a dh'atharraich beagan an còd ann am pasgan Terraform. Thug mi air falbh faidhlichean neo-riatanach agus chuir mi faidhlichean riatanach ris. Agus an uairsin le aon ruith de Terraform cuir a-steach chaidh a’ chruach àrdachadh.

Agus an uairsin bha ceumannan eile ann nach eil mi airson a dhol a-steach.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Leis gu robh feum againn air beagan a bharrachd roghainnean airson deuchainn na ann an cinneasachadh, bha againn ri lethbhric de na modalan a dhèanamh gus am b’ urrainn dhuinn na feartan sin a chuir ris a bha a dhìth airson deuchainn a-mhàin.

Agus thachair e mar sin ann a bhith a’ dèanamh deuchainn gu bheil mi airson deuchainn a dhèanamh air na h-atharrachaidhean sin a thèid gu cinneasachadh mu dheireadh. Ach gu dearbh, chaidh aon rud a dhearbhadh, agus chaidh fear beagan eadar-dhealaichte a chleachdadh ann an cinneasachadh. Agus bha briseadh beag anns a 'phàtran gun robh an sgioba obrachaidh air a h-uile atharrachadh a chuir an sàs ann an riochdachadh. Agus uaireannan thionndaidh e a-mach gun robh na h-atharrachaidhean sin a bha còir a dhol bho dheuchainn gu cinneasachadh fhathast ann an dreach eile.

A bharrachd air an sin, bha an leithid de dhuilgheadas ann gun deach seirbheis ùr a chuir ris, a bha beagan eadar-dhealaichte bho chuid a bha ann mar-thà. Agus an àite modal gnàthaichte atharrachadh, bha againn ri leth-bhreac a dhèanamh dheth agus na h-atharrachaidhean riatanach a chur ris.

Gu bunaiteach, chan e fìor chànan a th’ ann an Terraform. Is e dearbhadh a tha seo. Ma dh’fheumas sinn rudeigin fhoillseachadh, bidh sinn ga fhoillseachadh. Agus tha e uile ag obair.

Aig àm air choreigin, nuair a bhathas a’ beachdachadh air aon de na h-iarrtasan tarraing agam, thuirt fear de mo cho-obraichean nach robh feum air maoim-sneachda a chruthachadh. Bha mi a’ faighneachd dè bha e a’ ciallachadh. Tha fìrinn saidheansail ann nach eil dà mhaoim-sneachda co-ionann air an t-saoghal, tha iad uile beagan eadar-dhealaichte. Agus cho luath 's a chuala mi seo, dh'fhairich mi sa bhad làn chuideam còd Terraform. Oir nuair a bha feum air gluasad bho dhreach gu dreach, bha feum aig Terraform air atharrachaidhean slabhraidh a bhriseadh, ie cha robh an còd tuilleadh co-chòrdail ris an ath dhreach. Agus bha againn ri iarrtas tarraing a dhèanamh, a bha a’ còmhdach faisg air leth de na faidhlichean sa bhun-structar, gus am bun-structar a thoirt chun ath dhreach de Terraform.

Agus às deidh a leithid de mhaoim-sneachda nochdadh, thionndaidh a h-uile còd Terraform a bha sinn air a thionndadh gu bhith na chrann mòr, mòr de shneachda.

Airson leasaiche taobh a-muigh a tha taobh a-muigh gnìomhachd, chan eil e gu diofar dha, oir rinn e iarrtas tarraing, thòisich an goireas aige. Agus sin e, chan e an dragh a th’ aige. Agus feumaidh sgioba DevOps a nì cinnteach gu bheil a h-uile dad ceart gu leòr na h-atharrachaidhean sin uile a dhèanamh. Agus mheudaich cosgais nan atharrachaidhean sin gu mòr, gu mòr le gach maoim-sneachda a bharrachd.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Tha sgeulachd ann mu mar a bhios oileanach aig seiminear a’ tarraing dà chearcall foirfe le cailc air a’ bhòrd dhubh. Agus tha iongnadh air an tidsear mar a fhuair e air tarraing cho rèidh às aonais combaist. Tha an oileanach a 'freagairt: "Gu math sìmplidh, chuir mi seachad dà bhliadhna san arm a' tionndadh feòil feòil."

Agus de na ceithir bliadhna a tha mi air a bhith an sàs sa phròiseact seo, tha mi air a bhith a’ dèanamh Terraform airson timcheall air dà bhliadhna. Agus, gu dearbh, tha beagan chleasan agam, beagan comhairle air mar as urrainn dhut còd Terraform a dhèanamh nas sìmplidhe, obrachadh leis mar chànan prògramaidh agus lughdachadh an eallach air luchd-leasachaidh a dh’ fheumas an còd seo a chumail ùraichte.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Is e a’ chiad rud a bu mhath leam tòiseachadh leis Symlinks. Tha tòrr còd ath-aithris aig Terraform. Mar eisimpleir, tha a’ ghairm chun t-solaraiche aig cha mhòr a h-uile puing far an cruthaich sinn pìos bun-structair mar an ceudna. Agus tha e loidsigeach a chuir ann am pasgan air leth. Agus ge bith càite a bheil feum air an t-solaraiche Symlinks a dhèanamh ris an fhaidhle seo.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Mar eisimpleir, ann an riochdachadh bidh thu a’ cleachdadh dreuchd gabhail, a leigeas leat còraichean-slighe fhaighinn air cuid de chunntas Amazon taobh a-muigh. Agus às deidh dhaibh aon fhaidhle atharrachadh, bidh na còraichean riatanach aig a h-uile duine a tha air fhàgail sa chraobh ghoireasan gus am bi fios aig Terraform dè an roinn de Amazon a gheibh cothrom.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Càite am bi Symlinks a’ fàiligeadh? Mar a thuirt mi, tha faidhlichean stàite aig Terraform. Agus tha iad glè, glè bhlasta. Ach is e an rud gu bheil Terraform a’ tòiseachadh an backend sa chiad àite. Agus chan urrainn dha caochladairean sam bith a chleachdadh anns na crìochan sin; feumaidh iad an-còmhnaidh a bhith sgrìobhte ann an teacsa.

Agus mar thoradh air an sin, nuair a nì cuideigin goireas ùr, bidh e a’ dèanamh lethbhreac den chòd bho phasganan eile. Agus faodaidh e mearachd a dhèanamh leis an iuchair no leis a’ bhucaid. Mar eisimpleir, bidh e a 'dèanamh rud bogsa gainmhich bho bhogsa gainmhich, agus an uairsin ga dhèanamh ann an riochdachadh. Agus mar sin is dòcha gun tionndaidh am bucaid ann an cinneasachadh bhon bhogsa gainmhich. Gu dearbh, lorgaidh iad e gu sgiobalta. Bidh e comasach seo a cheartachadh dòigh air choireigin, ach a dh’ aindeoin sin tha e na chaitheamh ùine agus, gu ìre, goireasan.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Dè as urrainn dhuinn a dhèanamh an ath rud? Mus obraich thu le Terraform, feumaidh tu a thòiseachadh. Aig àm an tòiseachaidh, bidh Terraform a’ luchdachadh sìos a h-uile plugan. Aig àm air choreigin, bhris iad bho monolith gu ailtireachd nas microservice. Agus feumaidh tu an-còmhnaidh Terraform a dhèanamh init gus am bi e a’ tarraing suas na modalan gu lèir, na plugins gu lèir.

Agus faodaidh tu sgriobt shligean a chleachdadh, a gheibh, an toiseach, na caochladairean gu lèir. Tha sgriobt Shell gun chrìoch. Agus, san dàrna àite, an dòigh. Ma chleachdas sinn an-còmhnaidh an t-slighe a tha san stòr mar an iuchair don fhaidhle stàite, an uairsin, a rèir sin, thèid am mearachd a chuir a-mach an seo.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Càite am faigh thu dàta? JSON faidhle. Leigidh Terraform leat bun-structar a sgrìobhadh chan ann a-mhàin ann an hcl (Cànan Configuration HashiCorp), ach cuideachd ann an JSON.

Tha JSON furasta a leughadh bho sgriobt shligean. Mar sin, faodaidh tu am faidhle rèiteachaidh le bucaid a chuir ann an àite air choreigin. Agus cleachd am bucaid seo an dà chuid ann an còd Terraform agus anns an sgriobt shligean airson tòiseachadh.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Carson a tha e cudromach bucaid a bhith agad airson Terraform? Leis gu bheil leithid de rud ann ri faidhlichean stàite iomallach. Is e sin, nuair a thogas mi goireas air choireigin, gus innse dha Amazon: “Feuch an tog eisimpleir,” feumaidh mi mòran de na paramadairean riatanach a shònrachadh.

Agus tha na h-aithnichearan sin air an stòradh ann am pasgan eile. Agus is urrainn dhomh a dhol agus a ràdh: “Tarraform, feuch an ruith thu gu faidhle stàite an dearbh ghoireas sin agus faigh na aithnichearan sin dhomh.” Agus mar sin tha aonadh sònraichte a’ nochdadh eadar diofar roinnean no àrainneachdan.

Chan eil e an-còmhnaidh comasach faidhle stàite iomallach a chleachdadh. Mar eisimpleir, chruthaich thu VPC le làimh. Agus tha an còd Terraform a chruthaicheas an VPC a’ cruthachadh VPCan cho eadar-dhealaichte is gun toir e ùine mhòr agus feumaidh tu aon atharrachadh gu fear eile, gus an urrainn dhut an cleas a leanas a chleachdadh.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Is e sin, dèan modal a tha coltach gu bheil e a’ dèanamh VPC agus, mar gum biodh, a bheir dhut aithnichearan, ach gu dearbh tha dìreach faidhle ann le luachan còd cruaidh a ghabhas cleachdadh gus an aon eisimpleir a chruthachadh.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Chan eil e an-còmhnaidh riatanach am faidhle stàite a shàbhaladh san sgòth. Mar eisimpleir, nuair a bhios tu a’ dèanamh deuchainn air modalan, faodaidh tu backend initialization a chleachdadh, nuair a thèid am faidhle a shàbhaladh dìreach air diosc aig àm an deuchainn.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

A-nis beagan mu dheidhinn deuchainn. Dè as urrainn dhut a dhearbhadh ann an Terraform? Is dòcha gu bheil tòrr comasach, ach bruidhnidh mi mu na 4 rudan sin.

Tha tuigse aig HashiCorp air mar a chuireas tu cruth air còd Terraform. Agus leigidh Terraform fmt leat an còd a dheasaicheas tu a chruth a rèir a’ chreideas sin. Mar sin, feumaidh na deuchainnean dearbhadh gu riatanach a bheil an cruth a’ freagairt ris na dh’ fhàg HashiCorp mar dhìleab, gus nach fheum thu suidheachadh camagan, msaa atharrachadh.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Is e an ath fhear Terraform validate. Chan eil e a’ dèanamh mòran a bharrachd air a bhith a’ cumail sùil air a’ cho-chòrdadh - ala, a bheil a h-uile bragan air am paidhir. Dè tha cudromach an seo? Tha am bun-structar againn gu math farsaing. Tha tòrr daddies eadar-dhealaichte ann. Agus anns gach fear feumaidh tu Terraform validate a ruith.

A rèir sin, gus deuchainn a luathachadh, bidh sinn a’ ruith grunn phròiseasan aig an aon àm a’ cleachdadh co-shìnte.

Is e rud gu math fionnar a th’ ann an co-shìnte, cleachd e.

Ach a h-uile uair a thòisicheas Terraform, bidh e a’ dol gu HashiCorp agus a’ faighneachd, “Dè na dreachan plugan as ùire? Agus am plugan a th’ agam san tasgadan - an e am fear ceart no am fear ceàrr?" Agus chaidh seo sìos aig a h-uile ceum.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Ma dh’innseas tu dha Terraform far a bheil na plugins, canaidh Terraform: “Ceart gu leòr, is dòcha gur e seo an rud as ùire a tha ann. Cha tèid mi àite sam bith, tòisichidh mi sa bhad a’ dearbhadh do chòd Terraform."

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Gus am pasgan a lìonadh leis na plugins riatanach, tha còd Terraform gu math sìmplidh againn a dh’ fheumar a thòiseachadh. An seo, gu dearbh, feumaidh tu na solaraichean uile a tha an sàs sa chòd agad a shònrachadh, air neo bidh Terraform ag ràdh: “Chan eil mi eòlach air solaraiche sam bith, oir chan eil e san tasgadan.”

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

An ath rud tha am plana Terraform. Mar a thuirt mi, tha leasachadh cearcallach. Bidh sinn a’ dèanamh atharrachaidhean air a’ chòd. Agus an uairsin feumaidh tu faighinn a-mach dè na h-atharrachaidhean a tha san amharc airson a’ bhun-structair.

Agus nuair a tha am bun-structar glè, glè mhòr, faodaidh tu aon mhodal atharrachadh, àrainneachd deuchainn no sgìre sònraichte a chàradh agus fear eile a bhriseadh. Mar sin, bu chòir plana Terraform a dhèanamh airson a’ bhun-structair gu lèir agus sealltainn dè na h-atharrachaidhean a tha san amharc.

Faodaidh tu a dhèanamh san dòigh smart. Mar eisimpleir, sgrìobh sinn sgriobt Python a rèiticheas eisimeileachd. Agus a rèir na chaidh atharrachadh: modal Terraform no dìreach pàirt sònraichte, bidh e a’ dèanamh phlanaichean airson a h-uile pasgan eisimeileach.

Feumar planaichean terraform a dhèanamh ma thèid an iarraidh. Co-dhiù is e sin a bhios sinn a’ dèanamh.

Tha deuchainnean, gu dearbh, math ri dhèanamh airson gach atharrachadh, airson gach gealltanas, ach tha planaichean nan rud gu math daor. Agus tha sinn ag ràdh anns an iarrtas tarraing: "Thoir dhomh na planaichean." Tòisichidh an robot. Agus a’ cur gu na beachdan no gus na planaichean uile ris a bheil dùil bho na h-atharrachaidhean agad a cheangal.

Tha plana na rud gu math daor. Bheir e ùine oir tha Terraform a’ dol gu Amazon agus a’ faighneachd, “A bheil an eisimpleir seo ann fhathast? A bheil dìreach na h-aon pharaimearan aig an autoscale seo?" Agus gus seo a dhèanamh nas luaithe, faodaidh tu paramadair a chleachdadh mar ùrachadh = meallta. Tha seo a’ ciallachadh gun luchdaich Terraform an stàit bho S3. Agus bidh e den bheachd gum bi an stàit dìreach a rèir na tha ann an Amazon.

Tha a leithid de phlana Terraform fada nas luaithe, ach feumaidh an stàit a bhith a rèir do bhun-structair, ie, an àiteigin, uaireigin feumaidh ùrachadh Terraform tòiseachadh. Bidh ùrachadh terraform a’ dèanamh sin dìreach, gus am bi an stàit a rèir na tha anns a ’bhun-structar fìor.

Agus feumaidh sinn bruidhinn mu shàbhailteachd. Seo far an robh againn ri tòiseachadh. Far a bheil thu a’ ruith Terraform agus Terraform a’ ruith air a’ bhun-structair agad tha so-leòntachd ann. Is e sin, tha thu gu bunaiteach a’ cur an gnìomh a’ chòd. Agus ma tha seòrsa de chòd droch-rùnach anns an iarrtas tarraing, faodar a chuir gu bàs air bun-structar aig a bheil cus ruigsinneachd. Mar sin bi faiceallach far a bheil thu a’ ruith plana Terraform.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Is e an ath rud a bu mhath leam bruidhinn mu dheidhinn deuchainn dàta luchd-cleachdaidh.

Dè a th’ ann an dàta cleachdaiche? Ann an Amazon, nuair a chruthaicheas sinn eisimpleir, is urrainn dhuinn litir shònraichte a chuir leis an eisimpleir - meta data. Nuair a thòisicheas eisimpleir, mar as trice bidh sgòthan init an-còmhnaidh an làthair air na suidheachaidhean sin. Bidh Cloud init a’ leughadh na litreach seo agus ag ràdh: “Ceart gu leòr, an-diugh is mise an neach-cothromachaidh luchdan.” Agus a rèir nan cùmhnantan seo tha e a 'coileanadh cuid de ghnìomhan.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Ach, gu mì-fhortanach, nuair a nì sinn plana Terraform agus Terraform a’ buntainn, tha coltas ann gu bheil dàta luchd-cleachdaidh mar an àireamh seo de àireamhan. Is e sin, tha e dìreach a’ cur hash thugad. Agus is e a h-uile rud a chì thu sa phlana am bi atharrachaidhean ann no am fuirich an hash mar a bha e.

Agus mura toir thu aire dha seo, is dòcha gum bi cuid de fhaidhle teacsa briste air Amazon, air a’ bhun-structar fìor.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Air an làimh eile, nuair a bhios tu a’ coileanadh, chan urrainn dhut am bun-structar gu lèir a shònrachadh, ach an teamplaid a-mhàin. Agus anns a’ chòd abair: “Feuch an seall an teamplaid seo air mo sgrion.” Agus mar thoradh air an sin, gheibh thu clò-bhualadh de choltas an dàta agad air Amazon.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Is e roghainn eile modal a chleachdadh gus dàta cleachdaiche a ghineadh. Cuiridh tu am modal seo an sàs. Faigh am faidhle air an diosg. Dèan coimeas eadar e agus an iomradh. Agus mar sin, ma cho-dhùnas cuid san Ògmhios beagan dàta cleachdaiche a chàradh, canaidh na deuchainnean agad: “Ceart gu leòr, tha cuid de dh’ atharrachaidhean an seo agus an sin - tha seo àbhaisteach. ”

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Is e an ath rud a bu mhath leam bruidhinn mu dheidhinn Automate Terraform a chuir an sàs.

Gu dearbh, tha e uamhasach eagallach Terraform a chuir an sàs ann am modh fèin-ghluasadach, oir cò aig a tha fios dè na h-atharrachaidhean a thàinig ann agus dè cho millteach ‘s as urrainn dhaibh a bhith airson a’ bhun-structair beò.

Airson àrainneachd deuchainn, tha seo uile àbhaisteach. Is e sin, is e obair a chruthaicheas àrainneachd deuchainn a tha a dhìth air a h-uile leasaiche. Agus chan e meme èibhinn a th’ ann an abairt mar “dh’ obraich a h-uile dad dhòmhsa”, ach dearbhadh gun d’ fhuair duine troimh-chèile, gun do thog e stac, agus gun do ruith e deuchainnean air a’ chruach seo. Agus rinn e cinnteach gu robh a h-uile dad gu math an sin agus thuirt e: “Ceart gu leòr, chaidh an còd a tha mi a’ leigeil ma sgaoil a dhearbhadh."

Ann an cinneasachadh, bogsa gainmhich agus àrainneachdan eile a tha nas cudromaiche do ghnìomhachas, faodaidh tu cuid de ghoireasan a chleachdadh gu sàbhailte gu sàbhailte leis nach toir e bàs do dhuine sam bith. Is iad sin: buidhnean fèin-ghluasadach, buidhnean tèarainteachd, dreuchdan, slighe53, agus faodaidh an liosta a bhith gu math mòr. Ach cùm sùil air na tha a’ dol, leugh na h-aithisgean tagraidh fèin-ghluasadach.

Far a bheil e cunnartach no eagallach tagradh a dhèanamh, mar eisimpleir, mas e goireasan leantainneach a tha seo bho stòr-dàta, an uairsin faigh aithrisean gu bheil atharrachaidhean gun chleachdadh ann am pìos air choreigin den bhun-structair. Agus bidh an innleadair, fo stiùireadh, a’ tòiseachadh obraichean airson a chuir an sàs no ga dhèanamh bhon consol aige.

Tha leithid de rud aig Amazon ri dìon Termin. Agus faodaidh e dìon ann an cuid de chùisean bho atharrachaidhean nach eil riatanach dhut. Is e sin, chaidh Terraform gu Amazon agus thuirt e: “Feumaidh mi an eisimpleir seo a mharbhadh gus fear eile a dhèanamh." Agus tha Amazon ag ràdh: “Duilich, chan ann an-diugh. Tha dìon Terminal againn."

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Agus is e optimization còd a th’ anns an icing air a’ chèic. Nuair a bhios sinn ag obair le còd Terraform, feumaidh sinn àireamh mhòr de pharamadairean a thoirt don mhodal. Is iad sin na crìochan a tha riatanach gus goireas de sheòrsa air choreigin a chruthachadh. Agus tha an còd a 'tionndadh gu liostaichean mòra de pharamadairean a dh'fheumar a ghluasad bho mhodal gu modal, bho mhodal gu modal, gu h-àraid ma tha na modalan air an neadachadh.

Agus tha e gu math duilich a leughadh. Tha e gu math duilich seo ath-sgrùdadh. Agus gu math tric bidh e a 'tionndadh a-mach gu bheil cuid de pharaimearan fo sgrùdadh agus chan eil iad dìreach mar a tha a dhìth. Agus tha seo a’ cosg ùine is airgead airson a chàradh nas fhaide air adhart.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Mar sin, tha mi a 'moladh dhut a leithid de rud a chleachdadh mar paramadair iom-fhillte a tha a' toirt a-steach craobh luachan sònraichte. Is e sin, feumaidh tu pasgan de sheòrsa air choreigin far a bheil na luachan uile a bu mhath leat a bhith ann an àrainneachd air choreigin.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Agus le bhith a 'gairm a' mhodail seo, gheibh thu craobh a tha air a chruthachadh ann an aon mhodal cumanta, is e sin, ann am modal cumanta a bhios ag obair mar an ceudna airson a 'bhun-structair gu lèir.

Anns a’ mhodal seo, faodaidh tu àireamhachadh a dhèanamh a’ cleachdadh feart cho ùr ann an Terraform ri muinntir an àite. Agus an uairsin ann an aon toradh, cuir a-mach seòrsa de pharamadair iom-fhillte, a dh’ fhaodadh a bhith a ’toirt a-steach hashes, arrays, msaa.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Air an seo, a h-uile lorg as fheàrr a tha mi air tighinn gu crìch. Agus bu mhath leam sgeulachd innse mu Columbus. Nuair a bha e a 'coimhead airson airgead airson a thuras gus na h-Innseachan a lorg (mar a bha e a' smaoineachadh an uairsin), cha robh duine ga chreidsinn agus a 'creidsinn gu robh e do-dhèanta. An sin thuirt e: "Dèan cinnteach nach tuit an t-ubh." Dh'fheuch a h-uile bancair, glè bheairteach agus 's dòcha daoine tapaidh, ris an ugh a chuir ann an dòigh air choireigin, agus thuit e fad na h-ùine. An uairsin thug Columbus an ugh, ga bhrùthadh beagan. Chrit an t-slige agus dh'fhan an t-ugh gun ghluasad. Thuirt iad, "O, tha sin ro fhurasta!" Agus fhreagair Columbus: “Tha, tha e ro shìmplidh. Agus nuair a dh’ fhosglas mi na h-Innseachan, cleachdaidh a h-uile duine an t-slighe malairt seo."

Agus is dòcha gu bheil na tha mi dìreach air innse dhut rudan gu math sìmplidh agus beag. Agus nuair a bhios tu ag ionnsachadh mun deidhinn agus a 'tòiseachadh gan cleachdadh, tha e ann an òrdugh rudan. Mar sin cleachd e. Agus ma tha iad sin nan rudan gu math àbhaisteach dhut, an uairsin co-dhiù tha fios agad mar a chuireas tu ugh gus nach tuit e.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Smaoinich sinn suas:

  • Feuch ri maoim-sneachda a sheachnadh. Agus mar as lugha de mhaoimean-sneachda, is ann as lugha de ghoireasan a bhios a dhìth ort gus atharrachaidhean sam bith a dhèanamh air feadh a’ bhun-structair mhòir agad.
  • Atharrachadh seasmhach. Is e sin, nuair a tha cuid de dh’ atharrachaidhean air tachairt sa chòd, feumaidh tu do bhun-structair a thoirt a rèir nan atharrachaidhean sin cho luath ‘s a ghabhas. Cha bu chòir suidheachadh a bhith ann nuair a thig cuideigin ann an dhà no trì mìosan gus sùil a thoirt air Elasticsearch, a 'dèanamh plana Terraform, agus tha tòrr atharrachaidhean ann ris nach robh dùil aige. Agus bheir e tòrr ùine airson a h-uile càil a chuir air ais ann an òrdugh.
  • Deuchainnean agus fèin-ghluasad. Mar as motha a bhios do chòd air a chòmhdach le deuchainnean agus feartan, is ann as motha a tha misneachd agad gu bheil thu a’ dèanamh a h-uile càil ceart. Agus meudaichidh lìbhrigeadh fèin-ghluasadach do mhisneachd iomadh uair.
  • Bu chòir an còd airson na h-àrainneachdan deuchainn is cinneasachaidh a bhith cha mhòr mar an ceudna. Gu practaigeach, leis gu bheil cinneasachadh fhathast beagan eadar-dhealaichte agus bidh cuid de nuances ann fhathast a thèid nas fhaide na an àrainneachd deuchainn. Ach a dh'aindeoin sin, plus no minus, faodar seo a dhèanamh cinnteach.
  • Agus ma tha tòrr còd Terraform agad agus gun toir e tòrr ùine an còd seo a chumail ùraichte, chan eil e a-riamh ro fhadalach airson ath-nuadhachadh agus fhaighinn ann an cumadh math.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

  • Bun-structair nach gabh atharrachadh. Lìbhrigeadh AMI air clàr-ama.
  • Structar airson slighe 53 nuair a tha tòrr inntrigidhean agad agus ag iarraidh gum bi iad ann an òrdugh cunbhalach.
  • A’ strì ri crìochan reata API. Seo nuair a tha Amazon ag ràdh, "Sin e, chan urrainn dhomh gabhail ri iarrtasan a bharrachd, fuirich." Agus tha leth na h-oifis a’ feitheamh gus an tèid aice air a bhun-structair a chuir air bhog.
  • Samhlaidhean spot. Chan e tachartas saor a th’ ann an Amazon agus leigidh spotan leat tòrr a shàbhaladh. Agus an sin faodaidh tu aithris gu lèir mu dheidhinn.
  • Dreuchdan tèarainteachd agus IAM.
  • Lorg goireasan caillte, nuair a tha cùisean de thùs neo-aithnichte agad ann an Amazone, bidh iad ag ithe airgead. Eadhon ged a chosgas cùisean $100-150 gach mìos, tha e còrr air $1 sa bhliadhna. Is e gnìomhachas buannachdail a th’ ann a bhith a’ lorg ghoireasan mar sin.
  • Agus suidheachaidhean glèidhte.

Pàtranan ann an Terraform gus cuir an-aghaidh mì-riaghailt agus cleachdadh làimhe. Maxim Kostrikin (deichead)

Tha sin uile dhomhsa. Tha Terraform gu math fionnar, bidh thu ga chleachdadh. Tapadh leat!

Do cheistean

Tapadh leibh airson an aithris! Tha am faidhle stàite agad ann an S3, ach ciamar a dh’ fhuasglas tu an duilgheadas a dh’ fhaodadh grunn dhaoine am faidhle stàite seo a ghabhail agus feuchainn ri leudachadh?

An toiseach, chan eil sinn ann an cabhag. San dàrna h-àite, tha brataichean ann, anns a bheil sinn ag aithris gu bheil sinn ag obair air pìos còd air choireigin. Is e sin, a dh'aindeoin gu bheil am bun-structair gu math mòr, chan eil seo a 'ciallachadh gu bheil cuideigin daonnan a' cleachdadh rudeigin. Agus nuair a bha ìre gnìomhach ann, bha seo na dhuilgheadas; chùm sinn faidhlichean stàite ann an Git. Bha seo cudromach, air neo dhèanadh cuideigin faidhle stàite, agus bha againn ri an cur ri chèile le làimh gus an leanadh a h-uile càil. A-nis chan eil leithid de dhuilgheadas ann. San fharsaingeachd, dh'fhuasgail Terraform an duilgheadas seo. Agus ma tha rudeigin daonnan ag atharrachadh, faodaidh tu glasan a chleachdadh, a chuireas casg air na thuirt thu.

A bheil thu a’ cleachdadh stòr fosgailte no iomairt?

Gun iomairt, ie a h-uile dad as urrainn dhut a dhol agus a luchdachadh sìos an-asgaidh.

'S e Stanislav an t-ainm a th' orm. Bha mi airson cur-ris beag a dhèanamh. Bhruidhinn thu mu fheart Amazon a leigeas leat eisimpleir a dhèanamh do-chreidsinneach. Tha seo cuideachd ann an Terraform fhèin; anns a’ bhloc Life Second faodaidh tu casg air atharrachaidhean no casg air sgrios a shònrachadh.

Bha ùine cuingealaichte. Deagh phuing.

Bha mi cuideachd airson dà rud fhaighneachd. An toiseach, bhruidhinn thu mu dheidhinn deuchainn. An do chleachd thu innealan deuchainn? Chuala mi mun plugan Test Kitchen. Is dòcha gu bheil rudeigin eile ann. Agus bu mhath leam faighneachd mu Luachan Ionadail. Ciamar a tha iad gu bunaiteach eadar-dhealaichte bho Input Variables? Agus carson nach urrainn dhomh rudeigin a pharametrachadh a-mhàin tro Luachan Ionadail? Dh’ fheuch mi ri dèiligeadh ris a’ chuspair seo, ach dòigh air choireigin cha do rinn mi a-mach mi fhìn.

Faodaidh sinn bruidhinn nas mionaidiche air cùl an talla seo. Is e innealan deuchainn ar fèin-dhèanta iomlan. Chan eil dad ann airson deuchainn. San fharsaingeachd, tha roghainnean ann nuair a thogas deuchainnean fèin-ghluasadach am bun-structar an àiteigin, dèan cinnteach gu bheil e ceart gu leòr, agus an uairsin sgrios a h-uile càil le aithisg gu bheil am bun-structar agad fhathast ann an cumadh math. Chan eil sin againn oir tha na stacan deuchainn a’ ruith a h-uile latha. Agus tha sin gu leòr. Agus ma thòisicheas rudeigin a 'briseadh, tòisichidh e a' briseadh gun sinn a bhith ga sgrùdadh an àiteigin eile.

A thaobh Luachan Ionadail, leanaidh sinn leis a’ chòmhradh taobh a-muigh an t-seòmair.

Halò! Tapadh leibh airson an aithris! Gu math fiosrachail. Thuirt thu gu bheil tòrr den aon sheòrsa còd agad airson cunntas a thoirt air a’ bhun-structair. An do smaoinich thu air a’ chòd seo a chruthachadh?

Ceist sgoinneil, tapadh leat! Is e a’ phuing, nuair a chleachdas sinn bun-structar mar chòd, gu bheil sinn a’ gabhail ris gun coimhead sinn air a’ chòd agus gun tuig sinn dè am bun-structar a tha air cùl a’ chòd sin. Ma thèid còd a chruthachadh, feumaidh sinn smaoineachadh dè an còd a thèid a chruthachadh gus tuigsinn dè an seòrsa bun-structair a bhios ann. An dàrna cuid bidh sinn a’ gineadh còd, ga ghealltainn, agus gu dearbh tha an aon rud a’ tachairt. Mar sin lean sinn an t-slighe a sgrìobh sinn, fhuair sinn e. Nochd gineadairean Plus beagan nas fhaide air adhart nuair a thòisich sinn gan dèanamh. Agus bha e mar-thà ro fhadalach airson atharrachadh.

An cuala tu dad mu jsonnet?

No.

Seall, is e stuth fìor fhionnar a tha seo. Chì mi cùis shònraichte far an urrainn dhut a chuir an sàs agus structar dàta a ghineadh.

Tha gineadairean math nuair a tha iad agad, mar a tha san fealla-dhà mu inneal bearraidh. Is e sin, a 'chiad uair a tha an aghaidh eadar-dhealaichte, ach an uairsin tha an aon aghaidh aig a h-uile duine. Bidh na gineadairean ag obair glè mhath. Ach, gu mì-fhortanach, tha ar n-aghaidhean beagan eadar-dhealaichte. Is e duilgheadas a tha seo.

Dìreach coimhead. Tapadh leat!

Is e m ’ainm Maxim, tha mi à Sberbank. Bhruidhinn thu beagan mu mar a bha thu a’ feuchainn ri Terraform a thoirt gu cànan prògramadh co-ionann. Nach eil e nas fhasa Ansible a chleachdadh?

Is e rudan gu math eadar-dhealaichte a tha seo. Faodaidh Ansible goireasan a chruthachadh, agus faodaidh Puppet goireasan a chruthachadh ann an Amazon. Ach tha Terraform dìreach air a gheurachadh.

A bheil dìreach Amazon agad?

Chan e gu bheil Amazon againn a-mhàin. Cha mhòr nach eil againn ach Amazon. Ach is e am prìomh fheart gu bheil cuimhne aig Terraform. Ann an Ansible, ma chanas tu: “Thoir dhomh 5 eisimpleirean,” an sin togaidh e, agus an uairsin canaidh tu: “Agus a-nis tha feum agam air 3.” Agus canaidh Terraform: “Ceart gu leòr, marbhaidh mi 2,” agus canaidh Ansible: “Ceart gu leòr, seo 3 dhut.” Uile gu lèir 8.

Halò! Tapadh leibh airson an aithris agad! Bha e glè inntinneach cluinntinn mu dheidhinn Terraform. Tha mi dìreach airson iomradh beag a thoirt air nach eil fuasgladh seasmhach aig Terraform fhathast, mar sin bi gu math faiceallach le Terraform.

Deagh spàin airson dinnear. Is e sin, ma tha feum agad air fuasgladh, bidh thu uaireannan a’ cur dheth na tha neo-sheasmhach, msaa, ach tha e ag obair agus chuidich sinn sinn.

Is i a’ cheist seo. Bidh thu a' cleachdadh backend Iomallach, bidh thu a' cleachdadh S 3. Carson nach cleachd thu an backend oifigeil?

Oifigeil?

Sgòthan terraform.

Cuin a nochd e?

4 mìosan air ais.

Nam biodh e air nochdadh 4 bliadhna air ais, is dòcha gum biodh mi air do cheist a fhreagairt.

Tha gnìomh togte agus glasan ann mu thràth, agus faodaidh tu faidhle stàite a stòradh. Feuch e. Ach cha do rinn mi deuchainn idir.

Tha sinn a’ siubhal air trèana mhòr a tha a’ gluasad aig astar àrd. Agus chan urrainn dhut dìreach beagan chàraichean a thoirt agus an tilgeil air falbh.

Bhruidhinn thu mu mhaoimean-sneachda, carson nach do chleachd thu meur? Carson nach do dh'obraich e a-mach mar sin?

Is e an dòigh-obrach againn gu bheil am bun-structar gu lèir ann an aon stòr. Terraform, Puppet, na sgriobtaichean uile a tha air dhòigh air choireigin co-cheangailte ri seo, tha iad uile ann an aon stòr. San dòigh seo is urrainn dhuinn dèanamh cinnteach gun tèid atharrachaidhean mean air mhean a dhearbhadh aon às deidh a chèile. Nam b 'e dòrlach de gheugan a bh' ann, bhiodh e cha mhòr do-dhèanta a leithid de phròiseact a chumail suas. Bidh sia mìosan a’ dol seachad, agus tha iad cho eadar-dhealaichte gur e dìreach seòrsa de pheanas a th’ ann. Is e seo a bha mi airson teicheadh ​​​​bho mus deach mi a-rithist.

Mar sin chan eil e ag obair?

Chan eil seo ag obair idir.

Ann am meur, gheàrr mi a-mach an sleamhnag pasgan. Is e sin, ma nì thu airson gach stac deuchainn, mar eisimpleir, tha athair aig sgioba A, tha athair fhèin aig sgioba B, chan obraich seo cuideachd. Rinn sinn còd àrainneachd deuchainn aonaichte a bha sùbailte gu leòr airson a h-uile duine. Is e sin, thug sinn seachad aon chòd.

Halò! Is e m ’ainm Yura! Tapadh leibh airson an aithris! Ceist mu mhodalan. Tha thu ag ràdh gu bheil thu a 'cleachdadh mhodalan. Ciamar a rèiticheas tu a’ chùis ma chaidh atharrachaidhean a dhèanamh air aon mhodal nach eil co-chosmhail ri atharrachadh neach eile? A bheil thu dòigh air choireigin a’ tionndadh nam modalan no a’ feuchainn ri wunderwaffle a thoirt a-steach gus coinneachadh ri dà riatanas?

Is e duilgheadas mòr sneachda a tha seo. Is e seo a tha sinn a’ fulang nuair a dh’ fhaodadh atharrachadh neo-chiontach pàirt den bhun-structair a bhriseadh. Agus bidh seo follaiseach dìreach às deidh ùine mhòr.

Is e sin, nach deach a rèiteach fhathast?

Bidh thu a 'dèanamh mhodalan uile-choitcheann. Seachain maoimean-sneachda. Agus obraichidh a h-uile càil a-mach. Tha an dàrna leth den aithisg mu dheidhinn mar a thèid seo a sheachnadh.

Halò! Tapadh leibh airson an aithris! Bu mhath leam soilleireachadh. Air cùlaibh an t-seallaidh bha cnap mòr, airson an tàinig mi. Ciamar a tha cuairteachadh phupaidean agus àite amalaichte?

Dàta cleachdaiche.

Is e sin, tha thu dìreach a’ spùtadh a-mach am faidhle agus ga chur an gnìomh ann an dòigh air choireigin?

Is e nota a th’ ann an dàta cleachdaiche, ie nuair a nì sinn clon den ìomhaigh, bidh Daemon ag èirigh an sin agus, a’ feuchainn ri faighinn a-mach cò e, leugh e an nota gu bheil e na chothromachadh luchdan.

Is e sin, an e seòrsa de phròiseas eadar-dhealaichte a tha air a thoirt seachad?

Cha do chruthaich sinn e. Bidh sinn ga chleachdadh.

Halò! Chan eil agam ach ceist mu chleachdaiche - dàta. Thuirt thu gu bheil trioblaidean ann an sin, gum faodadh cuideigin rudeigin a chuir dhan àite cheàrr. A bheil dòigh ann air dàta luchd-cleachdaidh a stòradh san aon Git, gus am bi e an-còmhnaidh soilleir cò air a tha User-data a’ toirt iomradh?

Bidh sinn a’ gineadh dàta cleachdaiche bhon teamplaid. Is e sin, tha àireamh sònraichte de chaochladairean air an cleachdadh an sin. Agus bidh Terraform a’ gineadh an toradh deireannach. Mar sin, chan urrainn dhut dìreach coimhead air an teamplaid agus a ràdh dè a thachras, oir tha na duilgheadasan uile co-cheangailte ris gu bheil an leasaiche den bheachd gu bheil e a ’dol seachad air sreang anns a’ chaochladair seo, ach tha sreath air a chleachdadh an sin. Agus e - bam agus mise - mar sin agus mar sin, mar sin agus mar sin, an ath loidhne, agus bhris a h-uile càil. Mas e goireas ùr a tha seo agus ma thogas duine e agus gum faic e nach eil rudeigin ag obair, thèid a rèiteach gu sgiobalta. Agus ma thèid am buidheann autoscale seo ùrachadh, an uairsin aig àm air choreigin tòisichidh na h-eisimpleirean sa bhuidheann autoscale air an cur nan àite. Agus bang, chan eil rudeigin ag obair. Tha e goirt.

Tha e a 'tionndadh a-mach gu bheil an aon fhuasgladh - deuchainn?

Tha, chì thu an duilgheadas, cuiridh tu ceumannan deuchainn an sin. Is e sin, faodar toradh a dhearbhadh cuideachd. Is dòcha nach eil e cho goireasach, ach faodaidh tu cuideachd cuid de chomharran a chuir - dèan cinnteach gu bheil dàta cleachdaiche air a shlaodadh an seo.

Is e m ’ainm Timur. Tha e fìor mhath gu bheil aithisgean ann air mar a chuireas tu Terraform air dòigh gu ceart.

Chan eil mi eadhon air tòiseachadh.

Tha mi a’ smaoineachadh gur dòcha aig an ath cho-labhairt a bhios ann. Tha ceist shìmplidh agam. Carson a tha thu a’ còdachadh an luach ann am modal air leth seach a bhith a’ cleachdadh tfvars, i.e. carson a tha modal le luachan nas fheàrr na tfvars?

Is e sin, bu chòir dhomh sgrìobhadh an seo (sleamhnag: Riochdachadh/àrainneachd/settings.tf): àrainn = caochlaideach, àrainn vpcnetwork, vpcnetwork caochlaideach agus stvars - faigh an aon rud?

Bidh sinn a’ dèanamh sin dìreach. Bidh sinn a’ toirt iomradh air modal an t-suidheachaidh tùs, mar eisimpleir.

Gu bunaiteach, is e seo tfvars mar sin. Tha Tfvars gu math goireasach ann an àrainneachd deuchainn. Tha tfvars agam airson suidheachaidhean mòra, airson feadhainn bheaga. Agus thilg mi aon fhaidhle dhan phasgan. Agus fhuair mi na bha mi ag iarraidh. Nuair a tha sinn a’ gearradh bun-structair, tha sinn airson gum bi e comasach coimhead air a h-uile càil agus a thuigsinn sa bhad. Agus mar sin tha e a 'tionndadh a-mach gum feum thu coimhead an seo, an uair sin a' coimhead air tfvars.

A bheil e comasach a h-uile càil a bhith ann an aon àite?

Tha, tha tfvars nuair a tha aon chòd agad. Agus tha e air a chleachdadh ann an grunn àiteachan eadar-dhealaichte le diofar nuances. An uairsin thilgeadh tu tvars agus gheibheadh ​​​​tu do nuances. Agus tha sinn mar bhun-structar mar chòd anns a chruth fhìor-ghlan aige. Choimhead mi agus thuig mi.

Halò! A bheil thu air tighinn tarsainn air suidheachaidhean far a bheil an solaraiche sgòthan a’ cur bacadh air na rinn thu le Terraform? Canaidh sinn gu bheil sinn a’ deasachadh a’ mheata-dàta. Tha iuchraichean ssh ann. Agus bidh Google an-còmhnaidh a’ sleamhnachadh a mheata-dàta, na h-iuchraichean aige an sin. Agus bidh Terraform an-còmhnaidh a’ sgrìobhadh gu bheil atharrachaidhean ann. Às deidh gach ruith, eadhon ged nach atharraich dad, bidh e an-còmhnaidh ag ràdh gun ùraich e an raon seo a-nis.

Le iuchraichean, ach tha, tha an rud seo a’ toirt buaidh air pàirt den bhun-structar, i.e. chan urrainn dha Terraform dad atharrachadh. Chan urrainn dhuinn dad atharrachadh le ar làmhan nas motha. Bidh sinn beò leis airson a-nis.

Is e sin, tha thu air tachairt air rudeigin mar seo, ach nach do smaoinich thu air dad, ciamar a tha e ga dhèanamh agus ga dhèanamh fhèin?

Gu mì-fhortanach tha.

Halò! Is e m ’ainm Starkov Stanislav. Post. ru Buidheann. Ciamar a dh’ fhuasglas tu an duilgheadas le bhith a’ gineadh taga air..., ciamar a bheir thu seachad e a-staigh? Mar a tha mi ga thuigsinn, tro User - data gus an t-ainm aoigheachd a shònrachadh, cuir Puppet air? Agus an dàrna pàirt den cheist. Ciamar a nì thu fuasgladh air a’ chùis seo ann an SG, i.e. nuair a ghineas tu SG, ceudan de shuidheachaidhean den aon sheòrsa, dè an t-ainm ceart a th’ orra?

Na h-eisimpleirean sin a tha glè chudromach dhuinne, ainmichidh sinn iad gu breagha. An fheadhainn nach eil a dhìth, tha postscript gur e buidheann autoscale a tha seo. Agus ann an teòiridh faodar a slaodadh, agus fear ùr fhaighinn.

A thaobh an duilgheadas leis an taga, chan eil an leithid de dhuilgheadas ann, ach tha a leithid de ghnìomh ann. Agus bidh sinn a’ cleachdadh tagaichean gu mòr, gu mòr, leis gu bheil am bun-structar mòr agus daor. Agus feumaidh sinn coimhead air càit a bheil an t-airgead a' dol, agus mar sin tha tagaichean a' toirt cothrom dhuinn briseadh sìos dè chaidh far an deach. Agus, a rèir sin, tha an rannsachadh airson rudeigin a tha a 'ciallachadh tòrr airgid air a chosg an seo.

Cò mu dheidhinn a bha a’ cheist eile?

Nuair a chruthaicheas SG ceudan de shuidheachaidhean, am feum iad a bhith air an comharrachadh dòigh air choireigin?

Chan e, na dèan. Tha àidseant aig gach eisimpleir a dh’ innseas dhomh gu bheil duilgheadas agam. Ma tha an neach-ionaid ag aithris, tha fios aig an neach-ionaid mu dheidhinn agus, co-dhiù, tha an seòladh IP aige ann. Faodaidh tu ruith mu thràth. San dàrna h-àite, bidh sinn a’ cleachdadh Consul airson Discovery, far nach eil Kubernetes ann. Agus tha an Consal cuideachd a’ sealltainn seòladh IP na cùise.

Is e sin, a bheil thu ag amas gu sònraichte air IP, agus chan ann air ainm aoigheachd?

Tha e do-dhèanta seòladh le ainm aoigheachd, i.e. tha tòrr dhiubh ann. Tha aithnichearan eisimpleir ann - AE, msaa. Faodaidh tu a lorg an àiteigin, faodaidh tu a thilgeil a-steach don rannsachadh.

Halò! Thuig mi gur e rud math a th’ ann an Terraform, air a dhealbhadh airson na sgòthan.

Chan e a-mhàin.

Is e seo dìreach a’ cheist a tha inntinneach dhomh. Ma cho-dhùnas tu gluasad, can, gu Bare Metal en masse leis a h-uile suidheachadh agad? Am bi duilgheadasan ann? No am feum thu fhathast toraidhean eile a chleachdadh, mar eisimpleir, an aon rud ris an deach iomradh a thoirt an seo?

Tha Ansible beagan mu dheidhinn rudeigin eile. Is e sin, tha Ansible ag obair mu thràth nuair a tha eisimpleir air tòiseachadh. Agus bidh Terraform ag obair mus tòisich eisimpleir. Ag atharrachadh gu Bare Metal - chan eil.

Chan ann a-nis, ach thig gnìomhachas agus a ràdh: "Thig air adhart."

Ag atharrachadh gu sgòth eile - tha, ach tha feart beagan eadar-dhealaichte an seo. Feumaidh tu còd Terraform a sgrìobhadh ann an dòigh gus an urrainn dhut gluasad gu sgòth eile le nas lugha de dhòrtadh fala.

An toiseach, b’ e an obair a bh’ ann gu bheil am bun-structar gu lèir againn agnostic, ie bu chòir sgòth sam bith a bhith ceart gu leòr, ach aig àm air choreigin leig an gnìomhachas seachad agus thuirt e: “Ceart gu leòr, anns an ath N bliadhna cha tèid sinn a dh’ àite sam bith, faodaidh tu seirbheisean a chleachdadh bho Amazon”.

Leigidh Terraform leat obraichean Front-End a chruthachadh, PagerDuty a rèiteachadh, doc dàta, msaa Tha tòrr earbaill aige. Is urrainn dha gu practaigeach smachd a chumail air an t-saoghal gu lèir.

Tapadh leibh airson an aithris! Tha mi cuideachd air a bhith a’ cleachdadh Terraform airson 4 bliadhna a-nis. Aig an ìre de ghluasad rèidh gu Terraform, gu bun-structar, gu tuairisgeul dearbhach, bha sinn mu choinneimh suidheachadh far an robh cuideigin a’ dèanamh rudeigin le làimh, agus bha thu a’ feuchainn ri plana a dhèanamh. Agus fhuair mi seòrsa de mhearachd an sin. Ciamar a dhèiligeas tu ri leithid de dhuilgheadasan? Ciamar a lorgas tu goireasan caillte a chaidh an liostadh?

Sa mhòr-chuid le ar làmhan agus ar sùilean, ma chì sinn rudeigin neònach san aithisg, bidh sinn a’ sgrùdadh na tha a’ tachairt an sin, no bidh sinn dìreach a’ marbhadh. San fharsaingeachd, tha iarrtasan tarraing mar rud cumanta.

Ma tha mearachd ann, an till thu air ais? A bheil thu air feuchainn ri seo a dhèanamh?

Chan e, is e co-dhùnadh neach a tha seo an-dràsta nuair a chì e duilgheadas.

Source: www.habr.com