He tohatoha Linux iti, Bottlerocket, kua tukuna mo nga ipu rere. Ko te mea nui mo ia

He tohatoha Linux iti, Bottlerocket, kua tukuna mo nga ipu rere. Ko te mea nui mo ia

Kamupene Amazon ka panui mo te tukunga whakamutunga Panapoti — he tohatoha motuhake mo te whakahaere ipu me te whakahaere pai.

Ko Bottlerocket (na te mea, ko te ingoa i hoatu ki nga toka paura pango iti o te kainga) ehara i te OS tuatahi mo nga ipu, engari tera pea ka horapa nui na te whakaurunga taunoa me nga ratonga AWS. Ahakoa e arotahi ana te punaha ki runga i te kapua Amazon, ka taea e te waehere puna tuwhera te hanga ki nga waahi katoa: i te rohe i runga i te tūmau, i runga i te Raspberry Pi, i tetahi kapua whakataetae, tae noa ki te taiao kore.

He whakakapinga tino tika tenei mo te tohatoha CoreOS i tanumia e Red Hat.

Inaa, kei te wahanga o Amazon Web Services a Amazon Linux, i puta mai i tana putanga tuarua: he tohatoha kaupapa whanui ka taea te whakahaere i roto i te ipu Docker me te Linux KVM, Microsoft Hyper-V, me VMware. ESXi hypervisors. I arotauhia kia rere i runga i te kapua AWS, engari na te tukunga o Bottlerocket, ka akiakihia te katoa ki te whakapai ake ki tetahi punaha hou e noho haumaru ake ana, hou ake, me te iti ake o nga rauemi.

I whakapuakihia e AWS Bottlerocket i Maehe 2020. I whakaae tonu ia ehara tenei i te "Linux mo nga ipu" tuatahi, e kii ana i a CoreOS, Rancher OS me Project Atomic hei puna whakatenatena. I tuhia e nga kaihanga ko te punaha whakahaere "ko te hua o nga akoranga kua akohia e matou mai i te whakahaere i nga ratonga whakaputa i te tauine o Amazon mo te wa roa, me te wheako kua riro ia matou i roto i nga tau e ono kua pahure ake nei mo te whakahaere i nga ipu."

Tino iti

Ka tangohia e Linux nga mea katoa kaore e hiahiatia hei whakahaere ipu. Ko tenei hoahoa, e ai ki te kamupene, ka whakaiti i te mata whakaeke.

Ko te tikanga he iti ake nga kohinga kua whakauruhia ki runga i te punaha turanga, he maamaa ake te pupuri me te whakahou i te OS, me te whakaiti hoki i nga raru e pa ana ki te whakawhirinaki, ka whakaiti i te whakamahi rauemi. Ko te tikanga, ka mahi nga mea katoa i roto i nga ipu motuhake, a, ko te punaha kei raro nei ka noho tahanga.

Kua tangohia e Amazon nga anga katoa me nga kaiwhakamaori, ka whakakore i te tupono ka whakamahia, ka piki ake ranei nga painga o nga kaiwhakamahi. Mo te iti me te haumarutanga, ko te ahua o te turanga kaore he anga whakahau, he tūmau SSH, he reo whakamaori ranei penei i te Python. Ka whakanohoia nga taputapu kaiwhakahaere ki roto i tetahi ipu ratonga motuhake, kua monokia ma te taunoa.

Ka whakahaerehia te punaha i roto i nga huarahi e rua: na roto i te API me te whakariterite.

Hei utu mo te kaiwhakahaere kete e whakahou ana i nga waahanga rorohiko takitahi, ka tango a Bottlerocket i te ahua o te punaha konae konae ka whakaara ano ki roto. Mena ka rahua te uta, ka hoki whakamuri aunoa, ka taea e te rahunga mahi te whakaoho i te hokinga a-ringa (whakahau ma te API).

Angamahi TUF (Ko te Anga Whakahou) ka tango i nga whakahōu-a-ahua ki nga waahanga rereke, "kaore i mauhia". E rua nga wehewehenga kōpae kua tohaina mo te punaha, kei roto i tetahi te punaha kaha, ka kapea te whakahou ki te tuarua. I roto i tenei take, ka whakairihia te wehenga pakiaka ki te aratau panui-anake, me te wehewehe /etc kua whakauruhia ki te punaha konae i roto i te RAM Tuhinga o mua me te whakahoki i te ahua taketake i muri i te whakaara ano. Te whakarerekētanga tika o nga konae whirihoranga i roto /etc kaore i te tautokona: hei tiaki i nga tautuhinga me whakamahi koe i te API, me neke ranei te mahi ki roto i nga ipu motuhake.

He tohatoha Linux iti, Bottlerocket, kua tukuna mo nga ipu rere. Ko te mea nui mo ia
Kaupapa whakahou API

Haumarutanga

I hangaia nga ipu e nga tikanga paerewa o te kernel Linux - cgroups, namespaces and seccomp, a ka whakamahia hei punaha mana uru, ara, mo te wehe atu. SELinux i roto i te aratau "whakauru".

Ma te taunoa, ka taea e nga kaupapa here te tiri rauemi i waenga i nga ipu me te pata. Ka parea te rua ki nga haki kia kore ai e mahia e nga kaiwhakamahi me nga papatono. A, ki te eke tetahi ki te punaha konae, ka tukuna e Bottlerocket tetahi taputapu hei tirotiro me te whai i nga huringa kua mahia.

Ka whakatinanahia te aratau "boota manatoko" ma te mahi taputapu-mapper-verity (dm-pono), e tirotiro ana i te tika o te wehewehenga pakiaka i te wa e whawhai ana. Ko te AWS e whakaatu ana i te dm-verity "he ahuatanga o te kakano Linux e whakarato ana i nga arowhai pono hei aukati i te kino ki te rere i runga i te OS, penei i te tuhirua i nga punaha punaha matua."

He tātari ano kei roto i te punaha eGMP (BPF toroa, i whakawhanakehia e Alexey Starovoitov), e taea ai te whakakapi i nga kōwae kernel ki nga kaupapa BPF haumaru ake mo nga whakahaere punaha taumata-iti.

Te tauira mahi
Kua tautuhia te kaiwhakamahi
Whakahiato
Haumarutanga
Aratau rahunga
Te uru ki nga rauemi

Kaiwhakamahi
te mahi
ae
tetahi
motika kaiwhakamahi
haukotia te mahi
waea pūnaha, he

Tuhinga
te mahi
kahore
pateko
kahore
mataku te kernel
tika

GMP
kaupapa
ae
JIT, CO-RE
manatoko, JIT
karere hapa
iti nga kaiawhina

He pehea te rereke o te BPF mai i te kaiwhakamahi auau, te waehere taumata kernel ranei puna

I kii a AWS ko Bottlerocket "ka mahi i tetahi tauira whakahaere e whakanui ake ana i te haumarutanga ma te aukati i nga hononga ki nga kaiwhakarato whakangao me nga mana whakahaere" me te "e tika ana mo nga punaha tohatoha nui kei te iti te mana whakahaere mo ia kaihautu takitahi."

Ka whakaratohia he ipu kaiwhakahaere mo nga kaiwhakahaere punaha. Engari kare a AWS e whakaaro me mahi tonu tetahi kaiwhakahaere i roto i te Bottlerocket: "Ko te mahi ki te takiuru ki roto i tetahi tauira Bottlerocket motuhake he mea mo nga mahi iti: te patuiro me te rapu raru," tuhia kaiwhakawhanake.

Te reo waikura

Ko te taputapu OS kei runga ake o te kernel ka tuhia ki te Rust. Ko tenei reo na tona ahuatanga ka whakaiti i te tupono o te uru mahara kore haumaruA ka whakakore i nga tikanga iwi i waenga i nga miro.

Ka whakamahia nga haki i te wa e hanga ana --enable-default-pie и --enable-default-ssp kia taea ai te matapōkeretia o te wāhi wāhitau o ngā kōnae kawe (tuunga-motuhake ka taea te whakahaere, PIE) me te whakamarumaru puhake.

Mo nga kohinga C/C++, ka whakauruhia nga haki taapiri -Wall, -Werror=format-security, -Wp,-D_FORTIFY_SOURCE=2, -Wp,-D_GLIBCXX_ASSERTIONS и -fstack-clash-protection.

I tua atu i te Rust me C/C++, kua tuhia etahi kete ki te Haere.

Te whakauru ki nga ratonga AWS

Ko te rereketanga mai i nga punaha whakahaere ipu rite kua whakatikahia e Amazon a Bottlerocket kia rere ki runga AWS me te whakauru ki etahi atu ratonga AWS.

Ko Kubernetes te kaitoi ipu rongonui, no reira kua whakauruhia e AWS te whakaurunga me tana ake Enterprise Kubernetes Service (EKS). Ka tae mai nga taputapu orchestration ki roto i tetahi ipu mana motuhake pounamu-mana-ipu, ka taea te taunoa me te whakahaere ma te API me te AWS SSM Agent.

He rawe te kite mena ka rere atu a Bottlerocket, na te korenga o etahi kaupapa penei i mua. Hei tauira, ko te PhotonOS mai i Vmware i puta mai he kore kereme, a ka hokona e RedHat a CoreOS me katia te kaupapa, i kiia he paionia i roto i te mara.

Ko te whakaurunga a Bottlerocket ki nga ratonga AWS he mea motuhake tenei punaha i roto i tana ake huarahi. Koinei pea te take nui e pai ake ai etahi kaiwhakamahi ki te Bottlerocket ki etahi atu distros penei i a CoreOS, Alpine ranei. I hangaia te punaha i te tuatahi ki te mahi tahi me te EKS me te ECS, engari ka whakahoki ano matou kaore tenei e tika. Tuatahi, ka taea e Bottlerocket huihuia koe me te whakamahi, hei tauira, hei otinga manaaki. Tuarua, ka whai mana tonu nga kaiwhakamahi EKS me ECS ki te whiriwhiri i o raatau OS.

Ka whakaputaina te waehere puna Bottlerocket ki GitHub i raro i te raihana Apache 2.0. Ko nga kaihanga kua oti whakautu ki nga purongo bug me nga tono ahuatanga.

I runga i nga Tika Tika

VDSina tuku VDS me te utu o ia ra. Ka taea te whakauru i tetahi punaha whakahaere, tae atu ki to ahua ake. Kei te hono ia tūmau ki te hongere Ipurangi o te 500 Megabits ka tiakina mai i nga whakaeke DDoS mo te kore utu!

He tohatoha Linux iti, Bottlerocket, kua tukuna mo nga ipu rere. Ko te mea nui mo ia

Source: will.com

Tāpiri i te kōrero