Kumpanija Amazon
Bottlerocket (mill-mod, l-isem mogħti lil rokits żgħar tat-trab iswed magħmulin mid-dar) mhuwiex l-ewwel OS għall-kontenituri, iżda x'aktarx li se jsir mifrux grazzi għall-integrazzjoni default mas-servizzi AWS. Għalkemm is-sistema hija ffukata fuq is-sħaba tal-Amazon, il-kodiċi tas-sors miftuħ jippermetti li tinbena kullimkien: lokalment fuq server, fuq Raspberry Pi, fi kwalunkwe sħaba li tikkompeti, u anke f'ambjent mingħajr kontenitur.
Dan huwa sostitut kompletament denju għad-distribuzzjoni CoreOS li Red Hat midfuna.
Fil-fatt, id-diviżjoni Amazon Web Services diġà għandha Amazon Linux, li reċentement ħarġet fit-tieni verżjoni tagħha: hija distribuzzjoni għal skopijiet ġenerali li tista 'titħaddem f'kontenitur Docker jew bil-Linux KVM, Microsoft Hyper-V, u VMware Iperviżuri ESXi. Ġie ottimizzat biex jaħdem fuq il-sħab tal-AWS, iżda bir-rilaxx ta 'Bottlerocket, kulħadd huwa mħeġġeġ jaġġorna għal sistema ġdida li hija aktar sigura, moderna, u tuża inqas riżorsi.
AWS ħabbret Bottlerrocket
Minimaliżmu estrem
Linux huwa mqaxxar minn dak kollu li mhux meħtieġ biex imexxu l-kontenituri. Dan id-disinn, skont il-kumpanija, inaqqas il-wiċċ tal-attakk.
Dan ifisser li inqas pakketti huma installati fuq is-sistema bażi, li jagħmilha aktar faċli biex jinżamm u jaġġorna l-OS, u jnaqqas ukoll il-probabbiltà ta 'problemi minħabba dipendenzi, u jnaqqas l-użu tar-riżorsi. Bażikament, kollox hawn jaħdem ġewwa kontenituri separati, u s-sistema sottostanti hija prattikament vojta.
Amazon neħħiet ukoll il-qxur u l-interpreti kollha, u b'hekk eliminat ir-riskju li dawn jintużaw jew li l-utenti jżidu aċċidentalment il-privileġġi. Għall-fini tal-minimaliżmu u s-sigurtà, l-immaġni bażi ma tinkludix qoxra tal-kmand, server SSH, jew lingwi interpretati bħal Python. L-għodod tal-amministratur jitqiegħdu f'kontenitur tas-servizz separat, li huwa diżattivat awtomatikament.
Is-sistema hija ġestita b'żewġ modi: permezz tal-API u l-orkestrazzjoni.
Minflok maniġer ta 'pakketti li jaġġorna biċċiet individwali ta' softwer, Bottlerocket tniżżel immaġni sħiħa tas-sistema tal-fajls u jerġa 'jibda fiha. Jekk tagħbija tfalli, awtomatikament terġa 'lura, u nuqqas ta' tagħbija tax-xogħol jista 'jwassal għal rollback manwalment (kmand permezz tal-API).
Qafas /etc
immuntat mas-sistema tal-fajls fir-RAM /etc
mhux appoġġjat: biex issalva s-settings għandek tuża l-API jew tmexxi l-funzjonalità f'kontenituri separati.
Skema ta' aġġornament tal-API
sigurtà
Kontenituri huma maħluqa minn mekkaniżmi standard tal-kernel Linux - cgroups, namespaces u seccomp, u jintużaw bħala sistema ta 'kontroll ta' aċċess sfurzat, jiġifieri, għal iżolament addizzjonali
B'mod awtomatiku, il-politiki huma permessi biex jaqsmu r-riżorsi bejn il-kontenituri u l-kernel. Il-binarji huma protetti b'bnadar biex jipprevjenu lill-utenti jew lill-programmi milli jeżegwixxuhom. U jekk wieħed jasal għas-sistema tal-fajls, Bottlerocket joffri għodda biex jiċċekkja u jsegwi kwalunkwe tibdil li jkun sar.
Il-modalità ta' "boot verifikat" hija implimentata permezz tal-funzjoni tal-apparat-mapper-verity (
Hemm ukoll filtru fis-sistema
Mudell ta' eżekuzzjoni
Iddefinit mill-utent
Kumpilazzjoni
sigurtà
Modalità ta' falliment
Aċċess għar-riżorsi
Utent
il-kompitu
iva
kwalunkwe
drittijiet tal-utent
tinterrompi l-eżekuzzjoni
sejħa tas-sistema, tort
Qalba
il-kompitu
ebda
statiku
ebda
paniku tal-qalba
прямой
BPF
avveniment
iva
JIT, CO-RE
verifika, JIT
messaġġ ta' żball
helpers limitati
Kif BPF huwa differenti mill-kodiċi tal-utent regolari jew tal-livell tal-kernel
AWS qalet li Bottlerocket "timpjega mudell operattiv li jkompli jtejjeb is-sigurtà billi jipprevjeni konnessjonijiet ma 'servers ta' produzzjoni bi privileġġi amministrattivi" u huwa "adattat għal sistemi mqassma kbar fejn il-kontroll fuq kull host individwali huwa limitat."
Kontenitur amministratur huwa pprovdut għall-amministraturi tas-sistema. Iżda l-AWS ma taħsibx li admin spiss ikollu bżonn jaħdem ġewwa Bottlerocket: "L-att tal-illoggjar f'istanza ta' Bottlerocket separata huwa maħsub għal operazzjonijiet mhux frekwenti: debugging avvanzat u soluzzjoni tal-problemi,"
Lingwa sadid
L-istrumentazzjoni tal-OS fuq il-qalba hija l-aktar miktuba b'Rut. Din il-lingwa hija min-natura tagħha
Il-bnadar huma applikati awtomatikament meta jinbnew --enable-default-pie
и --enable-default-ssp
biex tippermetti randomizzazzjoni tal-ispazju tal-indirizzi tal-fajls eżekutibbli (
Għal pakketti C/C++, huma inklużi bnadar addizzjonali -Wall
, -Werror=format-security
, -Wp,-D_FORTIFY_SOURCE=2
, -Wp,-D_GLIBCXX_ASSERTIONS
и -fstack-clash-protection
.
Minbarra Rust u C/C++, xi pakketti huma miktuba f'Go.
Integrazzjoni mas-servizzi tal-AWS
Id-differenza minn sistemi operattivi tal-kontejners simili hija li Amazon ottimizzat Bottlerocket biex jaħdem fuq AWS u jintegra ma 'servizzi AWS oħra.
L-orkestratur tal-kontejners l-aktar popolari huwa Kubernetes, għalhekk AWS introduċiet integrazzjoni mal-Intrapriża Kubernetes Service (EKS) tagħha stess. Għodod ta 'l-orkestrazzjoni jiġu f'kontenitur ta' kontroll separat
Se jkun interessanti li wieħed jara jekk Bottlerocket jitlaq, minħabba l-falliment ta 'xi inizjattivi simili fil-passat. Pereżempju, PhotonOS minn Vmware irriżulta li ma kienx mitlub, u RedHat xtrat CoreOS u
L-integrazzjoni ta' Bottlerocket fis-servizzi tal-AWS tagħmel din is-sistema unika bil-mod tagħha. Din hija forsi r-raġuni ewlenija għaliex xi utenti jistgħu jippreferu Bottlerocket fuq distros oħra bħal CoreOS jew Alpine. Is-sistema hija inizjalment iddisinjata biex taħdem ma 'EKS u ECS, iżda nirrepetu li dan mhux meħtieġ. L-ewwelnett, Bottlerocket jista '
Il-kodiċi sors Bottlerocket huwa ppubblikat fuq GitHub taħt il-liċenzja Apache 2.0. L-iżviluppaturi diġà
Dwar id-Drittijiet tar-Reklamar
VDSina offerti
Sors: www.habr.com