Kamupene Amazon
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
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 /etc
kua whakauruhia ki te punaha konae i roto i te RAM /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.
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.
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 (
He tātari ano kei roto i te punaha
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
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,"
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 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 (
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
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
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
Ka whakaputaina te waehere puna Bottlerocket ki GitHub i raro i te raihana Apache 2.0. Ko nga kaihanga kua oti
I runga i nga Tika Tika
VDSina tuku
Source: will.com