ඇමසන් සමාගම
Bottlerocket (මාර්ගය වන විට, කුඩා ගෙදර හැදූ කළු කුඩු රොකට් සඳහා ලබා දී ඇති නම) බහාලුම් සඳහා වන පළමු මෙහෙයුම් පද්ධතිය නොවේ, නමුත් AWS සේවාවන් සමඟ පෙරනිමියෙන් ඒකාබද්ධ වීම නිසා එය පුළුල් ලෙස පැතිරෙනු ඇත. පද්ධතිය ඇමේසන් වලාකුළ කෙරෙහි අවධානය යොමු කර ඇතත්, විවෘත කේත එය ඕනෑම තැනක ගොඩ නැගීමට ඉඩ සලසයි: දේශීයව සේවාදායකයක, Raspberry Pi මත, ඕනෑම තරඟකාරී වලාකුළක සහ බහාලුම් රහිත පරිසරයක පවා.
මෙය Red Hat විසින් වළලනු ලැබූ CoreOS බෙදාහැරීම සඳහා සම්පූර්ණයෙන්ම වටිනා ආදේශකයකි.
ඇත්ත වශයෙන්ම, Amazon Web Services අංශයට දැනටමත් Amazon Linux ඇත, එය මෑතකදී එහි දෙවන අනුවාදයෙන් නිකුත් විය: එය ඩොකර් කන්ටේනරයක හෝ Linux KVM, Microsoft Hyper-V සහ VMware සමඟ ක්රියාත්මක කළ හැකි පොදු කාර්ය බෙදාහැරීමකි. ESXi හයිපර්වයිසර්. එය AWS ක්ලවුඩ් මත ධාවනය කිරීමට ප්රශස්ත කර ඇත, නමුත් Bottlerocket නිකුත් කිරීමත් සමඟ, වඩාත් ආරක්ෂිත, නවීන සහ අඩු සම්පත් භාවිතා කරන නව පද්ධතියකට උත්ශ්රේණි කිරීමට සියලු දෙනා උනන්දු කරනු ලැබේ.
AWS Bottlerocket නිවේදනය කළේය
අන්ත අවමවාදය
Linux බහාලුම් ක්රියාත්මක කිරීමට අවශ්ය නොවන සියල්ල ඉවත් කර ඇත. මෙම සැලසුම, සමාගමට අනුව, ප්රහාරක පෘෂ්ඨය අඩු කරයි.
මෙයින් අදහස් කරන්නේ මූලික පද්ධතියේ අඩු පැකේජ ස්ථාපනය කර ඇති අතර එමඟින් OS නඩත්තු කිරීම සහ යාවත්කාලීන කිරීම පහසු වන අතර සම්පත් භාවිතය අඩු කිරීම පරායත්තතා හේතුවෙන් ගැටළු ඇතිවීමේ සම්භාවිතාව අඩු කරයි. මූලික වශයෙන්, මෙහි ඇති සෑම දෙයක්ම වෙනම බහාලුම් ඇතුළත ක්රියා කරයි, සහ යටින් පවතින පද්ධතිය ප්රායෝගිකව හිස් ය.
Amazon විසින් සියළුම ෂෙල් වෙඩි සහ පරිවර්තකයන් ඉවත් කර ඇති අතර, ඒවා භාවිතා කිරීමේ අවදානම ඉවත් කර ඇත, නැතහොත් පරිශීලකයින් අහම්බෙන් වරප්රසාද වැඩි කරයි. අවමවාදය සහ ආරක්ෂාව සඳහා, මූලික රූපයේ විධාන කවචයක්, SSH සේවාදායකයක් හෝ Python වැනි අර්ථකථන භාෂා ඇතුළත් නොවේ. පරිපාලක මෙවලම් වෙනම සේවා කන්ටේනරයක තබා ඇති අතර එය පෙරනිමියෙන් අබල කර ඇත.
පද්ධතිය ක්රම දෙකකින් කළමනාකරණය කරයි: API සහ වාද්ය වෘන්දය හරහා.
තනි මෘදුකාංග කෑලි යාවත්කාලීන කරන පැකේජ කළමනාකරු වෙනුවට, Bottlerocket සම්පූර්ණ ගොනු පද්ධති රූපයක් බාගත කර එය තුළට නැවත ආරම්භ කරයි. පැටවීමක් අසමත් වුවහොත්, එය ස්වයංක්රීයව පෙරළෙන අතර, වැඩ බර අසාර්ථක වීමක් අතින් ආපසු හැරීමක් (API හරහා විධානය) ක්රියාරම්භ කළ හැක.
රාමුව /etc
RAM හි ගොනු පද්ධතිය සමඟ සවි කර ඇත /etc
සහාය නොදක්වයි: සැකසුම් සුරැකීමට ඔබ API භාවිතා කළ යුතුය හෝ ක්රියාකාරීත්වය වෙනම බහාලුම්වලට ගෙන යා යුතුය.
API යාවත්කාලීන යෝජනා ක්රමය
Безопасность
බහාලුම් නිර්මාණය කර ඇත්තේ ලිනක්ස් කර්නලයේ සම්මත යාන්ත්රණයන් මගිනි - cgroups, namespaces සහ seccomp, සහ බලහත්කාර ප්රවේශ පාලන පද්ධතියක් ලෙස භාවිතා කරයි, එනම් අතිරේක හුදකලා කිරීම සඳහා
පෙරනිමියෙන්, බහාලුම් සහ කර්නලය අතර සම්පත් බෙදා ගැනීමට ප්රතිපත්ති සබල කර ඇත. භාවිතා කරන්නන් හෝ වැඩසටහන් ක්රියාත්මක කිරීම වැළැක්වීම සඳහා ද්විමය කොඩි වලින් ආරක්ෂා කර ඇත. යමෙක් ගොනු පද්ධතියට පිවිසෙන්නේ නම්, Bottlerocket විසින් සිදු කරන ලද වෙනස්කම් පරීක්ෂා කිරීමට සහ නිරීක්ෂණය කිරීමට මෙවලමක් ඉදිරිපත් කරයි.
“සත්යාපිත ඇරඹුම්” මාදිලිය උපාංග-සිතියම්කරු-සත්යතා ශ්රිතය හරහා ක්රියාත්මක වේ (
පද්ධතියේ පෙරහන ද ඇත
ක්රියාත්මක කිරීමේ ආකෘතිය
පරිශීලක අර්ථ දක්වා ඇත
සම්පාදනය
Безопасность
අසාර්ථක මාදිලිය
සම්පත් සඳහා ප්රවේශය
පරිශීලක
කාර්යය
ඔව්
ඕනෑම
පරිශීලක අයිතිවාසිකම්
ක්රියාත්මක කිරීම බාධා කරන්න
පද්ධති ඇමතුම, දෝෂය
හරය
කාර්යය
කිසිදු
ස්ථිතික
කිසිදු
කර්නලය සන්ත්රාසය
කෙළින්ම
බීපීඑෆ්
событие
ඔව්
JIT, CO-RE
සත්යාපනය, JIT
දෝෂ පණිවිඩය
සීමිත සහායකයින්
BPF සාමාන්ය පරිශීලක හෝ කර්නල් මට්ටමේ කේතයෙන් වෙනස් වන ආකාරය
AWS පැවසුවේ Bottlerocket "පරිපාලන වරප්රසාද සහිත නිෂ්පාදන සේවාදායක වෙත සම්බන්ධතා වැලැක්වීමෙන් ආරක්ෂාව තවදුරටත් වැඩිදියුණු කරන මෙහෙයුම් ආකෘතියක් භාවිතා කරන" සහ "එක් එක් සත්කාරකයේ පාලනය සීමා සහිත විශාල බෙදාහැරීමේ පද්ධති සඳහා සුදුසු වේ."
පද්ධති පරිපාලකයින් සඳහා පරිපාලක බහාලුමක් සපයනු ලැබේ. නමුත් AWS සිතන්නේ පරිපාලකයෙකුට Bottlerocket තුළ බොහෝ විට වැඩ කිරීමට අවශ්ය වනු ඇති බවයි: "වෙනම Bottlerocket නිදසුනකට ලොග් වීමේ ක්රියාව කලාතුරකින් සිදුවන මෙහෙයුම් සඳහා අදහස් කෙරේ: උසස් නිදොස්කරණය සහ දෝශ නිරාකරණය,"
මලකඩ භාෂාව
කර්නලය උඩ OS උපකරණය බොහෝ දුරට රස්ට් වලින් ලියා ඇත. මෙම භාෂාව එහි ස්වභාවය අනුව ය
ගොඩනඟන විට කොඩි පෙරනිමියෙන් යොදනු ලැබේ --enable-default-pie
и --enable-default-ssp
ක්රියාත්මක කළ හැකි ගොනු වල ලිපින අවකාශය සසම්භාවී කිරීම සක්රීය කිරීමට (
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 ගුවන් ගත වේද යන්න බැලීම සිත්ගන්නා කරුණකි. උදාහරණයක් ලෙස, Vmware වෙතින් PhotonOS හිමිකම් නොලබන බවට පත් වූ අතර RedHat CoreOS සහ
AWS සේවාවන් වෙත Bottlerocket ඒකාබද්ධ කිරීම මෙම පද්ධතිය එහිම ආකාරයෙන් අද්විතීය කරයි. සමහර පරිශීලකයින් CoreOS හෝ Alpine වැනි අනෙකුත් බෙදාහැරීම් වලට වඩා Bottlerocket කැමති වීමට ප්රධාන හේතුව මෙය විය හැකිය. පද්ධතිය මුලින් EKS සහ ECS සමඟ වැඩ කිරීමට සැලසුම් කර ඇත, නමුත් මෙය අවශ්ය නොවන බව අපි නැවත කියමු. පළමුව, Bottlerocket හැක
Bottlerocket මූලාශ්ර කේතය Apache 2.0 බලපත්රය යටතේ GitHub මත ප්රකාශයට පත් කෙරේ. සංවර්ධකයින් දැනටමත් ඇත
දැන්වීම් ප්රචාරණ අයිතිවාසිකම්
VDSina දීමනා
මූලාශ්රය: www.habr.com