Ho lokolloa ha Bottlerocket 1.1, kabo e thehiloeng ho lijana tse ka thoko

Ho lokolloa ha kabo ea Linux Bottlerocket 1.1.0 e teng, e ntlafalitsoeng ka ho nka karolo ha Amazon bakeng sa ho qala ts'ebetso e ntle le e sireletsehileng ea lijana tse ka thoko. Lisebelisoa tsa kabo le likarolo tsa taolo li ngotsoe ka Rust mme li ajoa tlasa laesense ea MIT le Apache 2.0. E ts'ehetsa ho tsamaisa Bottlerocket ho lihlopha tsa Amazon ECS le AWS EKS Kubernetes, hammoho le ho theha meaho le likhatiso tse lumellang ts'ebeliso ea lisebelisoa tse fapaneng tsa 'mino oa liletsa le nako ea ho sebetsa bakeng sa lijana.

Kabo e fana ka setšoantšo sa sistimi e sa bonahaleng e ntlafalitsoeng ka mokhoa oa atomo le ka boiketsetso e kenyelletsang Linux kernel le tikoloho e nyane ea sistimi, ho kenyeletsoa feela likarolo tse hlokahalang ho tsamaisa lijana. Tikoloho e kenyelletsa mookameli oa tsamaiso ea tsamaiso, laebrari ea Glibc, sesebelisoa sa ho haha ​​​​Buildroot, GRUB bootloader, configurator e khopo ea marang-rang, nako ea ho qeta lijana tse ka thōko, sethala sa 'mino oa li-container tsa Kubernetes, aws-iam-authenticator, le Amazon. Moemeli oa ECS.

Lisebelisoa tsa 'mino oa li-container li tla ka har'a setshelo sa taolo se arohaneng se nolofalitsoeng ka boiketsetso le ho laoloa ke API le AWS SSM Agent. Setšoantšo sa motheo ha se na khetla ea litaelo, seva sa SSH le lipuo tse tolokiloeng (mohlala, ha ho na Python kapa Perl) - lisebelisoa tsa tsamaiso le lisebelisoa tsa ho lokisa li behiloe ka har'a setshelo sa tšebeletso se arohaneng, se holofetseng ka ho sa feleng.

Phapang ea bohlokoa ho tsoa ho liphaello tse tšoanang tse kang Fedora CoreOS, CentOS / Red Hat Atomic Host ke sepheo sa mantlha sa ho fana ka ts'ireletso e phahameng molemong oa ho matlafatsa ts'ireletso ea sistimi ho tsoa lits'osong tse ka bang teng, ho etsa hore ho be thata le ho feta ho sebelisa bofokoli likarolong tsa OS le ho eketsa ho itšehla thajana. . Lijana li entsoe ho sebelisoa mekhoa e tloaelehileng ea Linux kernel - lihlopha, libaka tsa mabitso le seccomp. Bakeng sa ho itšehla thajana ho eketsehileng, kabo e sebelisa SELinux ka mokhoa oa "ho qobella".

Karolo ea motso e behiloe feela, 'me karohano ea /etc e kenngoa ka har'a tmpfs' me e khutlisetsoa boemong ba eona ba pele ka mor'a ho qala bocha. Phetoho e tobileng ea lifaele ho / joalo-joalo, joalo ka /etc/resolv.conf le /etc/containerd/config.toml, ha e tšehetsoe - ho boloka litlhophiso ka ho sa feleng, o tlameha ho sebelisa API kapa ho tsamaisa ts'ebetso ho lijaneng tse arohaneng. Mojule oa dm-verity o sebelisetsoa ho netefatsa ka mokhoa o hlakileng botšepehi ba karohano ea motso, 'me haeba teko ea ho fetola data boemong ba sesebelisoa sa block e fumanoa, sistimi e qala hape.

Likarolo tse ngata tsa sistimi li ngotsoe ka Rust, e fanang ka likarolo tse bolokehileng mohopolong ho qoba likotsi tse bakiloeng ke phihlello ea mahala ea memori, litšupiso tse se nang letho, le li-buffer overruns. Ha ho hahoa ka mokhoa o ikhethileng, mekhoa ea ho bokella "-enable-default-pie" le "-enable-default-ssp" e sebelisoa ho nolofalletsa sebaka sa aterese ea faele e sebetsang (PIE) le ts'ireletso khahlanong le ho phalla ha stack ka ho kenya sebaka sa canary. Bakeng sa liphutheloana tse ngotsoeng ka C/C++, lifolakha “-Wall”, “-Werror=format-security”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” le “-fstack-clash” li teng. nolofalloa - tshireletso".

Tokollong e ncha:

  • Likhetho tse peli tse ncha tsa kabo ea aws-k8s-1.20 le vmware-k8s-1.20 ka tšehetso ea Kubernetes 1.20 li hlahisitsoe. Mefuta ena, hammoho le mofuta o ntlafalitsoeng oa aws-ecs-1, o sebelisa tokollo e ncha ea Linux kernel 5.10. Mokhoa oa ho koala o behiloe ho "botšepehi" ka ho sa feleng (bokhoni bo lumellang hore liphetoho li etsoe kernel e tsoang sebakeng sa mosebelisi li koetsoe). Tšehetso ea mofuta oa aws-k8s-1.15 e thehiloeng ho Kubernetes 1.15 e khaotsoe.
  • Amazon ECS e ts'ehetsa mokhoa oa marang-rang oa awsvpc, o u lumellang hore u fane ka likhokahano tse arohaneng tsa marang-rang le liaterese tsa IP tsa kahare bakeng sa mosebetsi ka mong.
  • Litlhophiso tse ekelitsoeng ho laola liparamente tse fapaneng tsa Kubernetes, ho kenyeletsoa QPS, meeli ea letamo, le bokhoni ba ho hokela ho bafani ba maru ntle le AWS.
  • Sesebelisoa sa bootstrap se fana ka thibelo ea phihlello ea data ea mosebelisi o sebelisa SELinux.
  • E kenyellelitse lisebelisoa tsa resize2fs.

Source: opennet.ru

Eketsa ka tlhaloso