Amazon Bottlerocket 1.0.0-ро нашр мекунад, ки дистрибюсияи Linux дар асоси контейнерҳои ҷудошуда мебошад

Амазонки муаррифӣ кард аввалин нашри муҳими тақсимоти бахшидашудаи Linux Ботлерокет 1.0.0, ки барои самаранок ва бехатар идора кардани контейнерҳои ҷудошуда пешбинӣ шудааст. Асбобҳо ва ҷузъҳои идоракунии тақсимот дар Rust ва навишта шудаанд паҳн шудан дар доираи иҷозатномаҳои MIT ва Apache 2.0. Лоиҳа дар GitHub таҳия шуда истодааст ва барои иштироки аъзоёни ҷомеа дастрас аст. Тасвири густариши система барои меъмории x86_64 ва Aarch64 тавлид мешавад. OS барои кор кардан дар кластерҳои Amazon ECS ва AWS EKS Kubernetes мутобиқ карда шудааст. таъмин карда мешаванд асбобҳо барои эҷоди маҷлисҳо ва нашрҳои шахсии шумо, ки метавонанд дигар асбобҳои оркестрсозӣ, ядроҳо ва вақти корӣ барои контейнерҳоро истифода баранд.

Тақсим ядрои Linux ва муҳити ҳадди ақали системаро таъмин мекунад, аз ҷумла танҳо ҷузъҳои зарурӣ барои идора кардани контейнерҳо. Дар байни бастаҳое, ки дар лоиҳа иштирок мекунанд, менеҷери система systemd, китобхонаи Glibc ва асбобҳои васлкунӣ мебошанд
Buildroot, боркунаки GRUB, конфигуратори шабака бад, вақти кор барои контейнерҳои ҷудошуда контейнер, платформаи оркестри контейнерии Kubernetes, aws-iam-authenticator ва агенти Amazon ECS.

Тақсим ба таври атомӣ нав карда мешавад ва дар шакли тасвири тақсимнашавандаи система оварда мешавад. Барои система ду қисмҳои диск ҷудо карда шудаанд, ки яке аз онҳо системаи фаъолро дар бар мегирад ва навсозӣ ба дуюмаш нусхабардорӣ карда мешавад. Пас аз ҷойгиркунии навсозӣ, қисмати дуюм фаъол мешавад ва дар якум, то омадани навсозии навбатӣ, версияи қаблии система захира карда мешавад, ки дар сурати пайдо шудани мушкилот шумо метавонед ба он баргардед. Навсозиҳо ба таври худкор бе дахолати администратор насб карда мешаванд.

Тафовути калидӣ аз тақсимоти шабеҳ ба монанди Fedora CoreOS, CentOS/Red Hat Atomic Host тамаркузи аввалиндараҷаи таъминот мебошад. ҳадди амният дар заминаи таҳкими ҳифзи система аз таҳдидҳои эҳтимолӣ, душвортар кардани истифодаи осебпазирӣ дар ҷузъҳои ОС ва зиёд кардани изолятсияи контейнерҳо. Контейнерҳо бо истифода аз механизмҳои стандартии ядрои Linux - cgroups, namespaces ва seccomp сохта мешаванд. Барои изолятсияи иловагӣ, тақсимот SELinux-ро дар реҷаи "иҷозат" истифода мебарад ва модул барои тасдиқи криптографии якпорчагии қисмати реша истифода мешавад. дм-хакикат. Агар кӯшиши тағир додани маълумот дар сатҳи дастгоҳи блок ошкор карда шавад, система аз нав оғоз мешавад.

Қисмати реша танҳо барои хондан васл карда мешавад ва қисмати танзимоти /etc дар tmpfs насб карда мешавад ва пас аз бозоғозӣ ба ҳолати аслии худ барқарор карда мешавад. Тағироти мустақими файлҳо дар феҳристи /etc, ба монанди /etc/resolv.conf ва /etc/containerd/config.toml дастгирӣ намешавад - барои ба таври доимӣ нигоҳ доштани танзимот, шумо бояд API-ро истифода баред ё функсияро ба контейнерҳои алоҳида интиқол диҳед.

Аксари ҷузъҳои система дар Rust навишта шудаанд, ки хусусиятҳои бехатарии хотираро барои пешгирӣ кардани осебпазирӣ дар натиҷаи дастрасии пас аз хотираи хотира, истинодҳои нул нишондиҳанда ва изофаи буфер таъмин мекунад. Ҳангоми сохтан аз рӯи нобаёнӣ, режимҳои компиляцияи “--enable-default-pie” ва “--enable-default-ssp” барои фаъолсозии тасодуфии фазои суроғаи файлҳои иҷрошаванда истифода мешаванд (ПОЁД) ва ҳифзи изофабори стек тавассути ивазкунии канария.
Барои бастаҳое, ки дар C/C++ навишта шудаанд, парчамҳои иловагӣ дохил карда мешаванд
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" ва "-fstack-clash-protection".

Асбобҳои оркестри контейнерӣ алоҳида дода мешаванд контейнери назоратӣ, ки бо нобаёнӣ фаъол аст ва тавассути назорат API ва агенти AWS SSM. Тасвири асосӣ қабати фармон, сервери SSH ва забонҳои тафсиршуда надорад (масалан, Python ё Perl нест) - абзорҳои маъмурӣ ва абзорҳои ислоҳкунӣ дар контейнери хидматрасонии алоҳида, ки бо нобаёнӣ ғайрифаъол аст.

Манбаъ: opennet.ru

Илова Эзоҳ