اسان هڪ سرڪاري Terraform فراهم ڪندڙ شروع ڪيو آهي Selectel سان ڪم ڪرڻ لاءِ. هي پراڊڪٽ صارفين کي وسيلن جي انتظام کي مڪمل طور تي لاڳو ڪرڻ جي اجازت ڏئي ٿو انفراسٽرڪچر-جي-ڪوڊ طريقي سان.
مهيا ڪندڙ هن وقت خدمت وسيلن جي انتظام جي حمايت ڪري ٿو "مجازي نجي بادل" (هتان کان پوء VPC طور حوالو ڏنو ويو). مستقبل ۾، اسان سليڪٽيل پاران مهيا ڪيل ٻين خدمتن لاء وسيلن جي انتظام کي شامل ڪرڻ جو منصوبو آهي.
جئين توهان اڳ ۾ ئي ڄاڻو ٿا، VPC سروس OpenStack تي ٺهيل آهي. بهرحال، ان حقيقت جي ڪري ته OpenStack عوامي ڪلائوڊ جي خدمت ڪرڻ لاءِ مقامي اوزار مهيا نٿو ڪري، اسان اضافي APIs جي هڪ سيٽ ۾ غائب ڪارڪردگي کي لاڳو ڪيو جيڪو پيچيده جامع شين جي انتظام کي آسان بڻائي ٿو ۽ ڪم کي وڌيڪ آسان بڻائي ٿو. OpenStack ۾ موجود ڪجھ ڪارڪردگي سڌي طرح استعمال کان بند ٿيل آھي، پر دستياب آھي ذريعي اسان جي API.
Selectel Terraform فراهم ڪندڙ ھاڻي ھيٺ ڏنل VPC وسيلن کي منظم ڪرڻ جي صلاحيت شامل آھي:
منصوبا ۽ سندن ڪوٽا؛
استعمال ڪندڙ، سندن ڪردار ۽ ٽوڪن؛
عوامي ذيلي نيٽ، بشمول ڪراس-ريجنل ۽ وي آر آر پي؛
سافٽ ويئر لائسنس.
مهيا ڪندڙ اسان جي عوامي Go لائبريري کي استعمال ڪري ٿو VPC API سان ڪم ڪرڻ لاءِ. ٻئي لائبريري ۽ فراهم ڪندڙ پاڻ کليل ذريعو آهن، انهن جي ترقي Github تي ڪئي وئي آهي:
شروع ڪرڻ لاء، توهان کي Terraform انسٽال ڪرڻ جي ضرورت آهي (تنصيب پيڪيجز لاء هدايتون ۽ لنڪس هتي ڳولي سگهجن ٿيون. سرڪاري ويب سائيٽ).
هلائڻ لاءِ، فراهم ڪندڙ کي هڪ Selectel API چاٻي جي ضرورت آهي، جنهن ۾ ٺاهي وئي آهي اڪائونٽ ڪنٽرول پينل.
Selectel سان ڪم ڪرڻ لاء منشور Terraform استعمال ڪندي يا تيار ڪيل مثالن جو هڪ سيٽ استعمال ڪندي ٺاهيو ويو آهي جيڪي اسان جي Github مخزن ۾ موجود آهن: terraform- مثال.
مثالن سان گڏ ذخيرو ٻن ڊائريڪٽرن ۾ ورهايل آهي:
ماڊيول, جنهن ۾ ننڍڙا ٻيهر قابل استعمال ماڊل شامل آهن جيڪي پيٽرول جو هڪ سيٽ ان پٽ طور وٺن ٿا ۽ وسيلن جي هڪ ننڍڙي سيٽ کي منظم ڪن ٿا؛
مثال, جنهن ۾ مثالن تي مشتمل هڪ مڪمل سيٽ جي وچ ۾ ڳنڍيل ماڊلز.
Terraform کي انسٽال ڪرڻ کان پوء، هڪ Selectel API ڪيچ ٺاهڻ ۽ مثالن سان پاڻ کي واقف ڪرڻ، اچو ته عملي مثالن ڏانهن وڃو.
جيڪڏهن ضروري هجي ته، توهان هڪ مختلف عوامي چيڪ بيان ڪري سگهو ٿا. چاٻي کي فائل جي رستي جي طور تي بيان ڪرڻ جي ضرورت ناهي؛ توهان پڻ قيمت شامل ڪري سگهو ٿا هڪ اسٽرنگ جي طور تي.
هن فائل ۾ وڌيڪ ماڊلز شروع ڪيا ويا آهن پروجيڪٽ_with_user и server_local_root_disk، جيڪي ضروري وسيلن کي منظم ڪن ٿا.
دليل تبديلين کي نظرانداز ڪريو توهان کي خاصيتن جي تبديلين کي نظر انداز ڪرڻ جي اجازت ڏئي ٿي id ورچوئل مشين ٺاهڻ لاءِ استعمال ٿيل تصوير لاءِ. VPC سروس ۾، اڪثر عوامي تصويرون هفتي ۾ هڪ ڀيرو خودڪار طور تي اپڊيٽ ڪيون وينديون آهن ۽ ساڳئي وقت انهن جي id پڻ تبديليون. اهو OpenStack جزو جي خاصيتن جي ڪري آهي - Glance، جنهن ۾ تصويرن کي ناقابل اعتبار ادارن سمجهيو ويندو آهي.
جيڪڏهن توهان هڪ موجوده سرور يا ڊسڪ ٺاهي يا تبديل ڪري رهيا آهيو جنهن ۾ هڪ دليل آهي image_id استعمال ڪيو ويو آهي id عوامي تصوير، پوءِ ان تصوير کي اپڊيٽ ڪرڻ کان پوءِ، ٽرافارم مينيفيسٽ کي ٻيهر هلائڻ سان سرور يا ڊسڪ ٻيهر ٺاهي ويندي. هڪ دليل استعمال ڪندي تبديلين کي نظرانداز ڪريو توهان کي اهڙي صورتحال کان بچڻ جي اجازت ڏئي ٿو.
نوٽ: دليل تبديلين کي نظرانداز ڪريو Terraform ۾ ظاهر ٿيو ڪافي وقت اڳ: ڇڪ #2525.
دليل ignore_resize_confirmation مقامي ڊسڪ، ڪور، يا سرور ياداشت کي ڪاميابيءَ سان ريزائز ڪرڻ جي ضرورت آهي. اهڙيون تبديليون OpenStack Nova جزو ذريعي ڪيون ويون آهن درخواست استعمال ڪندي مٽائڻ. درخواست کان پوءِ ڊفالٽ نووا مٽائڻ سرور کي حالت ۾ رکي ٿو verify_resize ۽ صارف کان اضافي تصديق جو انتظار ڪري ٿو. بهرحال، اهو رويو تبديل ٿي سگهي ٿو ته جيئن نووا صارف کان اضافي ڪارناما جو انتظار نٿو ڪري.
بيان ڪيل دليل Terraform کي اسٽيٽس جو انتظار نه ڪرڻ جي اجازت ڏئي ٿو verify_resize سرور لاءِ ۽ سرور لاءِ تيار رهو ته ان جي پيٽرولن کي تبديل ڪرڻ کان پوءِ فعال حالت ۾. دليل موجود آهي نسخو 1.10.0 مان OpenStack Terraform فراهم ڪندڙ: ڇڪ #422.
وسيلا ٺاهڻ
منشور کي هلائڻ کان اڳ، مهرباني ڪري نوٽ ڪريو ته اسان جي مثال ۾، ٻه مختلف مهيا ڪندڙ شروع ڪيا ويا آهن، ۽ OpenStack فراهم ڪندڙ Selectel فراهم ڪندڙ جي وسيلن تي منحصر آهي، ڇاڪاڻ ته پروجيڪٽ ۾ صارف ٺاهڻ کان سواء، ان سان لاڳاپيل شيون منظم ڪرڻ ناممڪن آهي. . بدقسمتي سان، ساڳئي سبب لاء اسان صرف حڪم هلائي نٿا سگهون terraform لاڳو اسان جي مثال اندر. اسان کي پهرين ڪرڻ جي ضرورت آهي لاڳو ماڊل لاء پروجيڪٽ_with_user ۽ ان کان پوء هر شيء لاء.
نوٽ: هي مسئلو اڃا تائين حل نه ڪيو ويو آهي Terraform ۾، توهان Github تي بحث تي عمل ڪري سگهو ٿا مسئلو نمبر 2430 и مسئلو نمبر 4149.
Plan: 3 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
هڪ دفعو پروجيڪٽ، صارف ۽ ڪردار ٺاهيا ويا آهن، توهان شروع ڪري سگهو ٿا باقي وسيلن کي ٺاهڻ:
توهان ٺاهيل ورچوئل مشين سان ڪم ڪري سگهو ٿا SSH ذريعي مخصوص IP استعمال ڪندي.
تدوين وسيلن
Terraform ذريعي وسيلن کي پيدا ڪرڻ کان علاوه، انهن کي پڻ تبديل ڪري سگهجي ٿو.
مثال طور، اچو ته اسان جي سرور لاءِ ڪور ۽ ميموري جو تعداد وڌائين قدرن کي تبديل ڪندي سرور_vcpus и سرور_رام_ ايم بي فائل ۾ مثالن/vpc/server_local_root_disk/main.tf:
ٻنهي صورتن ۾، توهان کي سڀني شين کي ختم ڪرڻ جي تصديق ڪرڻ جي ضرورت پوندي:
Do you really want to destroy all resources?
Terraform will destroy all your managed infrastructure, as shown above.
There is no undo. Only 'yes' will be accepted to confirm.
Enter a value: yes
اسان Kubernetes ڪلستر جي تخليق ۽ انتظام کي OpenStack Magnum جزو ذريعي منتقل ڪنداسين. توهان اسان جي هڪ ۾ ڪلستر سان ڪيئن ڪم ڪرڻ بابت وڌيڪ ڳولي سگهو ٿا اڳيون مضمونانهي سان گڏوگڏ معلومات جي بنياد تي.
يوٽيليٽي ذريعي ٺاهيل ڪبرنيٽس ڪلستر کي منظم ڪرڻ لاءِ ڪيوبڪبل توھان کي حاصل ڪرڻ جي ضرورت آھي ڪلستر رسائي فائل. هن کي ڪرڻ لاء، توهان جي اڪائونٽ ۾ منصوبن جي فهرست ۾ Terraform ذريعي ٺاهيل پروجيڪٽ ڏانهن وڃو:
اڳيون، لنڪ جي پيروي ڪريو پسند ڪريو xxxxx.selvpc.ruجيڪو پروجيڪٽ جي نالي هيٺ ظاهر ٿئي ٿو:
لاگ ان معلومات لاءِ، استعمال ڪريو يوزرنيم ۽ پاسورڊ جيڪو توھان ٺاھيو آھي Terraform ذريعي. جيڪڏهن توهان ڌوڪو نه ڪيو آهي vars.tf يا main.tf اسان جي مثال لاء، صارف جو نالو هوندو tf_user. توھان کي استعمال ڪرڻ گھرجي متغير جي قدر کي پاسورڊ طور TF_VAR_user_password، جيڪو شروع ڪرڻ تي بيان ڪيو ويو آهي terraform لاڳو پهريان.
پروجيڪٽ جي اندر توهان کي ٽيب ڏانهن وڃڻ جي ضرورت آهي ڪوبنيٿس: