Kabo ea Linux ea minimalistic, Bottlerocket, e lokollotsoe bakeng sa ho tsamaisa lijana. Ntho ea bohlokoa ka ho fetisisa ka eena

Kabo ea Linux ea minimalistic, Bottlerocket, e lokollotsoe bakeng sa ho tsamaisa lijana. Ntho ea bohlokoa ka ho fetisisa ka eena

Khamphani ea Amazon e phatlalalitse mabapi le tokollo ea ho qetela Botlolo ea mabokose - kabo e khethehileng ea ho tsamaisa lijana le ho li laola ka katleho.

Bottlerocket (ka tsela, lebitso le fuoeng lirokete tse nyane tse entsoeng lapeng tse entsoeng ka phofo) ha se OS ea pele bakeng sa lijana, empa ho ka etsahala hore e tla ata ka lebaka la ho kopanngoa ha kamehla le lits'ebeletso tsa AWS. Le hoja tsamaiso e tsepamisitse maikutlo holim'a leru la Amazon, khoutu ea mohloli o bulehileng e lumella hore e hahoe kae kapa kae: sebakeng sa heno ho seva, ho Raspberry Pi, lerung leha e le lefe la tlhōlisano, esita le sebakeng se se nang lisebelisoa.

Ena ke sebaka se loketseng ka ho felletseng bakeng sa kabo ea CoreOS eo Red Hat e e patileng.

Ebile, karolo ea Amazon Web Services e se e ntse e na le Amazon Linux, e sa tsoa tsoa ka mofuta oa eona oa bobeli: ke kabo e akaretsang e ka tsamaisoang ka sejaneng sa Docker kapa ka Linux KVM, Microsoft Hyper-V, le VMware. Li-hypervisors tsa ESXi. E ile ea ntlafatsoa hore e sebetsane le leru la AWS, empa ka ho lokolloa ha Bottlerocket, bohle ba khothalletsoa ho ntlafatsa tsamaiso e ncha e sireletsehileng haholoanyane, ea morao-rao, le e sebelisang lisebelisoa tse fokolang.

AWS e phatlalalitse Bottlerocket ka March 2020. O ile a lumela hang-hang hore ena ha se "Linux ea lijana" ea pele, a qotsa CoreOS, Rancher OS le Project Atomic e le mehloli ea pululelo. Bahlahisi ba ngotse hore sistimi ea ts'ebetso ke "phello ea lithuto tseo re ithutileng tsona ho tsamaisa lits'ebeletso tsa tlhahiso ka tekanyo ea Amazon ka nako e telele, le boiphihlelo boo re bo fumaneng lilemong tse tšeletseng tse fetileng mabapi le mokhoa oa ho tsamaisa lijana."

Minimalism e feteletseng

Linux e amohuoa ntho e 'ngoe le e' ngoe e sa hlokeng ho tsamaisa lijana. Moralo ona, ho ea ka k'hamphani, o fokotsa sebaka sa tlhaselo.

Sena se bolela hore liphutheloana tse fokolang li kenngoa tsamaisong ea motheo, e leng ho nolofalletsang ho boloka le ho ntlafatsa OS, hape ho fokotsa menyetla ea mathata ka lebaka la ho itšetleha, ho fokotsa tšebeliso ea lisebelisoa. Ha e le hantle, ntho e 'ngoe le e' ngoe mona e sebetsa ka har'a lijana tse arohaneng, 'me tsamaiso e ka tlaase e batla e se na letho.

Amazon e boetse e tlositse likhetla le bafetoleli bohle, ho felisa kotsi ea hore ba sebelisoe kapa basebelisi ba eketse litokelo ka phoso. Molemong oa minimalism le ts'ireletso, setšoantšo sa motheo ha se kenye khetla ea taelo, seva sa SSH, kapa lipuo tse tolokiloeng joalo ka Python. Lisebelisoa tsa batsamaisi li behiloe ka har'a sets'oants'o se arohaneng sa ts'ebeletso, se koetsoeng ka ho sa feleng.

Sistimi e laoloa ka litsela tse peli: ka API le 'mino oa liletsa.

Sebakeng sa mookameli oa sephutheloana ea ntlafatsang likotoana tsa software, Bottlerocket e khoasolla setšoantšo se felletseng sa sistimi ebe e qala hape ho eona. Haeba mojaro o hloleha, o khutlela morao ka bohona, 'me ho hloleha ha mosebetsi ho ka etsa hore motho a khutlele morao ka letsoho (taelo ka API).

Moralo TUF (The Update Framework) e khoasolla liapdeite tse thehiloeng ho setšoantšo ho li-partitions tse ling kapa "tse sa phahamisoang". Likarolo tse peli tsa disk li abetsoe tsamaiso, e 'ngoe ea eona e na le tsamaiso e sebetsang,' me ntjhafatso e kopitsoa ho ea bobeli. Tabeng ena, karohano ea motso e kenngoa ka mokhoa oa ho bala feela, le karohano /etc e kentsoeng ka sistimi ea faele ho RAM seoa mme e khutlisetsa boemo ba pele kamora ho qala bocha. Phetoho e tobileng ea lifaele tsa tlhophiso ho /etc ha e tšehetsoe: ho boloka litlhophiso o lokela ho sebelisa API kapa ho tsamaisa ts'ebetso ka lijaneng tse arohaneng.

Kabo ea Linux ea minimalistic, Bottlerocket, e lokollotsoe bakeng sa ho tsamaisa lijana. Ntho ea bohlokoa ka ho fetisisa ka eena
Sekema sa ntlafatso ea API

Tshireletso

Lijana li entsoe ka mekhoa e tloaelehileng ea Linux kernel - lihlopha, libaka tsa mabitso le seccomp, 'me li sebelisoa e le mokhoa oa ho laola phihlello e qobelloang, ke hore, bakeng sa ho itšehla thajana. SELinux ka mokhoa oa "ho qobella".

Ka ho sa feleng, maano a lumelloa ho arolelana lisebelisoa lipakeng tsa lijana le kernel. Li-binary li sirelelitsoe ka lifolakha ho thibela basebelisi kapa mananeo ho li phetha. Mme haeba motho a fihla ho sistimi ea faele, Bottlerocket e fana ka sesebelisoa sa ho lekola le ho lekola liphetoho tse entsoeng.

Mokhoa oa "verified boot" o kengoa ts'ebetsong ka sesebelisoa-mapper-verity function (dm-nete), e hlahlobang botšepehi ba karohano ea motso nakong ea boot. AWS e hlalosa dm-verity e le "tšobotsi ea kernel ea Linux e fanang ka tlhahlobo ea botšepehi ho thibela malware ho sebetsa ho OS, joalo ka ho hlakola software ea mantlha ea sistimi."

Ho boetse ho na le sefe ka har'a sistimi eGMP BPF e atolositsoeng, e ntlafalitsoeng ke Alexey Starovoitov), e lumellang li-module tsa kernel hore li nkeloe sebaka ke mananeo a sireletsehileng a BPF bakeng sa ts'ebetso ea sistimi e tlase.

Mohlala oa Phethahatso
Mosebelisi o hlalositsoe
Pokello
Tshireletso
Mokhoa oa ho hloleha
Ho fihlella mehloling

Mosebedisi
mosebetsi
e
efe kapa efe
litokelo tsa basebelisi
sitisa phethahatso
pitso ea tsamaiso, phoso

Ntho ea bohlokoa
mosebetsi
ha ho
e tsitsitseng
ha ho
ho tšoha ha kernel
otlolohile

GMP
ketsahalo
e
JIT, CO-RE
netefatso, JIT
molaetsa oa phoso
bathusi ba fokolang

BPF e fapana joang le khoutu ea boemo ba mosebelisi kapa kernel mohloli

AWS e boletse hore Bottlerocket "e sebelisa mohlala oa ts'ebetso o ntlafatsang ts'ireletso ka ho thibela likhokahano ho li-server tsa tlhahiso tse nang le litokelo tsa tsamaiso" 'me "e loketse litsamaiso tse kholo tse ajoang moo taolo ea moamoheli e mong le e mong e lekanyelitsoeng."

Sets'oants'o sa batsamaisi se fanoa bakeng sa batsamaisi ba sistimi. Empa AWS ha e nahane hore mookameli o tla hloka ho sebetsa ka hare ho Bottlerocket: "Ketso ea ho kena sebakeng se arohaneng sa Bottlerocket se reretsoe ho etsa ts'ebetso e sa tloaelehang: ho lokisa liphoso le ho rarolla mathata," ngola bahlahisi.

Puo ea mafome

Lisebelisoa tsa OS ka holim'a kernel hangata li ngotsoe ka Rust. Puo ena ka tlhaho ea eona e fokotsa monyetla oa ho fihlella memori e sa bolokehang, hammoho le e felisa maemo a morabe pakeng tsa likhoele.

Lifolakha li sebelisoa ka ho sa feleng ha ho hahoa --enable-default-pie и --enable-default-ssp ho etsa hore ho be le randomization ea sebaka sa aterese sa lifaele tse sebetsang (boemo bo ikemetseng bo ka phethisoang, PIE) le ts'ireletso ea lipampiri tse ngata.

Bakeng sa liphutheloana tsa C / C ++, lifolakha tse eketsehileng li kenyelelitsoe -Wall, -Werror=format-security, -Wp,-D_FORTIFY_SOURCE=2, -Wp,-D_GLIBCXX_ASSERTIONS и -fstack-clash-protection.

Ntle le Rust le C/C++, liphutheloana tse ling li ngotsoe ho Go.

Ho kopanya le litšebeletso tsa AWS

Phapang ho tsoa lits'ebetsong tse ts'oanang tsa lits'ebetso ke hore Amazon e ntlafalitse Bottlerocket ho sebetsa ho AWS le ho hokahana le lits'ebeletso tse ling tsa AWS.

Sebapali sa li-container tse tsebahalang haholo ke Kubernetes, kahoo AWS e hlahisitse kopanyo le Enterprise Kubernetes Service (EKS) ea eona. Lisebelisoa tsa 'mino oa liletsa li tla ka setshelo se arohaneng sa taolo setshelo sa taolo ya botlolo, e sebelisoang ka ho sa feleng le ho laoloa ka API le AWS SSM Agent.

Ho tla ba monate ho bona hore na Bottlerocket e tla qala, ho latela ho hloleha ha matsapa a mang a tšoanang nakong e fetileng. Ka mohlala, PhotonOS e tsoang Vmware e ile ea e-ba e sa tsejoeng, 'me RedHat e ile ea reka CoreOS le e koetse morero, ea neng a nkoa e le pula-maliboho tšimong.

Ho kopanngoa ha Bottlerocket litšebeletsong tsa AWS ho etsa hore tsamaiso ena e ikhethoe ka tsela ea eona. Mohlomong ke lona lebaka le ka sehloohong leo basebelisi ba bang ba ka ratang Bottlerocket ho feta li-distros tse ling tse kang CoreOS kapa Alpine. Qalong tsamaiso e etselitsoe ho sebetsa le EKS le ECS, empa re pheta hore sena ha se hlokahale. Taba ea pele, Bottlerocket e ka khona bokana u le mong 'me u e sebelise, ho etsa mohlala, e le tharollo e amohelehang. Taba ea bobeli, basebelisi ba EKS le ECS ba ntse ba tla ba le bokhoni ba ho khetha OS ea bona.

Khoutu ea mohloli oa Bottlerocket e phatlalalitsoe ho GitHub tlasa laesense ea Apache 2.0. Baetsi ba se ba ntse ba e-na le eona araba litlaleho tsa liphoso le likopo tsa likarolo.

E le papatso

VDSina e fana VDS ka tefo ea letsatsi le letsatsi. Hoa khoneha ho kenya sistimi efe kapa efe ea ts'ebetso, ho kenyelletsa le setšoantšo sa hau. Seva e 'ngoe le e' ngoe e hokahane le mocha oa Marang-rang oa 500 Megabits mme e sirelelitsoe litlhaselong tsa DDoS mahala!

Kabo ea Linux ea minimalistic, Bottlerocket, e lokollotsoe bakeng sa ho tsamaisa lijana. Ntho ea bohlokoa ka ho fetisisa ka eena

Source: www.habr.com

Eketsa ka tlhaloso