
Amazon ڪمپني آخري ڇڏڻ جي باري ۾ - ڪنٽينرز کي هلائڻ ۽ انهن کي مؤثر طريقي سان منظم ڪرڻ لاءِ هڪ خاص ورڇ.
Bottlerocket (رستي طور، نالو ڏنو ويو نن homemade بليڪ پاؤڊر راڪيٽس) ڪنٽينرز لاءِ پهريون او ايس ناهي، پر اهو امڪان آهي ته اهو AWS خدمتن سان ڊفالٽ انضمام جي ڪري وڏي پئماني تي ٿي ويندو. جيتوڻيڪ سسٽم Amazon ڪلائوڊ تي مرڪوز آهي، اوپن سورس ڪوڊ ان کي ڪٿي به تعمير ڪرڻ جي اجازت ڏئي ٿو: مقامي طور تي سرور تي، راسبري پي تي، ڪنهن به مقابلي واري بادل ۾، ۽ جيتوڻيڪ هڪ ڪنٽينر واري ماحول ۾.
هي هڪ مڪمل طور تي قابل متبادل آهي CoreOS ورڇ لاءِ جيڪو Red Hat دفن ڪيو.
حقيقت ۾، Amazon ويب سروسز ڊويزن ۾ اڳ ۾ ئي Amazon آهي Linux، جيڪو تازو ئي پنهنجي ٻئي ورزن ۾ داخل ٿيو آهي: اهو هڪ عام مقصد جي تقسيم آهي جيڪا ڊاڪر ڪنٽينر ۾ يا هائپر وائزر سان هلائي سگهجي ٿي. Linux KVM، Microsoft Hyper-V، ۽ VMware ESXi. ان کي AWS ڪلائوڊ لاءِ بهتر بڻايو ويو هو، پر Bottlerocket جي رليز سان، هر ڪنهن کي هڪ نئين سسٽم ڏانهن اپ گريڊ ڪرڻ جي حوصلا افزائي ڪئي وئي آهي جيڪو وڌيڪ محفوظ، جديد، ۽ گهٽ وسيلن کي استعمال ڪري ٿو.
AWS اعلان ڪيو Bottlerocket هن فوري طور تي تسليم ڪيو ته هي پهريون نه هو.Linux ڪنٽينرز لاءِ،" ڪور او ايس، رينچر او ايس، ۽ پراجيڪٽ ايٽامڪ کي الهام طور بيان ڪندي. ڊولپرز لکيو ته آپريٽنگ سسٽم "انهن سبقن جو نتيجو آهي جيڪي اسان ڊگهي عرصي کان ايميزون تي پيماني تي پيداوار جون خدمتون هلائڻ کان سکيا آهن، ۽ گذريل ڇهن سالن ۾ اسان ڪنٽينرز کي ڪيئن هلائڻ بابت تجربو حاصل ڪيو آهي."
انتهائي minimalism
Linux ڪمپني جي مطابق، ڪنٽينرز هلائڻ لاءِ غير ضروري هر شيءِ کي هٽائي، هي ڊيزائن حملي جي مٿاڇري کي گهٽائي ٿو.
هن جو مطلب آهي ته ٿورڙا پيڪيجز بنيادي سسٽم تي نصب ٿيل آهن، جيڪا او ايس کي برقرار رکڻ ۽ تازه ڪاري ڪرڻ آسان بڻائي ٿي، ۽ وسيلن جي استعمال کي گهٽائڻ، انحصار جي سبب مسئلن جي امڪان کي پڻ گھٽائي ٿي. بنيادي طور تي، هتي هر شيء الڳ ڪنٽينرز ۾ ڪم ڪري ٿو، ۽ بنيادي نظام عملي طور تي ننگا آهي.
Amazon سڀني شيل ۽ ترجمانن کي پڻ ختم ڪري ڇڏيو آهي، انهن جي استعمال جي خطري کي ختم ڪرڻ يا صارفين کي حادثاتي طور تي استحقاق وڌائڻ. minimalism ۽ سيڪيورٽي جي خاطر، بنيادي تصوير ۾ ڪمانڊ شيل، هڪ SSH سرور، يا پٿون وانگر تشريح ڪيل ٻوليون شامل نه آهن. ايڊمنسٽريٽر ٽولز هڪ الڳ سروس ڪنٽينر ۾ رکيل آهن، جيڪو ڊفالٽ طور بند ٿيل آهي.
سسٽم ٻن طريقن سان منظم ڪيو ويو آهي: API ۽ آرڪيسٽريشن ذريعي.
هڪ پيڪيج مينيجر جي بدران جيڪو سافٽ ويئر جي انفرادي ٽڪر کي اپڊيٽ ڪري ٿو، Bottlerocket هڪ مڪمل فائل سسٽم تصوير ڊائون لوڊ ڪري ٿو ۽ ان ۾ ريبوٽ ڪري ٿو. جيڪڏهن هڪ لوڊ ناڪام ٿئي ٿي، اهو خودڪار طور تي واپس ڦري ٿو، ۽ ڪم لوڊ ناڪامي کي دستي طور تي رول بيڪ کي ٽريڪ ڪري سگھي ٿو (API ذريعي حڪم).
فريم ورڪ (The Update Framework) ڊائون لوڊ ڪري ٿو تصويري بنيادن تي اپڊيٽس کي متبادل يا "unmounted" partitions ڏانهن. سسٽم لاءِ ٻه ڊسڪ ورهاڱا مختص ڪيا ويا آهن، جن مان هڪ ۾ فعال سسٽم شامل آهي، ۽ تازه ڪاري ٻئي ڏانهن نقل ڪئي وئي آهي. انهي حالت ۾، روٽ ورهاڱي صرف پڙهڻ واري موڊ ۾ نصب ٿيل آهي، ۽ ورهاڱي /etc RAM ۾ فائل سسٽم سان نصب ٿيل ۽ ٻيهر شروع ڪرڻ کان پوء اصل حالت کي بحال ڪري ٿو. ۾ ترتيب واري فائلن جي سڌي تبديلي /etc سپورٽ نه آهي: سيٽنگون بچائڻ لاءِ توهان کي API استعمال ڪرڻ گهرجي يا ڪارڪردگي کي الڳ ڪنٽينرز ۾ منتقل ڪرڻ گهرجي.

API اپڊيٽ اسڪيم
حفاظت
ڪنٽينر معياري ڪرنل ميڪانيزم استعمال ڪندي ٺاهيا ويندا آهن. Linux — cgroups، namespaces ۽ seccomp، ۽ لازمي رسائي ڪنٽرول جي نظام جي طور تي، يعني اضافي اڪيلائي لاءِ، اهو استعمال ڪيو ويندو آهي "نافذ ڪرڻ" موڊ ۾.
ڊفالٽ طور، پاليسيون ڪنٽينرز ۽ ڪنيل جي وچ ۾ وسيلن کي حصيداري ڪرڻ لاء فعال آهن. بائنريز کي جھنڊن سان محفوظ ڪيو ويو آھي استعمال ڪندڙن يا پروگرامن کي انھن تي عمل ڪرڻ کان روڪڻ لاءِ. ۽ جيڪڏهن ڪو فائيل سسٽم تائين پهچي ٿو، Bottlerocket ڪنهن به تبديلين کي چيڪ ڪرڻ ۽ ٽريڪ ڪرڻ لاء هڪ اوزار پيش ڪري ٿو.
"تصديق ٿيل بوٽ" موڊ ڊيوائس-ميپر-verity فنڪشن ذريعي لاڳو ڪيو ويو آهي ()، جيڪو بوٽ دوران روٽ ورهاڱي جي سالميت جي تصديق ڪري ٿو. AWS dm-verity کي "ڪرنل فنڪشن" جي طور تي بيان ڪري ٿو Linux، جيڪو او ايس تي مالويئر کي هلڻ کان روڪڻ لاءِ سالميت جي جانچ فراهم ڪري ٿو، جهڙوڪ مکيه سسٽم سافٽ ويئر کي اوور رائٽ ڪرڻ."
سسٽم ۾ هڪ فلٽر پڻ آهي (وڌايل بي پي ايف، )، جيڪو ڪنيل ماڊلز کي وڌيڪ محفوظ BPF پروگرامن سان تبديل ڪرڻ جي اجازت ڏئي ٿو گھٽ-سطح سسٽم جي عملن لاءِ.
عملدرآمد ماڊل
استعمال ڪندڙ جي وضاحت
تاليف
حفاظت
ناڪامي موڊ
وسيلن تائين رسائي
استعمال ڪندڙ
ڪم
ها
ڪوبہ
استعمال ڪندڙ جا حق
عمل ۾ مداخلت
سسٽم ڪال، غلطي
نيوڪلي
ڪم
في
جامد
في
ڪرنل خوف
سڌي
بي بي ايف جي
واقعو
ها
JIT، CO-RE
تصديق، JIT
غلطي جو پيغام
محدود مددگار
ڪيئن BPF باقاعده صارف يا ڪرنل ليول ڪوڊ کان مختلف آهي
AWS چيو Bottlerocket "هڪ آپريٽنگ ماڊل کي ملازمت ڏئي ٿو جيڪو سيڪيورٽي کي وڌيڪ وڌائيندو آهي ڪنيڪشن کي روڪڻ جي ذريعي انتظامي استحقاق سان پيداوار سرورز" ۽ "وڏي ورهايل سسٽم لاءِ مناسب آهي جتي هر فرد جي ميزبان تي ڪنٽرول محدود آهي."
سسٽم منتظمين لاءِ هڪ ايڊمنسٽريٽر ڪنٽينر فراهم ڪيو ويو آهي. پر AWS اهو نه ٿو سمجهي ته هڪ منتظم کي اڪثر Bottlerocket اندر ڪم ڪرڻ جي ضرورت پوندي: "هڪ الڳ Bottlerocket مثال ۾ لاگ ان ٿيڻ جو عمل غير معمولي عملن لاءِ آهي: ترقي يافته ڊيبگنگ ۽ مسئلو حل ڪرڻ،" ڊولپرز
زنگ آلود ٻولي
ڪرنل جي چوٽي تي OS اوزار گهڻو ڪري Rust ۾ لکيل آهي. هيءَ ٻولي پنهنجي فطرت مطابق آهي ، انهي سان گڏوگڏ .
جھنڊو ڊفالٽ طور لاڳو ڪيو ويندو آھي جڏھن تعمير --enable-default-pie и --enable-default-ssp قابل عمل فائلن جي ايڊريس اسپيس جي بي ترتيب ڪرڻ کي چالو ڪرڻ لاءِ (، PIE) ۽ اسٽيڪ اوور فلو تحفظ.
C/C++ پيڪيجز لاءِ، اضافي جھنڊا شامل آھن -Wall, -Werror=format-security, -Wp,-D_FORTIFY_SOURCE=2, -Wp,-D_GLIBCXX_ASSERTIONS и -fstack-clash-protection.
زنگ ۽ C/C ++ کان علاوه، ڪجهه پيڪيجز Go ۾ لکيل آهن.
AWS خدمتن سان انضمام
ساڳئي ڪنٽينر آپريٽنگ سسٽم کان فرق اهو آهي ته Amazon AWS تي هلائڻ ۽ ٻين AWS خدمتن سان ضم ٿيڻ لاءِ Bottlerocket کي بهتر ڪيو آهي.
سڀ کان وڌيڪ مشهور ڪنٽينر آرڪيسٽرٽر ڪبرنيٽس آهي، تنهنڪري AWS پنهنجي انٽرپرائز ڪبرنيٽس سروس (EKS) سان انضمام متعارف ڪرايو آهي. آرڪيسٽريشن جا اوزار هڪ الڳ ڪنٽرول ڪنٽينر ۾ ايندا آهن ، جيڪو ڊفالٽ طور فعال ڪيو ويو آهي ۽ API ۽ AWS SSM ايجنٽ ذريعي منظم ڪيو ويو آهي.
اهو ڏسڻ لاء دلچسپ ٿيندو ته ڇا Bottlerocket بند ڪري ٿو، ماضي ۾ ڪجهه ساڳئي شروعاتن جي ناڪامي ڏني وئي. مثال طور، Vmware کان PhotonOS اڻڄاتل ٿي ويو، ۽ ريڊ هٽ خريد ڪيو CoreOS ۽ ، جنهن کي ميدان ۾ هڪ علمبردار سمجهيو ويندو هو.
AWS خدمتن ۾ Bottlerocket جي انضمام هن سسٽم کي پنهنجي طريقي سان منفرد بڻائي ٿو. اهو شايد بنيادي سبب آهي ڇو ته ڪجهه صارفين کي ترجيح ڏئي سگهي ٿو Bottlerocket ٻين distros جهڙوڪ CoreOS يا Alpine. سسٽم شروعاتي طور تي EKS ۽ ECS سان ڪم ڪرڻ لاءِ ٺهيل آهي، پر اسين ورجائيندا آهيون ته اهو ضروري ناهي. پهريون، Bottlerocket ڪري سگهو ٿا ۽ ان کي استعمال ڪريو، مثال طور، ميزبان حل جي طور تي. ٻيو، EKS ۽ ECS صارفين کي اڃا تائين انهن جي او ايس چونڊڻ جي صلاحيت هوندي.
Bottlerocket سورس ڪوڊ GitHub تي Apache 2.0 لائسنس تحت شايع ٿيل آهي. ڊولپرز اڳ ۾ ئي آهن .
اشتهارن جي حقن تي
وي ڊي سينا پيش آيون . ڪنهن به آپريٽنگ سسٽم کي انسٽال ڪرڻ ممڪن آهي، بشمول توهان جي پنهنجي تصوير مان. هر سرور 500 Megabits جي انٽرنيٽ چينل سان ڳنڍيل آهي ۽ مفت ۾ DDoS حملن کان محفوظ آهي!
جو ذريعو: www.habr.com
