د لینوکس لږترلږه توزیع، Bottlerocket، د کانټینرونو چلولو لپاره خپور شوی. د هغه په ​​​​اړه تر ټولو مهمه خبره

د لینوکس لږترلږه توزیع، Bottlerocket، د کانټینرونو چلولو لپاره خپور شوی. د هغه په ​​​​اړه تر ټولو مهمه خبره

د ایمیزون شرکت اعلان وکړ د وروستي خوشې کیدو په اړه بوتلرکیټ - د کانټینرونو چلولو او په مؤثره توګه د دوی اداره کولو لپاره ځانګړی توزیع.

Bottlerocket (په لاره کې، د کوچني کور جوړ شوي تور پوډر راکټونو ته ورکړل شوی نوم) د کانټینرونو لپاره لومړی OS نه دی، مګر احتمال لري چې دا به د AWS خدماتو سره د ډیفالټ ادغام له امله پراخه شي. که څه هم سیسټم د ایمیزون کلاوډ باندې متمرکز دی ، د خلاصې سرچینې کوډ دې ته اجازه ورکوي چې هرچیرې رامینځته شي: په محلي ډول په سرور کې ، په راسبیري پای کې ، په هر سیالي بادل کې ، او حتی په کانټینر چاپیریال کې.

دا د CoreOS توزیع لپاره په بشپړ ډول د پام وړ بدیل دی چې ریډ هیټ ښخ کړی.

په حقیقت کې ، د ایمیزون ویب خدماتو څانګه دمخه د ایمیزون لینکس لري ، کوم چې پدې وروستیو کې په دویمه نسخه کې راپورته شوی: دا د عمومي هدف توزیع دی چې په ډاکر کانټینر کې یا د لینکس KVM ، مایکروسافټ هایپر-V ، او VMware سره پرمخ وړل کیدی شي. ESXi hypervisors. دا د AWS کلاوډ چلولو لپاره مطلوب و، مګر د Bottlerocket خوشې کولو سره، هرڅوک هڅول کیږي چې نوي سیسټم ته وده ورکړي چې ډیر خوندي، عصري وي، او لږې سرچینې کاروي.

AWS Bottlerocket اعلان کړ په مارچ 2020 کې. هغې سمدلاسه ومنله چې دا لومړی "د کانټینرونو لپاره لینکس نه دی ،" د CoreOS ، Rancher OS او Project Atomic د الهام سرچینې په توګه حواله کوي. پراختیا کونکو لیکلي چې عملیاتي سیسټم "د هغه درسونو پایله ده چې موږ د اوږدې مودې لپاره د ایمیزون په پیمانه د تولید خدماتو چلولو څخه زده کړل، او هغه تجربه چې موږ په تیرو شپږو کلونو کې د کانټینرونو چلولو په اړه ترلاسه کړې."

خورا minimalism

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

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

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

سیسټم په دوه لارو اداره کیږي: د API او آرکیسټریشن له لارې.

د بسته بندۍ مدیر پرځای چې د سافټویر انفرادي ټوټې تازه کوي، Bottlerocket د بشپړ فایل سیسټم عکس ډاونلوډ کوي او په هغې کې ریبوټ کوي. که یو بار ناکام شي، دا په اتوماتيک ډول بیرته راګرځي، او د کار بار ناکامي کولی شي په لاسي ډول رول بیک پیل کړي (د API له لارې قوماندې).

چوکاټ TUF (د تازه کولو چوکاټ) بدیل یا "غیر نصب شوي" برخو ته د عکس پراساس تازه معلومات ډاونلوډ کوي. د سیسټم لپاره دوه ډیسک برخې تخصیص شوي، چې یو یې فعال سیسټم لري، او تازه یې دویم ته کاپي شوی. په دې حالت کې، د روټ ویش یوازې د لوستلو حالت کې نصب شوی، او ویش /etc په RAM کې د فایل سیسټم سره نصب شوی tmpfs او د بیا پیل کولو وروسته اصلي حالت بیرته راولي. د ترتیب کولو فایلونو مستقیم تعدیل /etc نه ملاتړ شوی: د تنظیماتو خوندي کولو لپاره تاسو باید API وکاروئ یا فعالیت په جلا کانټینرونو کې حرکت وکړئ.

د لینوکس لږترلږه توزیع، Bottlerocket، د کانټینرونو چلولو لپاره خپور شوی. د هغه په ​​​​اړه تر ټولو مهمه خبره
د API تازه کولو سکیم

امنیت

کانټینرونه د لینکس کرنل د معیاري میکانیزمونو لخوا رامینځته شوي - cgroups، namespaces او seccomp، او د جبري لاسرسي کنټرول سیسټم په توګه کارول کیږي، دا د اضافي جلا کولو لپاره دی. SELinux د "تطبيق" حالت کې.

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

د "تصدیق شوي بوټ" حالت د وسیلې - میپر - حقیقت فعالیت له لارې پلي کیږي (dm-حقیقت)، کوم چې د بوټ پر مهال د ریښې برخې بشپړتیا چک کوي. AWS د dm-verity په توګه تشریح کوي "د لینکس کرنل یوه ځانګړتیا چې د OS کې د مالویر د چلولو څخه مخنیوي لپاره د بشپړتیا چک چمتو کوي، لکه د اصلي سیسټم سافټویر بیا لیکل."

په سیسټم کې یو فلټر هم شتون لري eGMP غزول شوی BPF د Alexey Starovoitov لخوا رامینځته شوی)، کوم چې د کرنل ماډلونو ته اجازه ورکوي چې د ټیټې کچې سیسټم عملیاتو لپاره د نورو خوندي BPF برنامو سره ځای په ځای شي.

د اعدام ماډل
کارن تعریف شوی
تالیف
امنیت
د ناکامۍ حالت
سرچینو ته لاسرسی

کارن
دنده
هو
کوم
د کارونکي حقونه
په اجرا کې خنډ
د سیسټم کال، غلطی

کور
دنده
نه
جامد
نه
د کرنل ډار
نيغه

BPF
پیښه
هو
JIT، CO-RE
تایید، JIT
د خطا پیغام
محدود مرستندویان

BPF څنګه د منظم کارونکي یا د کرنل کچې کوډ څخه توپیر لري سرچینه

AWS وویل Bottlerocket "یو عملیاتي ماډل استخدام کوي چې د اداري امتیازاتو سره د تولید سرورونو سره د پیوستون مخه نیولو سره امنیت ته وده ورکوي" او "د لوی توزیع شوي سیسټمونو لپاره مناسب دی چیرې چې د هر انفرادي کوربه کنټرول محدود دی."

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

د زنګ ژبه

د کرنل په پورتنۍ برخه کې د OS وسیله اکثره په زنګ کې لیکل شوي. دا ژبه د خپل طبیعت له مخې ده د غیر خوندي حافظې لاسرسي احتمال کموياو همدارنګه د تارونو ترمینځ د نسل شرایط له مینځه وړي.

بیرغونه د جوړیدو په وخت کې د ډیفالټ لخوا پلي کیږي --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 خدماتو سره یوځای کول

د ورته کانټینر عملیاتي سیسټمونو توپیر دا دی چې ایمیزون د AWS چلولو او د نورو AWS خدماتو سره مدغم کولو لپاره Bottlerocket غوره کړی.

ترټولو مشهور کانټینر آرکیسټرټر کوبرنیټس دی، نو AWS د خپل انټرپریس کبرنیټ خدمت (EKS) سره ادغام معرفي کړی. د آرکیسټریشن وسایل په جلا کنټرول کانټینر کې راځي bottlerocket-control-container، کوم چې د ډیفالټ لخوا فعال شوی او د API او AWS SSM اجنټ له لارې اداره کیږي.

دا به په زړه پوري وي چې وګورو چې ایا بوتلراکټ په تیرو وختونو کې د ورته ورته نوښتونو ناکامۍ په پام کې نیولو سره پیل کیږي. د مثال په توګه، د Vmware څخه PhotonOS غیر ادعا شوی و، او RedHat CoreOS اخیستی پروژه بنده کړه، چې په ساحه کې مخکښ ګڼل کیده.

د AWS خدماتو کې د Bottlerocket ادغام دا سیسټم په خپله طریقه ځانګړی کوي. دا شاید اصلي دلیل وي چې ولې ځینې کاروونکي ممکن د نورو ډیسټرو لکه CoreOS یا Alpine په پرتله بوتلروکټ غوره کړي. سیسټم په پیل کې د EKS او ECS سره کار کولو لپاره ډیزاین شوی، مګر موږ بیا تکرار کوو چې دا اړین ندي. لومړی، Bottlerocket کولی شي خپل ځان سره راټول کړئ او دا د مثال په توګه، د کوربه حل په توګه وکاروئ. دوهم، د EKS او ECS کاروونکي به لاهم د دې وړتیا ولري چې خپل OS غوره کړي.

د Bottlerocket سرچینې کوډ په GitHub کې د اپاچي 2.0 جواز لاندې خپور شوی. پرمخ وړونکي لا دمخه لري د بګ راپورونو او فیچر غوښتنو ته ځواب ووایی.

د اعلاناتو حقونه

د ‏‎VDSina وړاندیزونه VDS د ورځني تادیې سره. دا ممکنه ده چې هر عملیاتي سیسټم نصب کړئ، په شمول ستاسو د خپل عکس څخه. هر سرور د 500 میګابایټ انټرنیټ چینل سره وصل دی او د DDoS بریدونو څخه وړیا خوندي دی!

د لینوکس لږترلږه توزیع، Bottlerocket، د کانټینرونو چلولو لپاره خپور شوی. د هغه په ​​​​اړه تر ټولو مهمه خبره

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

Add a comment