د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

داسې ښکاري چې د Terraform پراختیا کونکي د AWS زیربنا سره کار کولو لپاره خورا مناسب غوره تمرینونه وړاندیز کوي. یوازې یو نزاکت شتون لري. د وخت په تیریدو سره، د چاپیریال شمیر زیاتیږي، هر یو د خپلو ځانګړتیاو سره. د غوښتنلیک سټیک نږدې کاپي په ګاونډي سیمه کې ښکاري. او د Terraform کوډ باید د نوي اړتیاو سره سم په احتیاط سره کاپي او ایډیټ شي یا د واورې فلیک کې جوړ شي.

په لویو او اوږده پروژو کې د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې د نمونو په اړه زما راپور.

ویډیو:

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

زه 40 کلن یم، زه د 20 کلونو لپاره په IT کې یم. زه د 12 کلونو لپاره د Ixtens سره کار کوم. موږ د ای کامرس پرمخ وړونکي پراختیا کې بوخت یو. او زه د 5 کلونو لپاره د DevOps تمرینونه کوم.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

زما کیسه به په یوه شرکت کې په یوه پروژه کې زما د تجربې په اړه وي چې نوم یې زه نه وایم، د غیر افشاء کولو تړون تر شا پټ.

په سلایډ کې شمیرې د دې لپاره ښودل شوي چې د پروژې پیمانه پوه شي. او هر څه چې زه به یې وروسته ووایم د ایمیزون سره تړاو لري.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

زه 4 کاله دمخه پدې پروژه کې شامل شوم. او د زیربنا بیا جوړولو کار په بشپړ ډول روان و ځکه چې پروژه وده کړې وه. او هغه نمونې چې کارول شوې وې اوس مناسب نه وې. او د پروژې ټولې پالن شوي ودې ته په پام سره، دا اړینه وه چې یو څه نوي سره راشي.

د ماتوی څخه مننه ، چا چې پرون موږ ته وویل چې په ډوډو پیزا کې څه پیښ شوي. دا هغه څه دي چې دلته څلور کاله دمخه پیښ شوي.

پراختیا کونکي راغلل او د زیربنا کوډ جوړول یې پیل کړل.

ترټولو څرګند دلیلونه چې ولې دا اړتیا وه د بازار لپاره وخت و. دا اړینه وه چې ډاډ ترلاسه شي چې د DevOps ټیم د رول آوټ پرمهال خنډ نه و. او د نورو شیانو په منځ کې، Terraform او Puppet په لومړي درجه کې کارول شوي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

Terraform د HashiCorp څخه د خلاصې سرچینې پروژه ده. او د هغو کسانو لپاره چې حتی نه پوهیږي دا څه دي، راتلونکی څو سلایډونه.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

د کوډ په توګه زیربنا پدې معنی ده چې موږ کولی شو خپل زیربنا تشریح کړو او ځینې روبوټونه وغواړو چې ډاډ ترلاسه کړو چې موږ هغه سرچینې ترلاسه کوو چې موږ یې تشریح کړي.

د مثال په توګه، موږ یو مجازی ماشین ته اړتیا لرو. موږ به څو اړین پیرامیټونه تشریح او اضافه کړو.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

له دې وروسته، موږ به په کنسول کې ایمیزون ته لاسرسی تنظیم کړو. او موږ به د Terraform پلان غوښتنه وکړو. د ټرافورم پلان به ووایی: "ښه، موږ کولی شو دا شیان ستاسو د سرچینو لپاره ترسره کړو." او لږترلږه یوه سرچینه به اضافه شي. او هیڅ بدلون تمه نه کیږي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

یوځل چې تاسو د هرڅه څخه خوښ یاست ، تاسو کولی شئ د Terraform څخه غوښتنه وکړئ چې غوښتنه وکړي او Terraform به ستاسو لپاره یو مثال رامینځته کړي ، او تاسو به په خپل کلاوډ کې یو مجازی ماشین ترلاسه کړئ.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

زموږ پروژه نوره هم وده کوي. موږ هلته ځینې بدلونونه اضافه کوو. موږ د نورو مثالونو غوښتنه کوو، موږ 53 ننوتل اضافه کوو.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

او موږ تکرار کوو. مهرباني وکړئ پلان وکړئ. موږ ګورو چې کوم بدلونونه پلان شوي دي. موږ درخواست کوو. او پدې توګه زموږ زیربنا وده کوي.

Terraform یو څه کاروي چې د دولتي فایلونو په نوم یادیږي. دا دی ، هغه ټول بدلونونه خوندي کوي چې ایمیزون ته ځي په فایل کې چیرې چې د هرې سرچینې لپاره چې تاسو یې تشریح کړي ، ورته سرچینې شتون لري چې په ایمیزون کې رامینځته شوي. په دې توګه، کله چې د سرچینې توضیحات بدل شي، Terraform په سمه توګه پوهیږي چې په ایمیزون کې څه بدلون ته اړتیا لري.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

دا دولتي فایلونه په اصل کې یوازې فایلونه وو. او موږ یې په ګیټ کې زیرمه کړل ، کوم چې خورا نامناسب و. یو څوک تل د بدلونونو ترسره کول هېر کړي، او ډیری شخړې رامنځ ته شوي.

اوس دا ممکنه ده چې د بیک انډ وکاروئ، د بیلګې په توګه د Terraform مشخص شوی چې په کوم بالټ کې او د کوم کیلي په واسطه د دولت فایل باید خوندي شي. او پخپله ټیرافارم به د دې ریاست فایل ترلاسه کولو ته پاملرنه وکړي ، ټول جادو ترسره کړي او وروستۍ پایله بیرته راولي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

زموږ زیربنا وده کوي. دلته زموږ کوډ دی. او اوس موږ نه یوازې یو مجازی ماشین رامینځته کول غواړو ، موږ غواړو د ازموینې چاپیریال ولرو.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

Terraform تاسو ته اجازه درکوي د ماډل په څیر داسې شی رامینځته کړئ ، دا په یو فولډر کې ورته شی تشریح کړئ.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

او، د مثال په توګه، په ازموینه کې، دې ماډل ته زنګ ووهئ او ورته شی ترلاسه کړئ لکه څنګه چې موږ پخپله ماډل کې د Terraform Application اجرا کړی وي. د ازموینې لپاره به دا کوډ وي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

د تولید لپاره، موږ کولی شو هلته ځینې بدلونونه واستوو، ځکه چې په ازموینه کې موږ لوی مثالونو ته اړتیا نلرو؛ په تولید کې، لوی مثالونه یوازې ګټور دي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

او بیا به زه بیرته پروژې ته راستون شم. دا یو ستونزمن کار و، پلان شوی زیربنا ډیره لویه وه. او دا اړینه وه چې په یو ډول ټول کوډ ځای په ځای کړئ ترڅو دا د هرچا لپاره اسانه وي: دواړه د هغو کسانو لپاره چې پدې کوډ کې ساتنه ترسره کوي او د هغو کسانو لپاره چې بدلونونه رامینځته کوي. او دا پلان شوی و چې کوم پراختیا کونکی لاړ شي او د پلیټ فارم د هغې برخې لپاره اړین زیربناوې تنظیم کړي.

دا د لارښود ونې ده چې پخپله د HashiCorp لخوا وړاندیز کیږي که تاسو لویه پروژه لرئ او دا معنی لري چې ټول زیربنا په څو کوچنیو ټوټو ویشئ، او هره ټوټه په جلا فولډر کې تشریح کړئ.

د سرچینو پراخه کتابتون درلودل ، تاسو کولی شئ په ازموینې او تولید کې نږدې ورته شی ووایی.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

زموږ په قضیه کې ، دا په بشپړ ډول مناسب نه و ، ځکه چې د پراختیا کونکو یا ازموینې لپاره د ازموینې سټیک باید یو څه ساده ترلاسه شي. مګر زه نه غواړم فولډرو ته لاړ شم او په اړین ترتیب کې یې پلي کړم، او اندیښنه لرم چې ډیټابیس به لوړ شي، او بیا به هغه مثال چې دا ډیټابیس کاروي لوړ شي. له همدې امله ، ټولې ازموینې له یو فولډر څخه پیل شوې. ورته ماډلونه هلته ویل شوي، مګر هرڅه په یوه منډه کې تیر شول.

Terraform د ټولو انحصارونو پاملرنه کوي. او دا تل په ترتیب کې سرچینې رامینځته کوي ترڅو تاسو د IP پته ترلاسه کړئ ، د مثال په توګه ، د نوي رامینځته شوي مثال څخه ، او دا IP پته په روټ 53 ریکارډ کې ترلاسه کړئ.

سربیره پردې ، پلیټ فارم خورا لوی دی. او د ازموینې سټیک پیل کول ، حتی که د یو ساعت لپاره ، حتی که د 8 ساعتونو لپاره ، خورا ګران کار دی.

او موږ دا مسله اتومات کړه. او د جینکنز دندې موږ ته اجازه راکړه چې سټیک چل کړو. پدې کې ، دا اړینه وه چې د هغه بدلونونو سره د پل غوښتنه پیل کړئ چې پراختیا کونکی یې ازموینه غواړي ، ټول اړین اختیارونه ، اجزاوې او ابعاد مشخص کړي. که هغه د فعالیت ازموینه غواړي، نو هغه کولی شي نور مثالونه واخلي. که هغه یوازې دا وګوري چې ځینې فورمې خلاصیږي، نو هغه کولی شي په لږ تر لږه معاش پیل کړي. او دا هم په ګوته کړئ چې ایا کلستر ته اړتیا ده یا نه، او داسې نور.

او بیا جینکنز د شیل سکریپټ فشار ورکړ، کوم چې د Terraform فولډر کې کوډ یو څه بدل کړ. ما غیر ضروري فایلونه لرې کړل او اړین فایلونه مې اضافه کړل. او بیا د Terraform پلي کولو یوې منډې سره سټیک پورته شو.

او بیا نور مرحلې وې چې زه نه غواړم دننه لاړ شم.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

د دې حقیقت له امله چې د ازموینې لپاره موږ د تولید په پرتله یو څه ډیر اختیارونو ته اړتیا درلوده ، موږ باید د ماډلونو کاپي جوړه کړو ترڅو پدې کاپيونو کې موږ هغه ځانګړتیاوې اضافه کړو چې یوازې د ازموینې لپاره ورته اړتیا وه.

او داسې پیښ شوي چې په ازموینه کې زه یو ډول غواړم هغه بدلونونه و ازموم چې په نهایت کې به تولید ته لاړ شي. مګر په حقیقت کې، یو شی ازمول شوی و، او یو څه توپیر په تولید کې کارول شوی و. او په نمونه کې یو کوچنی وقفه وه چې په تولید کې ټول بدلونونه د عملیاتو ټیم لخوا پلي شوي. او ځینې وختونه دا معلومه شوه چې هغه بدلونونه چې باید د ازموینې څخه تولید ته لاړ شي په بل نسخه کې پاتې دي.

برسېره پر دې، داسې ستونزه وه چې یو نوی خدمت اضافه شوی و، کوم چې د ځینو پخوانیو څخه یو څه توپیر درلود. او د موجوده ماډل د تعدیل پر ځای، موږ باید د هغې یوه کاپي جوړه کړو او اړین بدلونونه اضافه کړو.

په اصل کې، Terraform ریښتینې ژبه نه ده. دا یوه اعلامیه ده. که موږ اړتیا لرو یو څه اعلان کړو، نو موږ یې اعلان کوو. او دا ټول کار کوي.

په یو وخت کې، کله چې زما د پلې کولو غوښتنې په اړه خبرې وشوې، زما یو همکار وویل چې د واورې تودوخې جوړولو ته اړتیا نشته. ما حیران شو چې هغه څه معنی لري. دا یو ساینسي حقیقت دی چې په نړۍ کې دوه ورته واوره شتون نلري، دوی ټول یو څه توپیر لري. او هرڅومره ژر چې ما دا واورېدل ، ما سمدلاسه د ټیرفارم کوډ بشپړ وزن احساس کړ. ځکه چې کله له یوې نسخې څخه بلې نسخې ته د تللو اړتیا وه، ټیرافارم د زنځیر ماتولو بدلونونو ته اړتیا درلوده، د بیلګې په توګه کوډ نور د بلې نسخې سره مطابقت نه درلود. او موږ باید د پلولو غوښتنه وکړو، کوم چې په زیربنا کې نږدې نیمایي فایلونه پوښلي، ترڅو زیربنا د Terraform راتلونکي نسخې ته راوړو.

او وروسته له دې چې د واورې توکی څرګند شو، ټول د ټرافورم کوډ چې موږ د واورې په یوه لوی، لوی ټوټی بدل کړی و.

د یو بهرني پراختیا کونکي لپاره چې د عملیاتو څخه بهر وي ، دا د هغه لپاره خورا مهم ندي ، ځکه چې هغه د پلولو غوښتنه کړې ، د هغه سرچینه پیل شوې. او دا ټول دي، دا نور د هغه اندیښنه نه ده. او د DevOps ټیم، چې ډاډ ترلاسه کوي چې هرڅه سم دي، د دې ټولو بدلونونو لپاره اړین دي. او د دې بدلونونو لګښت د هر اضافي واورو سره خورا ډیر شوی.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

دلته یوه کیسه ده چې څنګه په یوه سیمینار کې زده کونکي په تور تخته کې د چاک سره دوه کامل حلقې رسموي. او ښوونکی حیران دی چې څنګه یې د کمپاس پرته دومره په اسانۍ سره رسم کړ. زده کوونکی ځواب ورکوي: "ډېر ساده، ما دوه کاله په اردو کې د غوښې د پخولو لپاره تېر کړل."

او د څلورو کلونو څخه چې زه پدې پروژه کې دخیل یم ، زه شاوخوا دوه کاله تیرافارم کوم. او البته، زه یو څه چلونه لرم، د Terraform کوډ ساده کولو څرنګوالي په اړه ځینې مشورې، د دې سره د پروګرام کولو ژبې په څیر کار وکړئ او په پراختیا کونکو باندې بار کم کړئ چې باید دا کوډ تازه وساتي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

لومړی شی چې زه یې پیل کول غواړم سمیلنکس دی. Terraform ډیر تکرار کوډ لري. د مثال په توګه ، چمتو کونکي ته زنګ نږدې په هر ځای کې چیرې چې موږ د زیربنا یوه برخه رامینځته کوو یو شان دی. او دا منطقي ده چې دا په جلا پلار کې واچول شي. او هر چیرې چې چمتو کونکي اړین وي چې دې فایل ته سم لینکونه جوړ کړي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

د مثال په توګه ، په تولید کې تاسو د فرض رول کاروئ ، کوم چې تاسو ته اجازه درکوي ځینې بهرني ایمیزون حساب ته د لاسرسي حقونه ترلاسه کړئ. او د یوې فایل بدلولو سره، د سرچینې په ونې کې پاتې ټول به اړین حقونه ولري ترڅو Terraform پوه شي چې د ایمیزون کومې برخې ته لاسرسی لري.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

سیملینکس چیرته ناکام کیږي؟ لکه څنګه چې ما وویل، Terraform د دولت فایلونه لري. او دوی خورا ډیر ښه دي. مګر خبره دا ده چې ټیرفارم په لومړي ځای کې شالید پیل کوي. او هغه نشي کولی پدې پیرامیټونو کې کوم تغیرات وکاروي؛ دوی باید تل په متن کې ولیکل شي.

او د پایلې په توګه، کله چې یو څوک نوې سرچینه جوړوي، هغه د نورو فولډرونو څخه ځینې کوډ کاپي کوي. او هغه ممکن د کیلي یا بالټ سره غلطي وکړي. د مثال په توګه، هغه د شګو بکس څخه د شګو بکس جوړوي، او بیا یې په تولید کې جوړوي. او نو دا ممکن وګرځي چې په تولید کې بالټ به د شګو بکس څخه وکارول شي. البته، دوی به ژر تر ژره ومومي. دا به ممکنه وي چې دا یو څه حل کړي، مګر په هرصورت، دا د وخت ضایع کول او تر یوې اندازې پورې سرچینې دي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

موږ نور څه کولی شو؟ د Terraform سره کار کولو دمخه، تاسو باید دا پیل کړئ. په پیل کې، Terraform ټول پلگ ان ډاونلوډ کوي. په یو وخت کې دوی له یو واحد څخه ډیر مایکرو سرویس معمارۍ ته ویشل شوي. او تاسو تل د Terraform init ترسره کولو ته اړتیا لرئ ترڅو دا ټول ماډلونه ، ټول پلگ انونه راوباسي.

او تاسو کولی شئ د شیل سکریپټ وکاروئ، کوم چې لومړی، ټول متغیرات ترلاسه کولی شي. د شیل سکریپټ په هیڅ ډول محدود ندی. او، دوهم، لارې. که موږ تل هغه لاره وکاروو چې په ذخیره کې د دولتي فایل کیلي په توګه وي، نو په دې اساس، دلته به تېروتنه له منځه ولاړه شي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

زه چیرته معلومات ترلاسه کولی شم؟ د JSON فایل. Terraform تاسو ته اجازه درکوي زیربناوې نه یوازې په hcl (HashiCorp Configuration Language) کې، بلکې په JSON کې هم ولیکئ.

JSON د شیل سکریپټ څخه لوستل اسانه دي. په دې اساس، تاسو کولی شئ د ترتیب کولو فایل په یو ځای کې د بالټ سره وساتئ. او دا بالټ دواړه د Terraform کوډ او په شیل سکریپټ کې د پیل کولو لپاره وکاروئ.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

ولې د Terraform لپاره د بالټ درلودل مهم دي؟ ځکه چې د ریموټ ریاست فایلونو په څیر یو شی شتون لري. دا دی، کله چې زه یو څه سرچینې پورته کړم، د دې لپاره چې ایمیزون ته ووایم: "مهرباني وکړئ مثال پورته کړئ،" زه اړتیا لرم چې ډیری اړین پیرامیټونه مشخص کړم.

او دا پیژندونکي په یو بل فولډر کې زیرمه شوي. او زه کولی شم لاړ شم او ووایم: "ټرافارم، مهرباني وکړئ د دې سرچینې دولتي فایل ته ورشئ او ما ته دا پیژندونکي راوباسئ." او په دې توګه د مختلفو سیمو یا چاپیریالونو ترمنځ یو مشخص یووالی څرګندیږي.

دا تل امکان نلري چې د لرې پرتو حالت فایل وکاروئ. د مثال په توګه، تاسو د لاس په واسطه VPC جوړ کړی. او د Terraform کوډ چې VPC رامینځته کوي داسې مختلف VPCs رامینځته کوي چې دا به ډیر وخت ونیسي او تاسو به یو له بل سره تنظیم کړئ ، نو تاسو کولی شئ لاندې چال وکاروئ.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

دا دی، یو ماډل جوړ کړئ چې داسې ښکاري چې VPC جوړوي او لکه څنګه چې دا و، تاسو ته پیژندونکي درکوي، مګر په حقیقت کې په ساده ډول د هارډ کوډ شوي ارزښتونو سره یو فایل شتون لري چې د ورته مثال رامینځته کولو لپاره کارول کیدی شي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

دا تل اړین ندي چې په بادل کې د دولت فایل خوندي کړئ. د مثال په توګه ، کله چې د ماډلونو ازموینه وکړئ ، تاسو کولی شئ د بیک اینڈ ابتکار وکاروئ ، چیرې چې فایل به په ساده ډول د ازموینې په وخت کې په ډیسک کې خوندي شي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

اوس د ازموینې په اړه لږ څه. تاسو په Terraform کې څه ازموینه کولی شئ؟ شاید ډیر څه ممکن وي، مګر زه به د دې 4 شیانو په اړه وغږیږم.

HashiCorp پدې پوهیږي چې څنګه د Terraform کوډ باید فارمیټ شي. او Terraform fmt تاسو ته اجازه درکوي هغه کوډ فارمیټ کړئ چې تاسو د دې باور سره سم ترمیم کوئ. په دې اساس، ازموینې باید په لازمي ډول وګوري چې ایا فارمیټ د هغه څه سره مطابقت لري چې د هاشي کارپ وصیت کړی ، نو د بریکٹونو موقعیت بدلولو ته اړتیا نشته.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

بل یو د Terraform اعتبار دی. دا د ترکیب چیک کولو څخه لږ څه کوي - ala، ایا ټول قوسونه جوړ شوي دي. دلته څه مهم دي؟ زموږ زیربنا خورا پراخه ده. په دې کې ډیری مختلف پلارونه شتون لري. او په هر یو کې تاسو اړتیا لرئ د Terraform تایید چل کړئ.

په دې اساس، د ازموینې ګړندۍ کولو لپاره، موږ په موازي توګه په موازي توګه ډیری پروسې پرمخ وړو.

موازي یو ډیر خوندور شی دی، وکاروئ.

مګر هرکله چې Terraform پیل کوي، دا HashiCorp ته ځي او پوښتنه کوي، "د پلگ ان وروستي نسخې څه دي؟ او هغه پلگ ان چې زه یې په زیرمه کې لرم - ایا دا سم دی یا غلط؟" او دا په هر ګام کې سست شو.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

که تاسو Terraform ته ووایاست چې پلگ ان چیرې دي، نو Terraform به ووایي: "ښه، دا شاید وروستی شی دی چې هلته شتون لري. زه به چیرته نه ځم، زه به سمدلاسه ستاسو د Terraform کوډ تصدیق پیل کړم."

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

د اړینو پلگ انونو سره فولډر ډکولو لپاره، موږ یو خورا ساده Terraform کوډ لرو چې یوازې پیل کولو ته اړتیا لري. دلته، البته، تاسو اړتیا لرئ ټول چمتو کونکي مشخص کړئ چې په یو ډول ستاسو په کوډ کې برخه اخلي، که نه نو Terraform به ووایي: "زه یو مشخص چمتو کونکی نه پیژنم ځکه چې دا په زیرمه کې نه دی."

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

بل د Terraform پلان دی. لکه څنګه چې ما وویل، پرمختګ سایکلیکل دی. موږ کوډ ته بدلون ورکوو. او بیا تاسو اړتیا لرئ ومومئ چې د زیربنا لپاره کوم بدلونونه پلان شوي.

او کله چې زیربنا خورا لوی وي ، تاسو کولی شئ یو ماډل بدل کړئ ، د ازموینې ځینې چاپیریال یا ځینې ځانګړي سیمه تنظیم کړئ او ځینې ګاونډی مات کړئ. له همدې امله، د ټریفارم پلان باید د ټول زیربنا لپاره جوړ شي او وښيي چې کوم بدلونونه پالن شوي دي.

تاسو کولی شئ دا په هوښیارۍ سره ترسره کړئ. د مثال په توګه، موږ د Python سکریپټ لیکلي چې انحصارونه حل کوي. او پدې پورې اړه لري چې څه بدل شوي: د ټیرفارم ماډل یا یوازې یو ځانګړی برخه ، دا د ټولو انحصاري فولډرو لپاره پلانونه جوړوي.

د ټریفارم پلانونه باید د غوښتنې سره سم جوړ شي. لږترلږه دا هغه څه دي چې موږ یې کوو.

البته، دا ښه ده چې د هر بدلون لپاره ازموینې ترسره کړئ، د هرې ژمنې لپاره، مګر پالنونه خورا ګران شی دي. او په یوه غوښتنه کې موږ وایو، "مهرباني وکړئ ما ته پلانونه راکړئ." روبوټ پیل کیږي. او په نظرونو کې لیږئ یا ټول هغه پلانونه ضمیمه کړئ چې ستاسو د بدلونونو څخه تمه کیږي.

پلان یو ډیر ګران شی دی. دا وخت نیسي ځکه چې Terraform ایمیزون ته ځي او پوښتنه کوي، "ایا دا مثال اوس هم شتون لري؟ ایا دا اتوماتیک په سمه توګه ورته پیرامیټونه لري؟" او د دې ګړندي کولو لپاره ، تاسو کولی شئ پیرامیټر وکاروئ لکه ریفریش = غلط. دا پدې مانا ده چې Terraform به د S3 حالت خراب کړي. او باور به وکړي چې ایالت به په سمه توګه د هغه څه سره سمون ولري چې په ایمیزون کې دی.

دا ډول ټیرافارم پلان خورا ګړندی پرمخ ځي، مګر دولت باید ستاسو زیربنا سره مطابقت ولري، د بیلګې په توګه، یو ځای، ځینې وختونه د ټیرافارم ریفریش باید پیل شي. د Terraform ریفریش په سمه توګه دا کوي: دولت هغه څه سره سمون لري چې په ریښتیني زیربنا کې دي.

او موږ باید د خوندیتوب په اړه خبرې وکړو. دا هغه ځای دی چې موږ یې باید پیل کړو. چیرې چې تاسو تیریفارم چلوئ او ستاسو زیربنا باندې تیریفارم چلوي هلته یو زیان شتون لري. دا دی، تاسو په اصل کې کوډ اجرا کوئ. او که د پل غوښتنه یو ډول ناوړه کوډ ولري، نو بیا دا په زیربنا کې اجرا کیدی شي چې ډیر لاسرسی لري. نو محتاط اوسئ چیرې چې تاسو د Terraform پلان چلوئ.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

بل شی چې زه غواړم په اړه یې خبرې وکړم د کارن ډیټا ازموینه ده.

د کارن ډیټا څه شی دی؟ په ایمیزون کې، کله چې موږ یو مثال جوړ کړو، موږ کولی شو یو ځانګړی لیک د مثال سره ولیږو - meta data. کله چې مثال پیل شي، معمولا کلاوډ انټ تل په دې مثالونو کې شتون لري. کلاوډ انیټ دا لیک لولي او وايي: "ښه، نن زه د بار بار توازن کونکی یم." او د دې تړونونو سره سم هغه ځینې کړنې ترسره کوي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

مګر، له بده مرغه، کله چې موږ د Terraform پلان جوړوو او Terraform تطبیق کوو، د کاروونکي ډاټا د دې ډول شمیرو په څیر ښکاري. دا دی، هغه په ​​ساده ډول تاسو ته هش لیږي. او ټول هغه څه چې تاسو یې په پلان کې لیدلی شئ دا دی چې ایا کوم بدلونونه به وي یا ایا هش به ورته پاتې شي.

او که تاسو دې ته پام ونه کړئ، نو ځینې مات شوي متن فایل ممکن په ایمیزون کې پای ته ورسیږي، په ریښتینې زیربنا کې.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

په بدیل سره، کله چې اجرا کول، تاسو کولی شئ ټول زیربنا مشخص نه کړئ، مګر یوازې ټیمپلیټ. او په کوډ کې ووایه: "مهرباني وکړئ دا ټیمپلیټ زما په سکرین کې ښکاره کړئ." او د پایلې په توګه، تاسو کولی شئ یو چاپ ترلاسه کړئ چې ستاسو ډاټا به په ایمیزون کې څنګه ښکاري.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

بل اختیار د کارن ډیټا تولید لپاره د ماډل کارول دي. تاسو به دا ماډل پلي کړئ. تاسو فایل په ډیسک کې ترلاسه کوئ. دا د حوالې سره پرتله کړئ. او پدې توګه ، که چیرې یو سړی پریکړه وکړي چې د کارونکي ډیټا یو څه سم کړي ، نو ستاسو ازموینې به ووایی: "ښه ، دلته او هلته ځینې بدلونونه شتون لري - دا عادي خبره ده."

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

بل شی چې زه غواړم په اړه یې وغږیږم د Automate Terraform Apply دی.

البته، دا خورا ویره ده چې د Terraform په اوتومات ډول پلي شي، ځکه څوک پوهیږي چې هلته کوم بدلونونه راغلي او د ژوند زیربنا لپاره څومره ویجاړونکي کیدی شي.

د ازموینې چاپیریال لپاره، دا ټول نورمال دي. دا ، هغه دنده چې د ازموینې چاپیریال رامینځته کوي هغه څه دي چې ټول پراختیا کونکي ورته اړتیا لري. او یو بیان لکه "هر څه چې زما لپاره کار کوي" یو مسخره میم نه دی، مګر دا ثبوت دی چې یو سړی ګډوډ شوی، یو سټیک پورته کړی، او پدې سټیک کې یې ځینې ازموینې ترسره کړې. او هغه ډاډ ترلاسه کړ چې هلته هرڅه سم دي او ویې ویل: "ښه ، هغه کوډ چې زه یې خپروم ازمول شوی دی."

په تولید، سینڈ باکس او نورو چاپیریالونو کې چې ډیر سوداګریز مهم دي، تاسو کولی شئ په جزوي توګه ځینې سرچینې په خوندي توګه وکاروئ ځکه چې دا د هیڅ چا د مړینې لامل نه کیږي. دا دي: د اتوماتیک ګروپونه، امنیتي ګروپونه، رولونه، روټ 53، او دلته لیست خورا لوی کیدی شي. مګر نظر وساتئ چې څه روان دي، د اتوماتیک غوښتنلیک راپورونه ولولئ.

چیرته چې دا خطرناکه یا ویره ده، د بیلګې په توګه، که دا د ډیټابیس څخه ځینې دوامداره سرچینې وي، نو بیا راپورونه ترلاسه کړئ چې د زیربنا په ځینو برخو کې غیر پلي شوي بدلونونه شتون لري. او انجنیر، تر څارنې لاندې، د درخواست کولو لپاره دندې پیل کوي یا یې د خپل کنسول څخه ترسره کوي.

ایمیزون داسې شی لري لکه د ټرمینیټ محافظت. او دا کولی شي په ځینو مواردو کې د بدلونونو څخه ساتنه وکړي چې ستاسو لپاره اړین ندي. دا دی، ټرافورم ایمیزون ته لاړ او ویې ویل: "زه اړتیا لرم چې دا مثال ووژنم ترڅو یو بل جوړ کړم." او ایمیزون وايي: "بخښنه غواړم، نن نه. موږ د ختمولو محافظت لرو."

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

او په کیک کې یخ کول د کوډ اصلاح کول دي. کله چې موږ د Terraform کوډ سره کار کوو، موږ باید ماډل ته خورا لوی شمیر پیرامیټونه انتقال کړو. دا هغه پیرامیټونه دي چې د یو ډول سرچینې رامینځته کولو لپاره اړین دي. او کوډ د پیرامیټونو په لوی لیست بدلیږي چې اړتیا لري له ماډل څخه ماډل ته انتقال شي، له ماډل څخه ماډل ته، په ځانګړې توګه که چیرې ماډلونه ځړول شوي وي.

او لوستل یې خورا ستونزمن دي. د دې بیاکتنه خورا ستونزمنه ده. او ډیری وختونه دا معلومه شوه چې ځینې پیرامیټونه بیاکتنه کوي او دا هغه څه ندي چې ورته اړتیا وي. او دا وروسته د سمولو لپاره وخت او پیسې مصرفوي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

له همدې امله ، زه وړاندیز کوم چې تاسو داسې شی د پیچلي پیرامیټر په توګه وکاروئ چې پکې د ارزښتونو یو مشخص ونې شامل وي. دا دی، تاسو یو ډول فولډر ته اړتیا لرئ چیرې چې تاسو ټول هغه ارزښتونه لرئ چې تاسو یې غواړئ په یو چاپیریال کې ولرئ.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

او د دې ماډل په زنګ وهلو سره ، تاسو کولی شئ یوه ونه ترلاسه کړئ چې په یو عام ماډل کې رامینځته کیږي ، دا په یو عام ماډل کې چې د ټول زیربنا لپاره ورته کار کوي.

په دې ماډل کې تاسو کولی شئ د سیمه ایزو په توګه په Terraform کې د داسې وروستي فیچر په کارولو سره ځینې محاسبې ترسره کړئ. او بیا، د یو محصول سره، یو څه پیچلي پیرامیټر ورکړئ، کوم چې کیدای شي سرنی هشونه، او نور شامل وي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

دا هغه ځای دی چې ټولې غوره موندنې ما پای ته رسولې. او زه غواړم د کولمبس په اړه یوه کیسه ووایم. کله چې هغه د هند د موندلو لپاره د خپل سفر لپاره د پیسو په لټه کې و (لکه څنګه چې هغه فکر کاوه)، هیچا باور نه درلود او دوی فکر کاوه چې دا ناممکن دی. بیا یې وویل: ډاډه اوسئ چې هګۍ نه رالویږي. ټولو بانکدارانو، ډیر بډایه او شاید هوښیار خلک، هڅه وکړه چې هګۍ ځای په ځای کړي، او دا په دوامداره توګه ښکته شوه. بیا کولمبس هګۍ واخیسته او لږ یې فشار ورکړ. خولۍ ټوټه ټوټه شوه او هګۍ بې حرکته پاتې شوه. دوی وویل، "هو، دا خورا اسانه دی!" او کولمبس ځواب ورکړ: "هو، دا خورا ساده دی. او کله چې زه هند پرانیزم، هرڅوک به دا سوداګریزه لاره وکاروي.

او هغه څه چې ما تاسو ته وویل شاید خورا ساده او کوچني شیان وي. او کله چې تاسو د دوی په اړه زده کړه وکړئ او د دوی کارول پیل کړئ، دا د شیانو په ترتیب کې دی. نو ګټه واخلئ. او که دا ستاسو لپاره په بشپړ ډول عادي شیان وي، نو لږترلږه تاسو پوهیږئ چې څنګه هګۍ ځای په ځای کړئ ترڅو دا راټیټ نشي.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

راځئ چې راشي:

  • هڅه وکړئ د واورې تودوخې څخه مخنیوی وکړئ. او د واورې لږې ټوټې، لږې سرچینې چې تاسو به د خپل لوی زیربنا په اوږدو کې کوم بدلون ته اړتیا ولرئ.
  • دوامداره بدلونونه. دا دی، کله چې په کوډ کې ځینې بدلونونه واقع کیږي، تاسو اړتیا لرئ چې خپل زیربناوې ژر تر ژره د دې بدلونونو سره مطابقت ته راوړو. داسې وضعیت باید شتون ونلري چیرې چې یو څوک دوه یا درې میاشتې وروسته د Elasticsearch لیدو ته راشي ، د ټرافارم پلان رامینځته کړي ، او د بدلونونو یوه ډله شتون لري چې تمه یې نه درلوده. او دا ډیر وخت نیسي چې هرڅه بیرته تنظیم کړي.
  • ازموینې او اتومات کول. هرڅومره چې ستاسو کوډ د ازموینو او ځانګړتیاو سره پوښل شوی وي ، هومره باور ولرئ چې تاسو هرڅه سم ترسره کوئ. او اتوماتیک تحویل به ستاسو باور څو ځله زیات کړي.
  • د ازموینې او تولید چاپیریال لپاره کوډ باید نږدې ورته وي. په عملي توګه ، ځکه چې تولید لاهم یو څه توپیر لري او لاهم به ځینې لنډیزونه وي چې د ازموینې چاپیریال هاخوا به لاړ شي. مګر سره له دې، جمع یا منفي، دا تضمین کیدی شي.
  • او که تاسو ډیر د Terraform کوډ لرئ او دا د دې کوډ تازه ساتلو لپاره ډیر وخت نیسي ، نو بیا به هیڅکله ناوخته نه وي چې ریفیکٹر او په ښه حالت کې یې ترلاسه کړئ.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

  • نه بدلیدونکی زیربنا. د AMI تحویلي په مهالویش کې.
  • د روټ 53 لپاره جوړښت کله چې تاسو ډیری ننوتنې لرئ او تاسو غواړئ چې په منظم ترتیب کې وي.
  • د API نرخ محدودیتونو سره مبارزه. دا هغه وخت دی چې ایمیزون وايي، "دا هغه دی، زه نور غوښتنې نشم منلی، مهرباني وکړئ انتظار وکړئ." او د دفتر نیمایي برخه تر هغه وخته پورې انتظار باسي چې دا خپل زیربنا پیل کړي.
  • د ځای مثالونه. ایمیزون ارزانه پیښه نده او ځایونه تاسو ته اجازه درکوي خورا ډیر خوندي کړئ. او هلته تاسو کولی شئ پدې اړه بشپړ راپور ووایی.
  • امنیت او IAM رول.
  • د ورک شوي سرچینو لټون کول، کله چې تاسو په ایمیزون کې د نامعلوم اصل مثالونه لرئ، دوی پیسې خوري. حتی که مثالونه په میاشت کې $ 100-150 لګښت ولري، دا په کال کې له $ 1 څخه ډیر دی. د داسې سرچینو موندل یو ګټور کاروبار دی.
  • او محفوظ مثالونه.

د ګډوډۍ او لارښود معمول سره د مبارزې لپاره په Terraform کې نمونې. ماکسیم کوسټرکین (ایکسټینز)

دا ټول زما لپاره دي. Terraform ډیر ښه دی، تاسو یې وکاروئ. له تاسو مننه!

پوښتنې

د راپور لپاره مننه! ستاسو د ریاست فایل په S3 کې دی، مګر تاسو دا ستونزه څنګه حل کوئ چې ډیری خلک کولی شي دا ریاست فایل واخلي او د پراخولو هڅه وکړي؟

لومړی، موږ په بیړه کې نه یو. دوهم، بیرغونه شتون لري، په کوم کې چې موږ راپور ورکوو چې موږ د کوډ په ځینو برخو کار کوو. دا د دې حقیقت سره سره چې زیربنا خورا لوی ده، دا پدې معنی ندي چې یو څوک په دوامداره توګه یو څه کاروي. او کله چې فعاله مرحله وه، دا یوه ستونزه وه؛ موږ په Git کې د دولت فایلونه ذخیره کړل. دا مهم و ، که نه نو یو څوک به د دولت فایل رامینځته کړي ، او موږ باید په لاسي ډول د هرڅه د دوام لپاره دوی سره یوځای کړو. اوس داسې کومه ستونزه نشته. په عموم کې، Terraform دا ستونزه حل کړه. او که یو څه په دوامداره توګه بدل شي، نو تاسو کولی شئ تالاشۍ وکاروئ، کوم چې د هغه څه مخه نیسي چې تاسو یې ویلي.

ایا تاسو خلاص سرچینه یا تصدۍ کاروئ؟

هیڅ شرکت نشته، د بیلګې په توګه هرڅه چې تاسو کولی شئ لاړ شئ او وړیا ډاونلوډ کړئ.

زما نوم ستانسلاو دی. ما غوښتل یو کوچنی اضافه کړم. تاسو د ایمیزون فیچر په اړه خبرې وکړې چې تاسو ته اجازه درکوي یو مثال ناباوره کړئ. دا پخپله په Terraform کې هم دی؛ د ژوند دوهم بلاک کې تاسو کولی شئ د بدلونونو بندیز یا د ویجاړولو بندیز مشخص کړئ.

وخت محدود وو. ښه ټکی.

ما هم غوښتل چې دوه شیان وپوښتم. لومړی، تاسو د ازموینې په اړه خبرې وکړې. ایا تاسو د ازموینې کوم وسیلې کارولې؟ ما د ټیسټ پخلنځي پلگ ان په اړه اوریدلي. شاید یو څه نور هم وي. او زه غواړم د محلي ارزښتونو په اړه پوښتنه وکړم. دوی څنګه اساسا د ان پټ متغیرونو څخه توپیر لري؟ او ولې زه نشم کولی یوازې د ځایی ارزښتونو له لارې یو څه پیرامیټریز کړم؟ ما هڅه وکړه چې دا موضوع وڅیړم، مګر زه پخپله پوه نه شوم.

موږ کولی شو د دې کوټې څخه بهر په ډیر تفصیل سره خبرې وکړو. زموږ د ازموینې وسیلې په بشپړ ډول پخپله جوړ شوي. هلته د ازموینې لپاره هیڅ نشته. په عموم کې، داسې اختیارونه شتون لري کله چې اتوماتیک ازموینې یو ځای زیربنا غوره کړي، وګورئ چې دا سمه ده، او بیا د راپور سره هرڅه ویجاړ کړئ چې ستاسو زیربنا لاهم په ښه حالت کې ده. موږ دا نه لرو ځکه چې د ازموینې سټیکونه هره ورځ چلیږي. او بس. او که یو څه مات شي، نو دا به پرته له دې چې موږ یې په بل ځای کې وګورو، ماتول به پیل شي.

د سیمه ایزو ارزښتونو په اړه، راځئ چې د خونې څخه بهر خبرو اترو ته دوام ورکړو.

سلام! د راپور لپاره مننه! ډیر معلوماتي. تاسو وویل چې تاسو د زیربنا تشریح کولو لپاره ډیری ورته کوډ لرئ. ایا تاسو د دې کوډ رامینځته کولو په اړه فکر کړی؟

عالي پوښتنه، مننه! ټکی دا دی چې کله موږ زیربناوې د کوډ په توګه کاروو، موږ فرض کوو چې موږ کوډ وګورو او پوهیږو چې د دې کوډ تر شا کوم زیربنا شتون لري. که کوډ تولید شي، نو موږ باید تصور وکړو چې کوم کوډ به تولید شي ترڅو پوه شي چې کوم ډول زیربنا به وي. یا هم موږ کوډ تولیدوو، دا یې کوو، او په اصل کې ورته شی پیښیږي. نو موږ هغه لاره تعقیب کړه چې موږ یې لیکلي، موږ یې ترلاسه کړل. پلس جنراتورونه یو څه وروسته ښکاره شول کله چې موږ یې جوړول پیل کړل. او دا لا دمخه د بدلون لپاره ډیر ناوخته و.

ایا تاسو د jsonnet په اړه څه اوریدلي؟

شمیره

وګوره، دا یو ډیر ښه شی دی. زه یو ځانګړی قضیه ګورم چیرې چې تاسو کولی شئ دا پلي کړئ او د معلوماتو جوړښت رامینځته کړئ.

جنراتورونه ښه دي کله چې تاسو یې لرئ، لکه څنګه چې د شین کولو ماشین په اړه ټوکه کې. یعني لومړی ځل مخ مختلف وي خو بیا ټول یو شان وي. جنراتورونه ډیر ښه کار کوي. مګر، له بده مرغه، زموږ مخونه یو څه توپیر لري. دا ستونزه ده.

یوازې وګورئ. له تاسو مننه!

زما نوم ماکسیم دی، زه د سبربینک څخه یم. تاسو د دې په اړه لږ څه خبرې وکړې چې تاسو څنګه هڅه کوله چې د پروګرام کولو ژبې مساوي ته Terraform راوړو. ایا د ځواب وړ کارول اسانه ندي؟

دا خورا مختلف شیان دي. تاسو کولی شئ په ځواب کې سرچینې رامینځته کړئ ، او ګوډاګی کولی شي په ایمیزون کې سرچینې رامینځته کړي. مګر Terraform مستقیم تیز شوی دی.

ایا تاسو یوازې ایمیزون لرئ؟

دا نه ده چې موږ یوازې ایمیزون لرو. موږ تقریبا یوازې ایمیزون لرو. مګر کلیدي ځانګړتیا دا ده چې Terraform یادونه کوي. په ځواب کې، که تاسو ووایاست: "ما ته 5 مثالونه راکړئ" نو دا به پورته شي، او بیا تاسو ووایاست: "او اوس زه 3 ته اړتیا لرم." او ټیرفارم به ووایي: "ښه، زه به 2 ووژنم،" او ځواب ورکوونکي به ووایي: "ښه، دلته ستاسو لپاره 3 دی." ټولټال ۸.

سلام! ستاسو د راپور لپاره مننه! د Terraform په اړه اوریدل خورا په زړه پوري وو. زه غواړم سمدلاسه د دې حقیقت په اړه یوه کوچنۍ تبصره وکړم چې Terraform لاهم باثباته خوشې نه کوي ، نو د ډیر احتیاط سره د ټیرافارم سره چلند وکړئ.

د ډوډۍ لپاره ښه چمچ. دا دی، که تاسو حل ته اړتیا لرئ، نو ځینې وختونه تاسو هغه څه پریږدئ چې بې ثباته وي، او داسې نور، مګر دا کار کوي او دا زموږ سره مرسته کوي.

پوښتنه دا ده. تاسو ریموټ بیک انډ کاروئ، تاسو S 3 کاروئ. تاسو ولې رسمي پس منظر نه کاروئ؟

رسمي؟

Terraform Cloud.

هغه کله راڅرګند شو؟

شاوخوا 4 میاشتې مخکې.

که دا 4 کاله دمخه څرګند شوی و ، نو شاید ما به ستاسو پوښتنې ته ځواب ورکړی وای.

دلته لا دمخه یو جوړ شوی فنکشن او لاک شتون لري ، او تاسو کولی شئ د دولت فایل ذخیره کړئ. دا یوه هڅه وکړئ. مګر ما دا هم نه ده ازمولې.

موږ په یوه لوی اورګاډي کې سفر کوو چې په لوړ سرعت حرکت کوي. او تاسو نشئ کولی یوازې یو څو موټرې واخلئ او وغورځوئ.

تاسو د واورې د تودوخې په اړه خبرې وکړې، ولې تاسو څانګه نه کاروئ؟ ولې په دې ډول کار ونه کړ؟

زموږ تګلاره دا ده چې ټول زیربناوې په یوه ذخیره کې وي. Terraform، Puppet، ټول هغه سکریپټونه چې یو څه په دې پورې تړاو لري، دوی ټول په یوه ذخیره کې دي. پدې توګه موږ کولی شو ډاډ ترلاسه کړو چې زیاتیدونکي بدلونونه یو له بل وروسته ازمول شوي. که دا د څانګو یوه ډله وي، نو د داسې پروژې ساتل به تقریبا ناممکن وي. شپږ میاشتې تیریږي، او دوی دومره توپیر کوي چې دا یوازې یو ډول سزا ده. دا هغه څه دي چې ما غوښتل د ریفیکٹر کولو دمخه له هغې څخه وتښتم.

نو دا کار نه کوي؟

دا بالکل کار نه کوي.

په څانګه کې ما د فولډر سلایډ پرې کړ. دا دی ، که تاسو دا د هر ټیسټ سټیک لپاره ترسره کوئ ، د مثال په توګه ، ټیم A خپل فولډر لري ، ټیم B خپل فولډر لري ، نو دا هم کار نه کوي. موږ د یو متحد ازموینې چاپیریال کوډ رامینځته کړی چې د هرچا لپاره مناسب انعطاف وړ و. دا دی، موږ یو کوډ خدمت کړی.

سلام! زما نوم یورا دی! د راپور لپاره مننه! د ماډلونو په اړه پوښتنه. تاسو ووایاست چې تاسو ماډلونه کاروئ. تاسو دا مسله څنګه حل کوئ که چیرې په یو ماډل کې بدلونونه رامینځته شوي وي چې د بل چا له بدلون سره مطابقت نلري؟ ایا تاسو په یو ډول ماډلونه نسخه کوئ یا هڅه کوئ چې د دوه اړتیاو پوره کولو لپاره ونڈر وافل راوړو؟

دا د واورو یوه لویه ستونزه ده. دا هغه څه دي چې موږ ورسره مخ یو کله چې یو بې ګناه بدلون کولی شي د زیربنا ځینې برخې مات کړي. او دا به یوازې د اوږدې مودې وروسته د پام وړ وي.

یعني دا لا تر اوسه نه ده حل شوې؟

تاسو نړیوال ماډلونه جوړ کړئ. د واورې تودوخې څخه ډډه وکړئ. او هرڅه به کار وکړي. د راپور دویمه برخه د دې څخه د مخنیوي څرنګوالي په اړه ده.

سلام! د راپور لپاره مننه! زه غواړم روښانه کړم. د پردې تر شا یو لوی انبار و چې زه یې لپاره راغلی وم. د ګوډاګي او رول ویش څنګه یوځای کیږي؟

د کارن ډاټا.

دا ، تاسو یوازې فایل توی کړی او په یو ډول یې اجرا کوئ؟

د کارن ډیټا یو نوټ دی، د بیلګې په توګه کله چې موږ د عکس کلون جوړوو، ډیمون هلته راپورته کیږي او هڅه کوي چې معلومه کړي چې هغه څوک دی، نوټ لولي چې هغه د وزن توازن دی.

دا، ایا دا یو ډول جلا بهیر دی چې ورکول کیږي؟

موږ دا اختراع نه ده کړې. موږ یې کاروو.

سلام! زه یوازې د کارن ډیټا په اړه یوه پوښتنه لرم. تاسو وویل چې دلته ستونزې شتون لري چې یو څوک غلط ځای ته یو څه لیږلی شي. ایا په ورته ګیټ کې د کارونکي ډیټا ذخیره کولو لپاره کومه لاره شتون لري ، نو دا تل روښانه وي چې د کارن ډیټا څه ته اشاره کوي؟

موږ د ټیمپلیټ څخه د کارن ډیټا تولید کوو. دا دی، یو ټاکلی شمیر متغیرات هلته کارول کیږي. او Terraform وروستۍ پایله تولیدوي. له همدې امله ، تاسو نشئ کولی یوازې ټیمپلیټ ته وګورئ او ووایاست چې څه به پیښ شي ، ځکه چې ټولې ستونزې د دې حقیقت سره تړاو لري چې پراختیا کونکی فکر کوي چې هغه پدې متغیر کې تار تیریږي ، مګر هلته یو صف کارول کیږي. او هغه - بام او زه - داسې او داسې، داسې او داسې، بله کرښه، او هرڅه مات شول. که دا یوه نوې سرچینه وي او یو څوک یې پورته کوي او ګوري چې یو څه کار نه کوي، نو دا په چټکۍ سره حل کیږي. او که دا د آټوسکیل ګروپ تازه شي ، نو په یو وخت کې د آټوسکیل ګروپ کې مثالونه ځای په ځای کول پیل کوي. او بنګ، یو څه کار نه کوي. درد کوي.

دا معلومه شوه چې یوازینۍ حل ازموینه ده؟

هو، تاسو ستونزه ګورئ، تاسو هلته د ازموینې مرحلې اضافه کړئ. دا دی، محصول هم ازموینه کیدی شي. شاید دا دومره اسانه نه وي، مګر تاسو کولی شئ ځینې نښان هم واچوئ - وګورئ چې د کارن ډیټا دلته کیل شوی.

زما نوم تیمور دی. دا ډیره ښه ده چې د Terraform په سمه توګه تنظیم کولو څرنګوالي په اړه راپورونه شتون لري.

ما لا هم نه دی پیل کړی.

زه فکر کوم چې شاید په راتلونکي کنفرانس کې وي. زه یوه ساده پوښتنه لرم. تاسو ولې د tfvars کارولو پرځای ارزښت په جلا ماډل کې هارډ کوډ کوئ ، د بیلګې په توګه ولې یو ماډل د ارزښتونو سره د tfvars څخه غوره دی؟

دا دی، ایا زه باید دلته ولیکم (سلایډ: تولید/چاپیریال/settings.tf): domain = متغیر، ډومین vpcnetwork، متغیر vpcnetwork او stvars - ایا زه ورته شی ترلاسه کولی شم؟

دا هغه څه دي چې موږ یې کوو. موږ د ترتیب سرچینې ماډل ته مراجعه کوو، د بیلګې په توګه.

په اصل کې، دا ډول ډولونه دي. Tfvars د ازموینې چاپیریال کې خورا اسانه دی. زه د لویو مثالونو لپاره tfvars لرم، د کوچنیو لپاره. او ما یو فایل فولډر ته وغورځاوه. او ما هغه څه ترلاسه کړل چې ما غوښتل. کله چې موږ زیربنا پرې کوو، موږ غواړو چې دا ممکنه وي چې هر څه وګورو او سمدلاسه پوه شو. او نو دا معلومه شوه چې تاسو اړتیا لرئ دلته وګورئ، بیا tfvars وګورئ.

ایا دا ممکنه ده چې هر څه په یو ځای کې وي؟

هو، tfvars هغه وخت دی چې تاسو یو کوډ لرئ. او دا په ډیری مختلف ځایونو کې د مختلف نزاکتونو سره کارول کیږي. بیا به تاسو tfvars وغورځوئ او خپل باریکي ترلاسه کړئ. او موږ زیربنا د کوډ په توګه په خپل خالص شکل کې یو. ما وکتل او پوه شوم.

سلام! ایا تاسو له داسې شرایطو سره مخ شوي یاست چیرې چې د بادل چمتو کونکی په هغه څه کې مداخله کوي چې تاسو یې ټیرافارم جوړ کړی؟ راځئ چې ووایو موږ میټاډاټا ترمیم کوو. د ssh کلیدونه شتون لري. او ګوګل په دوامداره توګه خپل میټاډاټا او کیلي هلته اچوي. او Terraform تل لیکي چې دا بدلونونه لري. د هرې منډې وروسته، حتی که څه هم بدلون ومومي، هغه تل وايي چې اوس به دا ساحه تازه کړي.

د کلیدونو سره، مګر هو، د زیربنا یوه برخه د دې شی لخوا اغیزمنه شوې، د بیلګې په توګه، ټیرفارم هیڅ شی نشي بدلولی. موږ هم د خپلو لاسونو سره هیڅ شی نشو بدلولی. موږ به د اوس لپاره ورسره ژوند وکړو.

يعنې، تاسو د دې ډول يو څه سره مخ شوي، مګر د دې سره څه نه دي راغلي، هغه دا څنګه کوي او پخپله کوي؟

له بده مرغه هو.

سلام! زما نوم سټارکوف ستانسلاو دی. میل. ru ګروپ. تاسو څنګه د ټاګ رامینځته کولو ستونزه حل کوئ ... ، تاسو دا څنګه دننه کوئ؟ لکه څنګه چې زه پدې پوهیږم، د کوربه نوم مشخص کولو لپاره د کارن - ډاټا له لارې، د ګوډاګۍ تنظیم کول؟ او د پوښتنې دویمه برخه. تاسو دا مسله په SG کې څنګه حل کوئ ، د بیلګې په توګه کله چې تاسو SG رامینځته کوئ ، د ورته ډول سلګونه مثالونه ، د دوی لپاره سم نوم څه دی؟

هغه مثالونه چې زموږ لپاره خورا مهم دي، موږ یې په ښه توګه نوموو. هغه څوک چې اړتیا نلري، یادونه شتون لري چې دا د اتوماتیک ګروپ دی. او په تیوري کې تاسو کولی شئ دا په نښه کړئ او یو نوی ترلاسه کړئ.

لکه څنګه چې د ټاګ سره ستونزې شتون لري، داسې کومه ستونزه شتون نلري، مګر داسې کار شتون لري. او موږ ټاګونه په خورا خورا درنه توګه کاروو، ځکه چې زیربنا لویه او ګرانه ده. او موږ اړتیا لرو وګورو چې پیسې چیرته ځي، نو ټاګونه موږ ته اجازه راکوي چې مات کړو چې چیرته تللي. او، په وینا، د هغه څه لټون چې معنی یې دلته ډیرې پیسې لګول کیږي.

بله پوښتنه څه وه؟

کله چې SG په سلګونو مثالونه رامینځته کوي، ایا دوی باید یو څه توپیر وکړي؟

نه، مه کوئ. په هر مثال کې یو استازی شتون لري چې راپور ورکوي چې زه ستونزه لرم. که یو اجنټ راپور ورکړي، نو اجنټ د هغه په ​​اړه پوهیږي او لږترلږه، د هغه IP پته شتون لري. تاسو کولی شئ دمخه وتښتئ. دوهم، موږ د کشف لپاره قونسل کاروو، چیرته چې کوبرنیټس نه وي. او قونسل هم د مثال IP پته ښیې.

دا دی، ایا تاسو په ځانګړې توګه په IP تمرکز کوئ، او نه د کوربه نوم؟

د کوربه نوم په واسطه نیویګیټ کول ناممکن دي، د بیلګې په توګه ډیری یې شتون لري. د مثال پیژندونکي شتون لري - AE، او داسې نور. تاسو کولی شئ دا چیرته ومومئ، تاسو کولی شئ په لټون کې یې واچوئ.

سلام! ما پوهیده چې Terraform یو ښه شی دی، د ورېځو لپاره جوړ شوی.

نه یوازې.

دا دقیقا هغه پوښتنه ده چې زما سره علاقه لري. که تاسو پریکړه وکړئ چې حرکت وکړئ، ووایاست، د خپلو ټولو مثالونو سره په ډله ایز ډول Bare Metal ته؟ ایا کومه ستونزه به وي؟ یا به تاسو لاهم باید نور محصولات وکاروئ ، د مثال په توګه ، ورته ځواب چې دلته ورته اشاره شوې؟

ځواب د بل څه په اړه لږ څه دی. دا دی ، ځواب ورکونکی دمخه کار کوي کله چې مثال پیل شوی وي. او Terraform د مثال له پیل دمخه کار کوي. بېر فلز ته بدلول - نه.

اوس نه، مګر سوداګر به راشي او ووایي: "راځه."

بل بادل ته تلل - هو ، مګر دلته یو څه مختلف چال شتون لري. تاسو اړتیا لرئ د Terraform کوډ په داسې ډول ولیکئ چې تاسو کولی شئ د لږې هڅې سره یو بل کلاوډ ته لاړ شئ.

په پیل کې ، دنده ټاکل شوې وه چې زموږ ټوله زیربنا اګنوسټیک وه ، د بیلګې په توګه هر بادل باید مناسب وي ، مګر په یو وخت کې سوداګرۍ پریښوده او ویې ویل: "ښه ، په راتلونکو N کلونو کې به موږ هیڅ ځای ته نه ځو ، موږ کولی شو خدمات وکاروو. د ایمیزون څخه "

Terraform تاسو ته اجازه درکوي د فرنټ-اینډ دندې رامینځته کړئ ، د PagerDuty تنظیم کړئ ، ډیټا ډاک او داسې نور. دا ډیری پایونه لري. هغه کولی شي په عملي توګه ټوله نړۍ کنټرول کړي.

د راپور لپاره مننه! زه همدا اوس د 4 کلونو لپاره ټیرفارم سپنوم. د ټرافورم ته د اسانه لیږد په مرحله کې، زیربنا ته، بیاناتي توضیحاتو ته، موږ د داسې وضعیت سره مخ یو چې یو څوک په لاس کې یو څه کوي، او تاسو د پلان جوړولو هڅه کوله. او ما هلته یو څه تېروتنه وکړه. تاسو د داسې ستونزو سره څنګه چلند کوئ؟ تاسو څنګه ورک شوي سرچینې ومومئ چې اشاره شوې؟

په عمده توګه زموږ د لاسونو او سترګو سره، که موږ په راپور کې یو څه عجیب وګورو، نو موږ تحلیل کوو چې هلته څه پیښیږي، یا موږ په ساده ډول وژنو. په عموم کې، د کشولو غوښتنې یو عام شی دی.

که کومه تېروتنه وي، ایا تاسو بیرته راګرځوئ؟ ایا تاسو د دې کولو هڅه کړې؟

نه، دا هغه وخت د یو شخص پریکړه ده کله چې هغه ستونزه ویني.

سرچینه: www.habr.com