Bottlerocket 1.8 eskuragarri dago, ontzi isolatuetan oinarritutako banaketa

Bottlerocket 1.8.0 Linux banaketaren oharra argitaratu da, Amazon-en parte-hartzearekin garatua, isolatutako edukiontzien 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 edukiontzientzako 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:

  • Administrazio eta kontrol edukiontzien edukia eguneratu da.
  • Isolatutako edukiontzien exekuzioa edukiontzien 1.6.x adarrera eguneratu da.
  • Ziurtagirien biltegian aldaketak egin ondoren edukiontzien funtzionamendua koordinatzen duten atzeko planoko prozesuak berrabiaraziko direla ziurtatzen du.
  • Posible da nukleoaren abiarazte-parametroak ezartzea Boot Configuration atalean.
  • Dm-verity erabiliz erroko partizioaren osotasuna monitorizatzean bloke hutsak ez ikusiaraztea gaitu da.
  • /etc/hosts-en ostalari-izenak estatikoki lotzeko gaitasuna eman da.
  • Netdog utilitatea erabiliz sare konfigurazioa sortzeko gaitasuna eman da (generare-net-config komandoa gehitu da).
  • Kubernetes 1.23rako euskarria duten banaketa aukera berriak proposatu dira. Kubernetes-eko pods-en abiarazteko denbora murriztu da configMapAndSecretChangeDetectionStrategy modua desgaituta. Kubelet ezarpen berriak gehitu dira: provider-id eta podPidsLimit.
  • Amazon Elastic Container Service (Amazon ECS) "aws-ecs-1-nvidia" banaketa-kitaren bertsio berri bat proposatu da, NVIDIA kontrolatzaileekin hornitua.
  • Microchip Smart Storage eta MegaRAID SAS biltegiratze gailuetarako laguntza gehitu da. Broadcom txipetan Ethernet txartelen euskarria zabaldu da.
  • Go eta Rust hizkuntzetarako paketeen bertsio eta mendekotasun eguneratuak, baita hirugarrenen programak dituzten paketeen bertsioak ere. Bottlerocket SDK 0.26.0 bertsiora eguneratu da.

Iturria: opennet.ru

Gehitu iruzkin berria