Bottlerocket 1.2 kaleratzea, ontzi isolatuetan oinarritutako banaketa

Bottlerocket 1.2.0 Linux banaketaren bertsioa eskuragarri dago, Amazon-en parte-hartzearekin garatua edukiontzi isolatuen abiarazte eraginkor eta segurua lortzeko. Banaketaren tresnak eta kontrol osagaiak Rust-en idatzita daude eta MIT eta Apache 2.0 lizentzien arabera banatzen dira. Bottlerocket exekutatzen onartzen du Amazon ECS, VMware eta AWS EKS Kubernetes klusterretan, baita edukiontzietarako orkestrazio eta exekuziorako hainbat tresna erabiltzeko aukera ematen duten eraikuntza eta edizio pertsonalizatuak sortzea ere.

Banaketak atomikoki eta automatikoki eguneratutako sistemaren irudi banaezina eskaintzen du, Linux nukleoa eta sistema gutxieneko ingurunea barne hartzen dituena, edukiontziak exekutatzeko beharrezkoak diren osagaiak soilik barne. Inguruneak systemd sistema-kudeatzailea, Glibc liburutegia, Buildroot eraikitzeko tresna, GRUB abiarazte-kargatzailea, sare-konfiguratzaile gaiztoa, edukiontzi isolatuen edukiontzien exekuzio-denbora, Kubernetes edukiontzien orkestrazio plataforma, aws-iam-authenticator eta Amazon biltzen ditu. ECS agentea.

Edukiontziak orkestratzeko tresnak kudeatzeko edukiontzi bereizi batean datoz, lehenespenez gaituta dagoena eta APIaren eta AWS SSM Agentearen bidez kudeatzen dena. Oinarrizko irudiak komando-shell, SSH zerbitzaria eta interpretatutako hizkuntzak ez ditu (adibidez, Python edo Perl ez) - administrazio-tresnak eta arazketa-tresnak zerbitzu-edukiontzi bereizi batean jartzen dira, lehenespenez desgaituta dagoena.

Fedora CoreOS, CentOS/Red Hat Atomic Host bezalako antzeko banaketekiko aldea funtsezkoa da segurtasun handiena eskaintzea mehatxu posibleetatik sistemaren babesa indartzeko testuinguruan, sistema eragilearen osagaien ahuleziak ustiatzea eta edukiontzien isolamendua areagotzea zailagoa bihurtuz. . Edukiontziak Linux nukleoaren mekanismo estandarrak erabiliz sortzen dira - cgroups, namespaces eta seccomp. Isolamendu gehigarrirako, banaketak SELinux erabiltzen du "betearazteko" moduan.

Erro-partizioa irakurtzeko soilik muntatzen da, eta /etc settings partizioa tmpfs-en muntatzen da eta berrabiarazi ondoren jatorrizko egoerara berrezartzen da. /etc direktorioko fitxategiak zuzenean aldatzea, hala nola /etc/resolv.conf eta /etc/containerd/config.toml, ez da onartzen; ezarpenak betiko gordetzeko, APIa erabili behar duzu edo funtzionalitatea edukiontzi bereizietara eraman behar duzu. dm-verity modulua erro-partizioaren osotasuna kriptografikoki egiaztatzeko erabiltzen da, eta bloke gailu mailan datuak aldatzeko saiakera bat hautematen bada, sistema berrabiarazi egiten da.

Sistemaren osagai gehienak Rust-en idatzita daude, eta horrek memoriarako seguruak diren funtzioak eskaintzen ditu, memoria librearen ondorengo sarbideek, erakusle nuluen deserreferentziak eta buffer gainditzeak eragindako ahultasunak saihesteko. Lehenespenez eraikitzen denean, "-enable-default-pie" eta "-enable-default-ssp" konpilazio moduak erabiltzen dira fitxategi exekutagarriaren helbide-espazioa (PIE) ausazko aukeratzeko eta pila-gainetik babesteko kanariar ordezkapenaren bidez. C/C++-n idatzitako paketeetarako, "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" eta "-fstack-clash" markak ere badira. gaituta - babesa".

Argitalpen berrian:

  • Edukiontzien irudien erregistroko ispiluetarako euskarria gehitu da.
  • Norberak sinatutako ziurtagiriak erabiltzeko gaitasuna gehitu da.
  • Ostalari-izena konfiguratzeko aukera gehitu da.
  • Administrazio-edukiontziaren bertsio lehenetsia eguneratu da.
  • TopologyManagerPolicy eta topologyManagerScope ezarpenak gehitu dira kubelet-erako.
  • Nukleoaren konpresioaren laguntza gehitu da zstd algoritmoa erabiliz.
  • Makina birtualak VMware-n kargatzeko aukera ematen da OVA (Open Virtualization Format) formatuan.
  • Banaketa bertsioa aws-k8s-1.21 eguneratu da Kubernetes 1.21 laguntzarekin. aws-k8s-1.16 laguntza eten egin da.
  • Rust hizkuntzarako paketeen bertsio eta mendekotasun eguneratuak.

Iturria: opennet.ru

Gehitu iruzkin berria