د ایمیزون شرکت
Bottlerocket (په لاره کې، د کوچني کور جوړ شوي تور پوډر راکټونو ته ورکړل شوی نوم) د کانټینرونو لپاره لومړی OS نه دی، مګر احتمال لري چې دا به د AWS خدماتو سره د ډیفالټ ادغام له امله پراخه شي. که څه هم سیسټم د ایمیزون کلاوډ باندې متمرکز دی ، د خلاصې سرچینې کوډ دې ته اجازه ورکوي چې هرچیرې رامینځته شي: په محلي ډول په سرور کې ، په راسبیري پای کې ، په هر سیالي بادل کې ، او حتی په کانټینر چاپیریال کې.
دا د CoreOS توزیع لپاره په بشپړ ډول د پام وړ بدیل دی چې ریډ هیټ ښخ کړی.
په حقیقت کې ، د ایمیزون ویب خدماتو څانګه دمخه د ایمیزون لینکس لري ، کوم چې پدې وروستیو کې په دویمه نسخه کې راپورته شوی: دا د عمومي هدف توزیع دی چې په ډاکر کانټینر کې یا د لینکس KVM ، مایکروسافټ هایپر-V ، او VMware سره پرمخ وړل کیدی شي. ESXi hypervisors. دا د AWS کلاوډ چلولو لپاره مطلوب و، مګر د Bottlerocket خوشې کولو سره، هرڅوک هڅول کیږي چې نوي سیسټم ته وده ورکړي چې ډیر خوندي، عصري وي، او لږې سرچینې کاروي.
AWS Bottlerocket اعلان کړ
خورا minimalism
لینکس د هر هغه څه څخه لیرې شوی چې د کانټینرونو چلولو ته اړتیا نلري. دا ډیزاین، د شرکت په وینا، د برید سطح کموي.
دا پدې مانا ده چې په بیس سیسټم کې لږ کڅوړې نصب شوي، کوم چې د OS ساتل او تازه کول اسانه کوي، او همدارنګه د انحصار له امله د ستونزو احتمال کموي، د سرچینو کارول کموي. اساسا ، دلته هرڅه په جلا کانټینرونو کې کار کوي ، او لاندې سیسټم په عملي ډول خلاص دی.
ایمیزون ټول شیلونه او ژباړونکي هم لرې کړي ، د دوی د کارولو خطر له مینځه وړي یا کارونکي په ناڅاپي ډول امتیازات زیاتوي. د لږترلږه او امنیت لپاره، د بیس انځور کې د کمانډ شیل، د SSH سرور، یا تشریح شوي ژبې لکه Python شامل نه دي. د مدیر وسیلې په جلا خدمت کانټینر کې ځای په ځای شوي ، کوم چې د ډیفالټ لخوا غیر فعال وي.
سیسټم په دوه لارو اداره کیږي: د API او آرکیسټریشن له لارې.
د بسته بندۍ مدیر پرځای چې د سافټویر انفرادي ټوټې تازه کوي، Bottlerocket د بشپړ فایل سیسټم عکس ډاونلوډ کوي او په هغې کې ریبوټ کوي. که یو بار ناکام شي، دا په اتوماتيک ډول بیرته راګرځي، او د کار بار ناکامي کولی شي په لاسي ډول رول بیک پیل کړي (د API له لارې قوماندې).
چوکاټ /etc
په RAM کې د فایل سیسټم سره نصب شوی /etc
نه ملاتړ شوی: د تنظیماتو خوندي کولو لپاره تاسو باید API وکاروئ یا فعالیت په جلا کانټینرونو کې حرکت وکړئ.
د API تازه کولو سکیم
امنیت
کانټینرونه د لینکس کرنل د معیاري میکانیزمونو لخوا رامینځته شوي - cgroups، namespaces او seccomp، او د جبري لاسرسي کنټرول سیسټم په توګه کارول کیږي، دا د اضافي جلا کولو لپاره دی.
د ډیفالټ په واسطه، پالیسۍ د کانټینرونو او کرنل ترمنځ د سرچینو شریکولو لپاره فعال شوي. بائنریز د بیرغونو سره ساتل کیږي ترڅو د کاروونکو یا برنامو له اجرا کولو څخه مخنیوی وکړي. او که یو څوک د فایل سیسټم ته ورسیږي، Bottlerocket یو وسیله وړاندې کوي چې کوم بدلونونه چک او تعقیب کړي.
د "تصدیق شوي بوټ" حالت د وسیلې - میپر - حقیقت فعالیت له لارې پلي کیږي (
په سیسټم کې یو فلټر هم شتون لري
د اعدام ماډل
کارن تعریف شوی
تالیف
امنیت
د ناکامۍ حالت
سرچینو ته لاسرسی
کارن
دنده
هو
کوم
د کارونکي حقونه
په اجرا کې خنډ
د سیسټم کال، غلطی
کور
دنده
نه
جامد
نه
د کرنل ډار
نيغه
BPF
پیښه
هو
JIT، CO-RE
تایید، JIT
د خطا پیغام
محدود مرستندویان
BPF څنګه د منظم کارونکي یا د کرنل کچې کوډ څخه توپیر لري
AWS وویل Bottlerocket "یو عملیاتي ماډل استخدام کوي چې د اداري امتیازاتو سره د تولید سرورونو سره د پیوستون مخه نیولو سره امنیت ته وده ورکوي" او "د لوی توزیع شوي سیسټمونو لپاره مناسب دی چیرې چې د هر انفرادي کوربه کنټرول محدود دی."
د سیسټم مدیرانو لپاره د مدیر کانټینر چمتو شوی. مګر AWS فکر نه کوي چې یو اډمین به اکثرا د Bottlerocket دننه کار کولو ته اړتیا ولري: "د جلا بوتلروکټ مثال کې د ننوتلو عمل د ناڅاپي عملیاتو لپاره دی: پرمختللي ډیبګ کول او د ستونزو حل کول،"
د زنګ ژبه
د کرنل په پورتنۍ برخه کې د OS وسیله اکثره په زنګ کې لیکل شوي. دا ژبه د خپل طبیعت له مخې ده
بیرغونه د جوړیدو په وخت کې د ډیفالټ لخوا پلي کیږي --enable-default-pie
и --enable-default-ssp
د اجرا وړ فایلونو د پته ځای تصادفي کولو وړ کول (
د 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) سره ادغام معرفي کړی. د آرکیسټریشن وسایل په جلا کنټرول کانټینر کې راځي
دا به په زړه پوري وي چې وګورو چې ایا بوتلراکټ په تیرو وختونو کې د ورته ورته نوښتونو ناکامۍ په پام کې نیولو سره پیل کیږي. د مثال په توګه، د Vmware څخه PhotonOS غیر ادعا شوی و، او RedHat CoreOS اخیستی
د AWS خدماتو کې د Bottlerocket ادغام دا سیسټم په خپله طریقه ځانګړی کوي. دا شاید اصلي دلیل وي چې ولې ځینې کاروونکي ممکن د نورو ډیسټرو لکه CoreOS یا Alpine په پرتله بوتلروکټ غوره کړي. سیسټم په پیل کې د EKS او ECS سره کار کولو لپاره ډیزاین شوی، مګر موږ بیا تکرار کوو چې دا اړین ندي. لومړی، Bottlerocket کولی شي
د Bottlerocket سرچینې کوډ په GitHub کې د اپاچي 2.0 جواز لاندې خپور شوی. پرمخ وړونکي لا دمخه لري
د اعلاناتو حقونه
د VDSina وړاندیزونه
سرچینه: www.habr.com