Kampuni ya Amazon
Bottlerocket (kwa njia, jina lililopewa roketi ndogo za poda nyeusi za nyumbani) sio OS ya kwanza kwa vyombo, lakini kuna uwezekano kwamba itaenea shukrani kwa ushirikiano wa chaguo-msingi na huduma za AWS. Ingawa mfumo unalenga wingu la Amazon, msimbo wa chanzo huria unaruhusu kujengwa mahali popote: ndani ya nchi kwenye seva, kwenye Raspberry Pi, katika wingu lolote linaloshindana, na hata katika mazingira yasiyo na chombo.
Huu ni uingizwaji unaofaa kabisa wa usambazaji wa CoreOS ambao Red Hat ilizika.
Kwa kweli, kitengo cha Huduma za Wavuti cha Amazon tayari kina Amazon Linux, ambayo ilitoka hivi karibuni katika toleo lake la pili: ni usambazaji wa kusudi la jumla ambao unaweza kuendeshwa kwenye chombo cha Docker au na Linux KVM, Microsoft Hyper-V, na VMware. ESXi hypervisors. Iliboreshwa ili kuendeshwa kwenye wingu la AWS, lakini kwa kutolewa kwa Bottlerocket, kila mtu anahimizwa kupata mfumo mpya ambao ni salama zaidi, wa kisasa, na unatumia rasilimali chache.
AWS ilitangaza Bottlerocket
minimalism iliyokithiri
Linux imeondolewa kila kitu ambacho hakihitajiki kuendesha vyombo. Ubunifu huu, kulingana na kampuni, hupunguza uso wa shambulio.
Hii ina maana kwamba vifurushi vichache vimewekwa kwenye mfumo wa msingi, ambayo inafanya iwe rahisi kudumisha na kusasisha OS, na pia hupunguza uwezekano wa matatizo kutokana na utegemezi, kupunguza matumizi ya rasilimali. Kimsingi, kila kitu hapa hufanya kazi ndani ya vyombo tofauti, na mfumo wa msingi ni wazi.
Amazon pia imeondoa makombora na wakalimani wote, na hivyo kuondoa hatari ya wao kutumiwa au watumiaji kuongezeka kwa bahati mbaya marupurupu. Kwa ajili ya minimalism na usalama, picha ya msingi haijumuishi ganda la amri, seva ya SSH, au lugha zilizofasiriwa kama Python. Zana za msimamizi zimewekwa kwenye chombo tofauti cha huduma, ambacho kimezimwa kwa chaguo-msingi.
Mfumo unasimamiwa kwa njia mbili: kupitia API na orchestration.
Badala ya kidhibiti kifurushi ambacho husasisha vipande vya programu mahususi, Bottlerocket hupakua picha kamili ya mfumo wa faili na kuwasha upya ndani yake. Mzigo usipofaulu, hurejeshwa kiotomatiki, na kutofaulu kwa mzigo kunaweza kusababisha urejeshaji nyuma (amri kupitia API).
Mfumo /etc
imewekwa na mfumo wa faili kwenye RAM /etc
haitumiki: ili kuhifadhi mipangilio unapaswa kutumia API au kusogeza utendakazi kwenye vyombo tofauti.
Mpango wa sasisho la API
usalama
Vyombo huundwa na mifumo ya kawaida ya kernel ya Linux - vikundi, nafasi za majina na seccomp, na hutumiwa kama mfumo wa kudhibiti ufikiaji wa kulazimishwa, ambayo ni, kwa kutengwa kwa ziada.
Kwa chaguo-msingi, sera huwezeshwa kushiriki rasilimali kati ya kontena na kokwa. Binari zinalindwa kwa bendera ili kuzuia watumiaji au programu kuzitekeleza. Na ikiwa mtu atafika kwenye mfumo wa faili, Bottlerocket hutoa zana ya kuangalia na kufuatilia mabadiliko yoyote yaliyofanywa.
Hali ya "kuanzisha iliyothibitishwa" inatekelezwa kupitia kitendakazi cha uthibitishaji wa ramani ya kifaa (
Pia kuna kichujio kwenye mfumo
Mfano wa utekelezaji
Mtumiaji amefafanuliwa
Mkusanyiko
usalama
Hali ya kushindwa
Upatikanaji wa rasilimali
Mtumiaji
kazi
ndiyo
yoyote
haki za mtumiaji
kukatiza utekelezaji
simu ya mfumo, kosa
Cha msingi
kazi
hakuna
tuli
hakuna
hofu ya kernel
ΠΏΡΡΠΌΠΎΠΉ
BPF
tukio
ndiyo
JIT, CO-RE
uthibitishaji, JIT
ujumbe wa makosa
wasaidizi mdogo
Jinsi BPF inavyotofautiana na nambari ya kiwango cha mtumiaji au kernel
AWS ilisema Bottlerocket "hutumia modeli ya uendeshaji ambayo huongeza usalama zaidi kwa kuzuia miunganisho kwenye seva za uzalishaji zilizo na upendeleo wa kiutawala" na "inafaa kwa mifumo mikubwa iliyosambazwa ambapo udhibiti wa kila mwenyeji ni mdogo."
Chombo cha msimamizi hutolewa kwa wasimamizi wa mfumo. Lakini AWS haifikirii msimamizi mara nyingi atahitaji kufanya kazi ndani ya Bottlerocket: "Kitendo cha kuingia kwenye mfano tofauti wa Bottlerocket kinakusudiwa kwa shughuli zisizo za kawaida: utatuzi wa hali ya juu na utatuzi,"
Lugha ya kutu
Ala ya OS juu ya kernel imeandikwa zaidi kwa Rust. Lugha hii ni kwa asili yake
Bendera hutumiwa kwa chaguo-msingi wakati wa kujenga --enable-default-pie
ΠΈ --enable-default-ssp
kuwezesha ujanibishaji wa nafasi ya anwani ya faili zinazoweza kutekelezwa (
Kwa vifurushi vya C/C++, bendera za ziada zimejumuishwa -Wall
, -Werror=format-security
, -Wp,-D_FORTIFY_SOURCE=2
, -Wp,-D_GLIBCXX_ASSERTIONS
ΠΈ -fstack-clash-protection
.
Kando na Rust na C/C++, vifurushi vingine vimeandikwa katika Go.
Ujumuishaji na huduma za AWS
Tofauti kutoka kwa mifumo ya uendeshaji ya kontena sawa ni kwamba Amazon imeboresha Bottlerocket kufanya kazi kwenye AWS na kuunganishwa na huduma zingine za AWS.
Okestra ya kontena maarufu zaidi ni Kubernetes, kwa hivyo AWS imeanzisha ushirikiano na Enterprise Kubernetes Service yake (EKS). Zana za upangaji huja katika chombo tofauti cha kudhibiti
Itafurahisha kuona kama Bottlerocket itaanza, kutokana na kushindwa kwa baadhi ya mipango kama hiyo hapo awali. Kwa mfano, PhotonOS kutoka Vmware iligeuka kuwa haijadaiwa, na RedHat ilinunua CoreOS na
Ujumuishaji wa Bottlerocket katika huduma za AWS hufanya mfumo huu kuwa wa kipekee kwa njia yake yenyewe. Labda hii ndio sababu kuu kwa nini watumiaji wengine wanaweza kupendelea Bottlerocket kuliko distros zingine kama CoreOS au Alpine. Mfumo uliundwa awali kufanya kazi na EKS na ECS, lakini tunarudia kwamba hii sio lazima. Kwanza, Bottlerocket inaweza
Nambari ya chanzo cha Bottlerocket imechapishwa kwenye GitHub chini ya leseni ya Apache 2.0. watengenezaji tayari
Haki za Matangazo
VDSina inatoa
Chanzo: mapenzi.com