Kompanya sa Amazon
Ang Bottlerocket (sa paagi, ang ngalan nga gihatag sa gagmay nga mga homemade black powder rocket) dili ang una nga OS alang sa mga sudlanan, apan lagmit nga kini mahimong kaylap salamat sa default nga panagsama sa mga serbisyo sa AWS. Bisan tuod ang sistema naka-focus sa Amazon cloud, ang open source code nagtugot niini nga matukod bisan asa: lokal sa server, sa Raspberry Pi, sa bisan unsang kakompetensya nga panganod, ug bisan sa walay container nga palibot.
Kini usa ka hingpit nga takus nga kapuli sa pag-apod-apod sa CoreOS nga gilubong sa Red Hat.
Sa tinuud, ang Amazon Web Services division aduna nay Amazon Linux, nga bag-o lang migawas sa ikaduha nga bersyon niini: kini usa ka kinatibuk-ang katuyoan nga pag-apod-apod nga mahimong ipadagan sa usa ka sudlanan sa Docker o sa Linux KVM, Microsoft Hyper-V, ug VMware. ESXi hypervisors. Gi-optimize kini nga modagan sa AWS cloud, apan sa pagpagawas sa Bottlerocket, ang tanan giawhag sa pag-upgrade sa usa ka bag-ong sistema nga mas luwas, moderno, ug naggamit og mas gamay nga mga kapanguhaan.
Gipahibalo sa AWS ang Bottlerocket
Grabe nga minimalism
Gikuha sa Linux ang tanan nga dili kinahanglan aron makadagan ang mga sudlanan. Kini nga disenyo, sumala sa kompanya, nagpamenos sa nawong sa pag-atake.
Nagpasabot kini nga mas diyutay nga mga pakete ang na-install sa base system, nga nagpasayon ββsa pagpadayon ug pag-update sa OS, ug gipamenos usab ang posibilidad sa mga problema tungod sa mga dependency, nga nagpamenos sa paggamit sa kapanguhaan. Sa panguna, ang tanan dinhi nagtrabaho sa sulod sa lainlaing mga sudlanan, ug ang nagpahiping sistema halos walaβy sulod.
Gitangtang usab sa Amazon ang tanan nga mga kabhang ug mga tighubad, nga giwagtang ang peligro nga magamit kini o ang mga tiggamit nga aksidente nga nagpadako sa mga pribilehiyo. Alang sa minimalism ug seguridad, ang base nga imahe wala maglakip sa usa ka command shell, usa ka SSH server, o gihubad nga mga pinulongan sama sa Python. Ang mga himan sa tigdumala gibutang sa usa ka separado nga sudlanan sa serbisyo, nga gibabagan pinaagi sa default.
Ang sistema gidumala sa duha ka paagi: pinaagi sa API ug orkestra.
Imbis usa ka manager sa package nga nag-update sa mga indibidwal nga piraso sa software, ang Bottlerocket nag-download sa usa ka kompleto nga imahe sa filesystem ug nag-reboot niini. Kung ang usa ka load mapakyas, kini awtomatik nga ibalik, ug ang usa ka workload failure mahimong mag-trigger sa rollback nga mano-mano (command pinaagi sa API).
Framework /etc
gitaod sa file system sa RAM /etc
dili suportado: aron matipigan ang mga setting kinahanglan nimo nga gamiton ang API o ibalhin ang gamit ngadto sa lain nga mga sudlanan.
Skema sa pag-update sa API
Kasegurohan
Ang mga sudlanan gihimo pinaagi sa standard nga mga mekanismo sa Linux kernel - cgroups, namespaces ug seccomp, ug gigamit isip usa ka pinugos nga access control system, nga mao, alang sa dugang nga pag-inusara.
Sa kasagaran, ang mga polisiya gipalihok sa pagpaambit sa mga kahinguhaan tali sa mga sudlanan ug sa kernel. Ang mga binary gipanalipdan sa mga bandila aron mapugngan ang mga tiggamit o mga programa sa pagpatuman niini. Ug kung ang usa makaadto sa file system, ang Bottlerocket nagtanyag usa ka himan aron masusi ug masubay ang bisan unsang mga pagbag-o nga nahimo.
Ang "verified boot" mode gipatuman pinaagi sa device-mapper-verity function (
Adunay usab usa ka filter sa sistema
Modelo sa pagpatuman
Gihubit sa tiggamit
Panagsama
Kasegurohan
Mode sa kapakyasan
Pag-access sa mga kapanguhaan
Gumagamit
ang buluhaton
oo
bisan unsa
katungod sa tiggamit
paghunong sa pagpatay
tawag sa sistema, sayup
Core
ang buluhaton
dili
static
dili
kernel kalisang
tul-id
Ang BPF
hitabo
oo
JIT, CO-RE
pamatuod, JIT
mensahe sa sayop
limitado nga mga katabang
Giunsa ang pagkalahi sa BPF gikan sa regular nga user o kernel level code
Ang AWS nag-ingon nga ang Bottlerocket "naggamit sa usa ka operating model nga dugang nga nagpalambo sa seguridad pinaagi sa pagpugong sa mga koneksyon sa mga server sa produksiyon nga adunay mga pribilehiyo sa administratibo" ug "angay alang sa dagkong gipang-apod-apod nga mga sistema diin ang kontrol sa matag indibidwal nga host limitado."
Ang usa ka tigdumala nga sudlanan gihatag alang sa mga tigdumala sa sistema. Apan ang AWS wala maghunahuna nga ang usa ka admin kanunay kinahanglan nga magtrabaho sa sulod sa Bottlerocket: "Ang aksyon sa pag-log in sa usa ka bulag nga pananglitan sa Bottlerocket gituyo alang sa dili kanunay nga mga operasyon: advanced debugging ug pag-troubleshoot,"
Rust nga pinulongan
Ang OS instrumentation sa ibabaw sa kernel kasagaran gisulat sa Rust. Kini nga pinulongan kay sa kinaiya niini
Ang mga bandera gigamit nga default kung nagtukod --enable-default-pie
ΠΈ --enable-default-ssp
aron mahimo ang randomization sa address space sa executable files (
Alang sa mga pakete sa C/C++, gilakip ang dugang nga mga bandila -Wall
, -Werror=format-security
, -Wp,-D_FORTIFY_SOURCE=2
, -Wp,-D_GLIBCXX_ASSERTIONS
ΠΈ -fstack-clash-protection
.
Gawas sa Rust ug C/C++, pipila ka mga pakete ang gisulat sa Go.
Paghiusa sa mga serbisyo sa AWS
Ang kalainan gikan sa susama nga mga operating system sa sudlanan mao nga ang Amazon nag-optimize sa Bottlerocket nga modagan sa AWS ug mahiusa sa ubang mga serbisyo sa AWS.
Ang labing inila nga container orchestrator mao ang Kubernetes, mao nga ang AWS nagpaila sa integrasyon sa kaugalingon nga Enterprise Kubernetes Service (EKS). Ang mga galamiton sa orkestrasyon moabut sa usa ka bulag nga sudlanan nga kontrol
Makapaikag nga tan-awon kung ang Bottlerocket molupad, tungod sa kapakyasan sa pipila nga parehas nga mga inisyatibo sa nangagi. Pananglitan, ang PhotonOS gikan sa Vmware nahimo nga wala maangkon, ug gipalit sa RedHat ang CoreOS ug
Ang paghiusa sa Bottlerocket sa mga serbisyo sa AWS naghimo niining sistema nga talagsaon sa kaugalingon nga paagi. Kini tingali ang panguna nga hinungdan ngano nga ang pipila nga mga tiggamit mahimong mas gusto ang Bottlerocket kaysa sa ubang mga distro sama sa CoreOS o Alpine. Ang sistema sa sinugdan gidisenyo aron magtrabaho kauban ang EKS ug ECS, apan gisubli namon nga dili kini kinahanglan. Una, mahimo ang Bottlerocket
Ang Bottlerocket source code gipatik sa GitHub ubos sa Apache 2.0 nga lisensya. Ang mga developers na
Diha sa Mga Katungod sa Pagdukiduki
VDSina nagtanyag
Source: www.habr.com