ĂshtĂ« i disponueshĂ«m lĂ«shimi i distribucionit Linux Bottlerocket 1.2.0, i zhvilluar nĂ« bashkĂ«punim me kompaninĂ« Amazon pĂ«r tĂ« drejtuar nĂ« mĂ«nyrĂ« efikase dhe tĂ« sigurt kontejnerĂ«t e izoluar. Veglat dhe komponentĂ«t menaxhuese tĂ« distribucionit janĂ« shkruar nĂ« gjuhĂ«n Rust dhe shpĂ«rndahen nĂ«n licencat MIT dhe Apache 2.0. Bottlerocket mbĂ«shtet ekzekutimin nĂ« klasteret Amazon ECS, VMware dhe AWS EKS Kubernetes, si dhe krijimin e ndĂ«rtimĂ«ve dhe redaksive tĂ« ndryshme qĂ« lejojnĂ« pĂ«rdorimin e veglave tĂ« orkestrimit dhe runtime pĂ«r kontejnerĂ«t.
Ky distribucion ofron një imazh sistemik të pandarë dhe automatikisht të përditësuar, që përfshin bërthamën Linux dhe një mjedis minimal sistemi, duke përfshirë vetëm komponentët e nevojshëm për funksionimin e kontejnerëve. Në mjedis përdoren menaxheri i sistemit systemd, biblioteka Glibc, instrumenti i ndërtimit Buildroot, ngarkuesi GRUB, konfiguruesi i rrjetit wicked, runtime për kontejnerët e izoluar containerd, platforma e orkestrimit të kontejnerëve Kubernetes, autentifikuesi aws-iam-authenticator dhe agjenti Amazon ECS.
Instrumentet për orkestrimin e kontejnerëve ofrohen në një kontejner menaxhues të veçantë, i cili aktivizohet automatikisht dhe menaxhohet përmes API dhe AWS SSM Agent. Në imazhin bazë mungon shell-i komandues, server SSH dhe gjuhët e interpretuara (p.sh., nuk ka Python ose Perl) - mjetet për administratorin dhe mjetet e diagnostikimit janë transferuar në një kontejner shërbimi të veçantë, i cili është automatikisht i çaktivizuar.
Dallimi kryesor nga distribucionet e ngjashme, si Fedora CoreOS, CentOS/Red Hat Atomic Host është orientimi inicial për të ofruar siguri maksimale në kontekstin e forcuar të mbrojtjes së sistemit nga kërcënimet e mundshme, komplikuar shpëtimin e dobësive në komponentët e OS dhe rritur izolimin e kontejnerëve. Kontejnerët krijohen duke përdorur mekanizmat standard të bërthamës Linux - cgroups, hapsira emrash dhe seccomp. Për izolim shtesë, në distribucion aplikohet SELinux në modalitetin 'enforcing'.
Particioni kryesor montablet nĂ« mĂ«nyrĂ« vetĂ«m pĂ«r lexim dhe pjesa me konfigurimet /etc montablet nĂ« tmpfs dhe rikthen gjendjen e saj origjinale pas rinisjes. Ndryshimi direkt i skedarĂ«ve nĂ« katalogun /etc, siç janĂ« /etc/resolv.conf dhe /etc/containerd/config.toml, nuk mbĂ«shtetet â pĂ«r ruajtjen e pĂ«rhershme tĂ« konfigurimeve, duhet tĂ« pĂ«rdoret API ose tĂ« nxirret funksionaliteti nĂ« kontenierĂ« tĂ« veçantĂ«. PĂ«r verifikimin kriptografik tĂ« integritetit tĂ« ndarjes kryesore, Ă«shtĂ« angazhuar moduli dm-verity, dhe nĂ« rast se identifikohen pĂ«rpjekje pĂ«r tĂ« modifikuar tĂ« dhĂ«nat nĂ« nivelin e pajisjes bllokuese, sistemi ri-nishet.
Shumica e komponentëve sistemikë janë shkruar në gjuhën Rust, e cila ofron mjete për menaxhimin e sigurt të memories, duke evituar dobësi që shkaktohen nga referencat në hapësirën e memories pas lirimit të saj, dereferenca e treguesve null dhe dalja jashtë kufijve të buferave. Gjatë ndërtimit, në mënyrë default aplikohen mënyrat e kompilimit "--enable-default-pie" dhe "--enable-default-ssp" për të përfshirë randomizimin e hapësirës adresore të skedarëve ekzekutivë (PIE) dhe mbrojtjen nga mbushja e stack-ut përmes zëvendësimit të shenjave të kanarëve. Për paketat e shkruara në gjuhët C/C++, shtohen gjithashtu flamujt "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" dhe "-fstack-clash-protection".
NĂ« versionin e ri:
- Shtuar mbështetje për pasqyrat e regjistrave të imazheve të kontejnerëve.
- Shtuar mundësia e përdorimit të certifikatave të vetë-nënshkruara.
- Shtuar një parametr për konfigurimin e emrit të hostit.
- Përditësuar versioni i kontejnerit administrativ që ofrohet si parazgjedhje.
- Shtuar konfigurimet topologyManagerPolicy dhe topologyManagerScope për kubelet.
- Shtuar mbështetje për tkurrjen e kernelit përmes algoritmit zstd.
- Ofruar mundësinë e ngarkimit në VMware makinat virtuale në formatin OVA (Open Virtualization Format).
- PĂ«rditĂ«suar variantin e distribucionit aws-k8s-1.21 me mbĂ«shtetje pĂ«r Kubernetes 1.21. ĂshtĂ« ndĂ«rprerĂ« mbĂ«shtetje pĂ«r aws-k8s-1.16.
- Janë përditësuar versionet e paketave dhe varësive për gjuhën Rust.
Burimi: opennet.ru
