අවම ලිනක්ස් බෙදාහැරීමක්, Bottlerocket, ධාවන බහාලුම් සඳහා නිකුත් කර ඇත. ඔහු ගැන වඩාත්ම වැදගත් දෙය

අවම ලිනක්ස් බෙදාහැරීමක්, Bottlerocket, ධාවන බහාලුම් සඳහා නිකුත් කර ඇත. ඔහු ගැන වඩාත්ම වැදගත් දෙය

ඇමසන් සමාගම නිවේදනය කරන ලදි අවසාන නිකුතුව ගැන බෝතල් - බහාලුම් ධාවනය කිරීම සහ ඒවා ඵලදායී ලෙස කළමනාකරණය කිරීම සඳහා විශේෂිත බෙදාහැරීමක්.

Bottlerocket (මාර්ගය වන විට, කුඩා ගෙදර හැදූ කළු කුඩු රොකට් සඳහා ලබා දී ඇති නම) බහාලුම් සඳහා වන පළමු මෙහෙයුම් පද්ධතිය නොවේ, නමුත් AWS සේවාවන් සමඟ පෙරනිමියෙන් ඒකාබද්ධ වීම නිසා එය පුළුල් ලෙස පැතිරෙනු ඇත. පද්ධතිය ඇමේසන් වලාකුළ කෙරෙහි අවධානය යොමු කර ඇතත්, විවෘත කේත එය ඕනෑම තැනක ගොඩ නැගීමට ඉඩ සලසයි: දේශීයව සේවාදායකයක, Raspberry Pi මත, ඕනෑම තරඟකාරී වලාකුළක සහ බහාලුම් රහිත පරිසරයක පවා.

මෙය Red Hat විසින් වළලනු ලැබූ CoreOS බෙදාහැරීම සඳහා සම්පූර්ණයෙන්ම වටිනා ආදේශකයකි.

ඇත්ත වශයෙන්ම, Amazon Web Services අංශයට දැනටමත් Amazon Linux ඇත, එය මෑතකදී එහි දෙවන අනුවාදයෙන් නිකුත් විය: එය ඩොකර් කන්ටේනරයක හෝ Linux KVM, Microsoft Hyper-V සහ VMware සමඟ ක්‍රියාත්මක කළ හැකි පොදු කාර්ය බෙදාහැරීමකි. ESXi හයිපර්වයිසර්. එය AWS ක්ලවුඩ් මත ධාවනය කිරීමට ප්‍රශස්ත කර ඇත, නමුත් Bottlerocket නිකුත් කිරීමත් සමඟ, වඩාත් ආරක්ෂිත, නවීන සහ අඩු සම්පත් භාවිතා කරන නව පද්ධතියකට උත්ශ්‍රේණි කිරීමට සියලු දෙනා උනන්දු කරනු ලැබේ.

AWS Bottlerocket නිවේදනය කළේය 2020 මාර්තු මාසයේදී. CoreOS, Rancher OS සහ Project Atomic ආශ්වාදයේ මූලාශ්‍ර ලෙස සඳහන් කරමින් මෙය පළමු “බහාලුම් සඳහා Linux” නොවන බව ඇය වහාම පිළිගත්තාය. සංවර්ධකයින් ලියා ඇත්තේ මෙහෙයුම් පද්ධතිය යනු "දිගු කලක් තිස්සේ Amazon පරිමාණයෙන් නිෂ්පාදන සේවා ක්‍රියාත්මක කිරීමෙන් අප ඉගෙන ගත් පාඩම් වල ප්‍රතිපලයක් සහ බහාලුම් ධාවනය කරන්නේ කෙසේද යන්න පිළිබඳව පසුගිය වසර හය තුළ අප ලබා ගත් අත්දැකීම්වල ප්‍රතිඵලයක් බවයි."

අන්ත අවමවාදය

Linux බහාලුම් ක්‍රියාත්මක කිරීමට අවශ්‍ය නොවන සියල්ල ඉවත් කර ඇත. මෙම සැලසුම, සමාගමට අනුව, ප්රහාරක පෘෂ්ඨය අඩු කරයි.

මෙයින් අදහස් කරන්නේ මූලික පද්ධතියේ අඩු පැකේජ ස්ථාපනය කර ඇති අතර එමඟින් OS නඩත්තු කිරීම සහ යාවත්කාලීන කිරීම පහසු වන අතර සම්පත් භාවිතය අඩු කිරීම පරායත්තතා හේතුවෙන් ගැටළු ඇතිවීමේ සම්භාවිතාව අඩු කරයි. මූලික වශයෙන්, මෙහි ඇති සෑම දෙයක්ම වෙනම බහාලුම් ඇතුළත ක්රියා කරයි, සහ යටින් පවතින පද්ධතිය ප්රායෝගිකව හිස් ය.

Amazon විසින් සියළුම ෂෙල් වෙඩි සහ පරිවර්තකයන් ඉවත් කර ඇති අතර, ඒවා භාවිතා කිරීමේ අවදානම ඉවත් කර ඇත, නැතහොත් පරිශීලකයින් අහම්බෙන් වරප්‍රසාද වැඩි කරයි. අවමවාදය සහ ආරක්ෂාව සඳහා, මූලික රූපයේ විධාන කවචයක්, SSH සේවාදායකයක් හෝ Python වැනි අර්ථකථන භාෂා ඇතුළත් නොවේ. පරිපාලක මෙවලම් වෙනම සේවා කන්ටේනරයක තබා ඇති අතර එය පෙරනිමියෙන් අබල කර ඇත.

පද්ධතිය ක්‍රම දෙකකින් කළමනාකරණය කරයි: API සහ වාද්‍ය වෘන්දය හරහා.

තනි මෘදුකාංග කෑලි යාවත්කාලීන කරන පැකේජ කළමනාකරු වෙනුවට, Bottlerocket සම්පූර්ණ ගොනු පද්ධති රූපයක් බාගත කර එය තුළට නැවත ආරම්භ කරයි. පැටවීමක් අසමත් වුවහොත්, එය ස්වයංක්‍රීයව පෙරළෙන අතර, වැඩ බර අසාර්ථක වීමක් අතින් ආපසු හැරීමක් (API හරහා විධානය) ක්‍රියාරම්භ කළ හැක.

රාමුව TUF (යාවත්කාලීන රාමුව) විකල්ප හෝ "නොගැසූ" කොටස් වෙත රූප මත පදනම් වූ යාවත්කාලීන බාගත කරයි. පද්ධතිය සඳහා තැටි කොටස් දෙකක් වෙන් කර ඇති අතර, ඉන් එකක් ක්රියාකාරී පද්ධතිය අඩංගු වන අතර, යාවත්කාලීන කිරීම දෙවනුව පිටපත් කරනු ලැබේ. මෙම අවස්ථාවෙහිදී, මූල කොටස කියවීමට-පමණක් ආකාරයෙන් සවි කර ඇති අතර, කොටස /etc RAM හි ගොනු පද්ධතිය සමඟ සවි කර ඇත tmpfs සහ නැවත ආරම්භ කිරීමෙන් පසු මුල් තත්වය යථා තත්වයට පත් කරයි. තුළ වින්‍යාස ගොනු සෘජුවම වෙනස් කිරීම /etc සහාය නොදක්වයි: සැකසුම් සුරැකීමට ඔබ API භාවිතා කළ යුතුය හෝ ක්‍රියාකාරීත්වය වෙනම බහාලුම්වලට ගෙන යා යුතුය.

අවම ලිනක්ස් බෙදාහැරීමක්, Bottlerocket, ධාවන බහාලුම් සඳහා නිකුත් කර ඇත. ඔහු ගැන වඩාත්ම වැදගත් දෙය
API යාවත්කාලීන යෝජනා ක්රමය

Безопасность

බහාලුම් නිර්මාණය කර ඇත්තේ ලිනක්ස් කර්නලයේ සම්මත යාන්ත්‍රණයන් මගිනි - cgroups, namespaces සහ seccomp, සහ බලහත්කාර ප්‍රවේශ පාලන පද්ධතියක් ලෙස භාවිතා කරයි, එනම් අතිරේක හුදකලා කිරීම සඳහා SELinux "බලාත්මක" ආකාරයෙන්.

පෙරනිමියෙන්, බහාලුම් සහ කර්නලය අතර සම්පත් බෙදා ගැනීමට ප්‍රතිපත්ති සබල කර ඇත. භාවිතා කරන්නන් හෝ වැඩසටහන් ක්‍රියාත්මක කිරීම වැළැක්වීම සඳහා ද්විමය කොඩි වලින් ආරක්ෂා කර ඇත. යමෙක් ගොනු පද්ධතියට පිවිසෙන්නේ නම්, Bottlerocket විසින් සිදු කරන ලද වෙනස්කම් පරීක්ෂා කිරීමට සහ නිරීක්ෂණය කිරීමට මෙවලමක් ඉදිරිපත් කරයි.

“සත්‍යාපිත ඇරඹුම්” මාදිලිය උපාංග-සිතියම්කරු-සත්‍යතා ශ්‍රිතය හරහා ක්‍රියාත්මක වේ (dm-verity), එය ආරම්භයේදී root කොටසෙහි අඛණ්ඩතාව පරීක්ෂා කරයි. AWS dm-verity විස්තර කරන්නේ "මූලික පද්ධති මෘදුකාංග නැවත ලිවීම වැනි OS මත අනිෂ්ට මෘදුකාංග ක්‍රියාත්මක වීම වැළැක්වීම සඳහා අඛණ්ඩතා පරීක්ෂාවන් සපයන Linux කර්නලයේ විශේෂාංගයක්" ලෙසයි.

පද්ධතියේ පෙරහන ද ඇත ඊබීපීඑෆ් (දිගු කරන ලද BPF, ඇලෙක්සි ස්ටාරොවොයිටොව් විසින් සංවර්ධනය කරන ලදී), පහත මට්ටමේ පද්ධති මෙහෙයුම් සඳහා කර්නල් මොඩියුල වඩාත් ආරක්ෂිත BPF වැඩසටහන් සමඟ ප්‍රතිස්ථාපනය කිරීමට ඉඩ සලසයි.

ක්රියාත්මක කිරීමේ ආකෘතිය
පරිශීලක අර්ථ දක්වා ඇත
සම්පාදනය
Безопасность
අසාර්ථක මාදිලිය
සම්පත් සඳහා ප්රවේශය

පරිශීලක
කාර්යය
ඔව්
ඕනෑම
පරිශීලක අයිතිවාසිකම්
ක්රියාත්මක කිරීම බාධා කරන්න
පද්ධති ඇමතුම, දෝෂය

හරය
කාර්යය
කිසිදු
ස්ථිතික
කිසිදු
කර්නලය සන්ත්රාසය
කෙළින්ම

බීපීඑෆ්
событие
ඔව්
JIT, CO-RE
සත්යාපනය, JIT
දෝෂ පණිවිඩය
සීමිත සහායකයින්

BPF සාමාන්‍ය පරිශීලක හෝ කර්නල් මට්ටමේ කේතයෙන් වෙනස් වන ආකාරය ප්රභවය

AWS පැවසුවේ Bottlerocket "පරිපාලන වරප්‍රසාද සහිත නිෂ්පාදන සේවාදායක වෙත සම්බන්ධතා වැලැක්වීමෙන් ආරක්ෂාව තවදුරටත් වැඩිදියුණු කරන මෙහෙයුම් ආකෘතියක් භාවිතා කරන" සහ "එක් එක් සත්කාරකයේ පාලනය සීමා සහිත විශාල බෙදාහැරීමේ පද්ධති සඳහා සුදුසු වේ."

පද්ධති පරිපාලකයින් සඳහා පරිපාලක බහාලුමක් සපයනු ලැබේ. නමුත් AWS සිතන්නේ පරිපාලකයෙකුට Bottlerocket තුළ බොහෝ විට වැඩ කිරීමට අවශ්‍ය වනු ඇති බවයි: "වෙනම Bottlerocket නිදසුනකට ලොග් වීමේ ක්‍රියාව කලාතුරකින් සිදුවන මෙහෙයුම් සඳහා අදහස් කෙරේ: උසස් නිදොස්කරණය සහ දෝශ නිරාකරණය," ලියන්න සංවර්ධකයින්.

මලකඩ භාෂාව

කර්නලය උඩ OS උපකරණය බොහෝ දුරට රස්ට් වලින් ලියා ඇත. මෙම භාෂාව එහි ස්වභාවය අනුව ය අනාරක්ෂිත මතක ප්රවේශයේ සම්භාවිතාව අඩු කරයි, මෙන්ම නූල් අතර ධාවන තත්ත්වයන් ඉවත් කරයි.

ගොඩනඟන විට කොඩි පෙරනිමියෙන් යොදනු ලැබේ --enable-default-pie и --enable-default-ssp ක්‍රියාත්මක කළ හැකි ගොනු වල ලිපින අවකාශය සසම්භාවී කිරීම සක්‍රීය කිරීමට (තනතුර-ස්වාධීන ක්රියාත්මක කළ හැකි, PIE) සහ තොග පිටාර ගැලීමේ ආරක්ෂාව.

C/C++ පැකේජ සඳහා, අමතර ධජ ඇතුළත් වේ -Wall, -Werror=format-security, -Wp,-D_FORTIFY_SOURCE=2, -Wp,-D_GLIBCXX_ASSERTIONS и -fstack-clash-protection.

Rust සහ C/C++ හැර, සමහර පැකේජ Go වලින් ලියා ඇත.

AWS සේවා සමඟ ඒකාබද්ධ වීම

සමාන බහාලුම් මෙහෙයුම් පද්ධතිවල වෙනස නම් Amazon Bottlerocket AWS මත ධාවනය කිරීමට සහ අනෙකුත් AWS සේවාවන් සමඟ ඒකාබද්ධ කිරීමට ප්‍රශස්ත කර තිබීමයි.

වඩාත් ජනප්‍රිය බහාලුම් වාද්‍ය වෘන්දය Kubernetes වේ, එබැවින් AWS විසින් තමන්ගේම ව්‍යවසාය Kubernetes සේවාව (EKS) සමඟ ඒකාබද්ධ කිරීම හඳුන්වා දී ඇත. වාද්‍ය වෘන්දය මෙවලම් වෙනම පාලන භාජනයක පැමිණේ Bottlerocket-control-container, එය පෙරනිමියෙන් සක්‍රීය කර API සහ AWS SSM නියෝජිතයා හරහා කළමනාකරණය කරයි.

අතීතයේ දී එවැනිම මුලපිරීම් අසාර්ථක වූ විට, Bottlerocket ගුවන් ගත වේද යන්න බැලීම සිත්ගන්නා කරුණකි. උදාහරණයක් ලෙස, Vmware වෙතින් PhotonOS හිමිකම් නොලබන බවට පත් වූ අතර RedHat CoreOS සහ ව්‍යාපෘතිය වසා දැමුවා, ක්ෂේත්‍රයේ පුරෝගාමියෙකු ලෙස සැලකූ.

AWS සේවාවන් වෙත Bottlerocket ඒකාබද්ධ කිරීම මෙම පද්ධතිය එහිම ආකාරයෙන් අද්විතීය කරයි. සමහර පරිශීලකයින් CoreOS හෝ Alpine වැනි අනෙකුත් බෙදාහැරීම් වලට වඩා Bottlerocket කැමති වීමට ප්‍රධාන හේතුව මෙය විය හැකිය. පද්ධතිය මුලින් EKS සහ ECS සමඟ වැඩ කිරීමට සැලසුම් කර ඇත, නමුත් මෙය අවශ්ය නොවන බව අපි නැවත කියමු. පළමුව, Bottlerocket හැක ඔබ විසින්ම රැස් කරන්න සහ එය භාවිතා කරන්න, උදාහරණයක් ලෙස, සත්කාරක විසඳුමක් ලෙස. දෙවනුව, EKS සහ ECS භාවිතා කරන්නන්ට තවමත් ඔවුන්ගේ OS තෝරා ගැනීමේ හැකියාව ඇත.

Bottlerocket මූලාශ්‍ර කේතය Apache 2.0 බලපත්‍රය යටතේ GitHub මත ප්‍රකාශයට පත් කෙරේ. සංවර්ධකයින් දැනටමත් ඇත දෝෂ වාර්තා සහ විශේෂාංග ඉල්ලීම් වලට ප්‍රතිචාර දක්වන්න.

දැන්වීම් ප්රචාරණ අයිතිවාසිකම්

VDSina දීමනා දෛනික ගෙවීම සමඟ VDS. ඔබේම රූපය ඇතුළුව ඕනෑම මෙහෙයුම් පද්ධතියක් ස්ථාපනය කළ හැකිය. සෑම සේවාදායකයක්ම මෙගාබිට් 500 ක අන්තර්ජාල නාලිකාවකට සම්බන්ධ කර ඇති අතර නොමිලේ DDoS ප්‍රහාර වලින් ආරක්ෂා වේ!

අවම ලිනක්ස් බෙදාහැරීමක්, Bottlerocket, ධාවන බහාලුම් සඳහා නිකුත් කර ඇත. ඔහු ගැන වඩාත්ම වැදගත් දෙය

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න