Chaidh Bottlerocket cuairteachaidh Linux minimalistic a leigeil ma sgaoil gus soithichean a ruith. An rud as cudromaiche mu dheidhinn

Chaidh Bottlerocket cuairteachaidh Linux minimalistic a leigeil ma sgaoil gus soithichean a ruith. An rud as cudromaiche mu dheidhinn

Companaidh Amazon ainmeachadh mun fhoillseachadh mu dheireadh Botail-rocaid - cuairteachadh sònraichte airson soithichean a ruith agus an riaghladh gu h-èifeachdach.

Chan e Bottlerocket (leis an t-slighe, an t-ainm a chaidh a thoirt do rocaidean beaga pùdar dubh dachaigh) a’ chiad OS airson soithichean, ach tha coltas ann gum fàs e farsaing mar thoradh air an aonachadh bunaiteach le seirbheisean AWS. Ged a tha an siostam ag amas air sgòth Amazon, leigidh an còd stòr fosgailte e a thogail an àite sam bith: gu h-ionadail air frithealaiche, air Raspberry Pi, ann an sgòth farpaiseach sam bith, agus eadhon ann an àrainneachd gun shoitheach.

Tha seo na àite gu tur airidh air an cuairteachadh CoreOS a thiodhlaic Red Hat.

Gu dearbh, tha Amazon Linux mu thràth aig roinn Seirbheisean Lìn Amazon, a thàinig a-mach o chionn ghoirid san dàrna dreach aige: is e cuairteachadh adhbhar coitcheann a th ’ann a dh’ fhaodar a ruith ann an soitheach Docker no leis an Linux KVM, Microsoft Hyper-V, agus VMware ESXi hypervisors. Chaidh a bharrrachadh airson a ruith air sgòth AWS, ach le sgaoileadh Bottlerocket, thathas a’ brosnachadh a h-uile duine ùrachadh gu siostam ùr a tha nas tèarainte, nas ùire, agus a chleachdas nas lugha de ghoireasan.

Dh'ainmich AWS Bottlerocket sa Mhàrt 2020. Dh’aidich i sa bhad nach e seo a’ chiad “Linux for containers,” ag ainmeachadh CoreOS, Rancher OS agus Project Atomic mar thùsan brosnachaidh. Sgrìobh an luchd-leasachaidh gu bheil an siostam obrachaidh “mar thoradh air na leasanan a tha sinn air ionnsachadh bho bhith a’ ruith seirbheisean cinneasachaidh aig sgèile Amazon airson ùine mhòr, agus an eòlas a tha sinn air fhaighinn thar nan sia bliadhna a dh’ fhalbh air mar a ruitheas sinn soithichean. ”

minimalism air leth

Tha Linux air a thoirt às a h-uile càil nach eil a dhìth gus soithichean a ruith. Tha an dealbhadh seo, a rèir a 'chompanaidh, a' lùghdachadh uachdar an ionnsaigh.

Tha seo a 'ciallachadh gu bheil nas lugha de phasgan air an stàladh air an t-siostam bunaiteach, a tha ga dhèanamh nas fhasa an OS a chumail suas agus ùrachadh, agus cuideachd a' lùghdachadh an coltas gum bi duilgheadasan ann mar thoradh air eisimeileachd, a 'lùghdachadh cleachdadh ghoireasan. Gu bunaiteach, tha a h-uile dad an seo ag obair taobh a-staigh soithichean fa leth, agus tha an siostam bunaiteach cha mhòr lom.

Tha Amazon cuideachd air a h-uile slige agus eadar-mhìnear a thoirt air falbh, a’ cur às don chunnart gun tèid an cleachdadh no gum bi luchd-cleachdaidh ag àrdachadh sochairean gun fhiosta. Air sgàth minimalism agus tèarainteachd, chan eil an ìomhaigh bhunaiteach a’ toirt a-steach slige àithne, frithealaiche SSH, no cànanan eadar-mhìneachaidh mar Python. Tha innealan rianadair air an cur ann an soitheach seirbheis air leth, a tha ciorramach gu bunaiteach.

Tha an siostam air a riaghladh ann an dà dhòigh: tro API agus orchestration.

An àite manaidsear pacaid a bhios ag ùrachadh pìosan bathar-bog fa leth, bidh Bottlerocket a’ luchdachadh sìos ìomhaigh siostam faidhle iomlan agus ag ath-thòiseachadh a-steach dha. Ma dh’ fhailicheas eallach, thèid e air ais gu fèin-ghluasadach, agus faodaidh fàilligeadh eallach obrach gluasad air ais le làimh (òrdugh tro API).

Frèam TUF (Am Frèam Ùrachaidh) a’ luchdachadh sìos ùrachaidhean stèidhichte air ìomhaighean gu pàirtean eile no “gun mount”. Tha dà sgaradh diosc air an riarachadh airson an t-siostam, aon dhiubh anns a bheil an siostam gnìomhach, agus tha an ùrachadh air a chopaigeadh chun dàrna fear. Anns a 'chùis seo, tha am pàirt bunaiteach air a chuir suas ann am modh leughaidh a-mhàin, agus an sgaradh /etc air a chuir suas leis an t-siostam faidhle ann an RAM tmpfs agus ag ath-nuadhachadh an staid thùsail às deidh ath-thòiseachadh. Atharrachadh dìreach air faidhlichean rèiteachaidh ann an /etc gun taic: gus roghainnean a shàbhaladh bu chòir dhut an API a chleachdadh no an gnìomh a ghluasad gu soithichean fa leth.

Chaidh Bottlerocket cuairteachaidh Linux minimalistic a leigeil ma sgaoil gus soithichean a ruith. An rud as cudromaiche mu dheidhinn
Sgeama ùrachadh API

Tèarainteachd

Tha soithichean air an cruthachadh le uidheamachdan àbhaisteach de kernel Linux - cgroups, ainmean-àite agus seccomp, agus tha iad air an cleachdadh mar shiostam smachd ruigsinneachd èiginneach, is e sin, airson aonaranachd a bharrachd SELinux ann am modh "co-èigneachadh".

Gu gnàthach, tha comas aig poileasaidhean goireasan a cho-roinn eadar soithichean agus an kernel. Tha binaries air an dìon le brataichean gus casg a chuir air luchd-cleachdaidh no prògraman bho bhith gan cur gu bàs. Agus ma ruigeas duine an siostam faidhle, tha Bottlerocket a’ tabhann inneal airson sùil a chumail air atharrachaidhean sam bith a chaidh a dhèanamh.

Tha am modh “bròg dearbhte” air a chuir an gnìomh tron ​​​​ghnìomh inneal-mapper-verity (dm-fhìrinn), a nì sgrùdadh air ionracas an sgaradh freumhaich aig àm bròg. Tha AWS a’ toirt cunntas air dm-verity mar “feart den kernel Linux a bheir seachad sgrùdaidhean ionracas gus casg a chuir air malware bho bhith a’ ruith air an OS, leithid ath-sgrìobhadh bathar-bog siostam bunaiteach. ”

Tha criathrag san t-siostam cuideachd eGMP (BPF leudaichte, air a leasachadh le Alexei Starovoytov), a leigeas le prògraman BPF nas tèarainte a chuir an àite mhodalan kernel airson gnìomhachd siostam ìre ìosal.

Modail cur gu bàs
Cleachdaiche air a mhìneachadh
Tiomnadh
Tèarainteachd
Modh teip
Cothrom air goireasan

Cleachdaiche
an obair
tha
aon sam bith
còraichean luchd-cleachdaidh
bacadh air cur an gnìomh
call siostam, locht

An cridhe
an obair
sam bith
staitigeach
sam bith
clisgeadh kernel
dìreach

GMP
tachartas
tha
JIT, CO-RE
dearbhadh, JIT
teachdaireachd mearachd
luchd-cuideachaidh cuingealaichte

Mar a tha BPF eadar-dhealaichte bho chòd ìre cleachdaiche àbhaisteach no kernel stòr

Thuirt AWS gu bheil Bottlerocket “a’ cleachdadh modal obrachaidh a leasaicheas tèarainteachd le bhith a ’cur casg air ceanglaichean ri frithealaichean cinneasachaidh le sochairean rianachd" agus gu bheil e “freagarrach airson siostaman mòra sgaoilte far a bheil smachd air gach aoigh fa-leth cuibhrichte."

Tha inneal rianadair air a thoirt seachad airson rianadairean an t-siostaim. Ach chan eil AWS a’ smaoineachadh gum feum rianaire gu tric a bhith ag obair taobh a-staigh Bottlerocket: “Tha an gnìomh logadh a-steach do eisimpleir Bottlerocket air leth airson obrachaidhean ainneamh: deasbaid adhartach agus fuasgladh cheistean," sgrìobhadh luchd-leasachaidh.

Cànan meirgeach

Tha an ionnstramaid OS air mullach an kernel air a sgrìobhadh sa mhòr-chuid ann an Rust. Tha an cànan seo le a nàdar a’ lùghdachadh an coltas gum bi ruigsinneachd neo-shàbhailte air cuimhne, a bharrachd air cuir às do shuidheachadh rèis eadar snàithleanan.

Bithear a’ cur brataichean an sàs gu bunaiteach nuair a thathar a’ togail --enable-default-pie и --enable-default-ssp gus cothrom a thoirt air àite seòlaidh nam faidhlichean so-ghnìomhaichte air thuaiream (suidheachadh neo-eisimeileach so-ghnìomhaichte, PIE) agus stac dìon thar-shruth.

Airson pasganan C / C ++, tha brataichean a bharrachd air an toirt a-steach -Wall, -Werror=format-security, -Wp,-D_FORTIFY_SOURCE=2, -Wp,-D_GLIBCXX_ASSERTIONS и -fstack-clash-protection.

A bharrachd air Rust agus C / C ++, tha cuid de phasganan sgrìobhte ann an Go.

Amalachadh le seirbheisean AWS

Is e an eadar-dhealachadh bho shiostaman obrachaidh soithichean coltach ris gu bheil Amazon air Bottlerocket a bharrachadh gus a ruith air AWS agus amalachadh le seirbheisean AWS eile.

Is e Kubernetes an orcastra soithichean as mòr-chòrdte, agus mar sin tha AWS air amalachadh a thoirt a-steach leis an t-Seirbheis Iomairt Kubernetes aca fhèin (EKS). Bidh innealan orcastra a’ tighinn ann an soitheach smachd air leth botalrocket-smachd-container, a tha air a chomasachadh gu bunaiteach agus air a riaghladh tro API agus AWS SSM Agent.

Bidh e inntinneach fhaicinn an toir Bottlerocket dheth, leis mar a dh’ fhàillig iomairtean coltach ris san àm a dh’ fhalbh. Mar eisimpleir, cha deach PhotonOS bho Vmware a thagradh, agus cheannaich RedHat CoreOS agus dhùin am pròiseact, a bha air a mheas mar thùsaire san raon.

Tha amalachadh Bottlerocket ann an seirbheisean AWS a’ fàgail an t-siostam seo gun samhail na dhòigh fhèin. Is dòcha gur e seo am prìomh adhbhar gum b’ fheàrr le cuid de luchd-cleachdaidh Bottlerocket na distros eile leithid CoreOS no Alpine. Tha an siostam air a dhealbhadh an toiseach gus obrachadh le EKS agus ECS, ach tha sinn ag ràdh a-rithist nach eil seo riatanach. An toiseach, faodaidh Bottlerocket cruinnich thu fein agus cleachd e, mar eisimpleir, mar fhuasgladh aoigheachd. San dàrna h-àite, bidh comas fhathast aig luchd-cleachdaidh EKS agus ECS an OS aca a thaghadh.

Tha còd stòr Bottlerocket air fhoillseachadh air GitHub fo chead Apache 2.0. Tha an luchd-leasachaidh mu thràth freagair aithisgean bug agus iarrtasan feart.

Air na Còraichean Sanasachd

VDSina tairgsean VDS le pàigheadh ​​​​làitheil. Tha e comasach siostam obrachaidh sam bith a chuir a-steach, a’ toirt a-steach bhon ìomhaigh agad fhèin. Tha gach frithealaiche ceangailte ri sianal eadar-lìn de 500 Megabits agus air a dhìon bho ionnsaighean DDoS an-asgaidh!

Chaidh Bottlerocket cuairteachaidh Linux minimalistic a leigeil ma sgaoil gus soithichean a ruith. An rud as cudromaiche mu dheidhinn

Source: www.habr.com

Cuir beachd ann