அமேசான் நிறுவனம்
பாட்டில்ராக்கெட் (இதன் மூலம், சிறிய வீட்டில் தயாரிக்கப்பட்ட கருப்பு தூள் ராக்கெட்டுகளுக்கு கொடுக்கப்பட்ட பெயர்) கொள்கலன்களுக்கான முதல் OS அல்ல, ஆனால் AWS சேவைகளுடன் இயல்புநிலை ஒருங்கிணைப்பு காரணமாக இது பரவலாக மாறும். கணினி அமேசான் கிளவுட்டில் கவனம் செலுத்தினாலும், திறந்த மூலக் குறியீடு அதை எங்கும் உருவாக்க அனுமதிக்கிறது: உள்நாட்டில் ஒரு சேவையகத்தில், ஒரு ராஸ்பெர்ரி பையில், எந்தவொரு போட்டி மேகத்திலும் மற்றும் கொள்கலன் இல்லாத சூழலில் கூட.
இது Red Hat புதைக்கப்பட்ட CoreOS விநியோகத்திற்கு முற்றிலும் தகுதியான மாற்றாகும்.
உண்மையில், Amazon Web Services பிரிவில் ஏற்கனவே Amazon Linux உள்ளது, இது சமீபத்தில் அதன் இரண்டாவது பதிப்பில் வெளிவந்தது: இது ஒரு பொது-நோக்க விநியோகமாகும், இது ஒரு Docker கொள்கலனில் அல்லது Linux KVM, Microsoft Hyper-V மற்றும் VMware உடன் இயக்கப்படலாம். ESXi ஹைப்பர்வைசர்கள். இது AWS மேகக்கணியில் இயங்குவதற்கு உகந்ததாக இருந்தது, ஆனால் Bottlerocket வெளியீட்டின் மூலம், அனைவரும் மிகவும் பாதுகாப்பான, நவீனமான மற்றும் குறைவான வளங்களைப் பயன்படுத்தும் புதிய அமைப்பிற்கு மேம்படுத்த ஊக்குவிக்கப்படுகிறார்கள்.
AWS Bottlerocket ஐ அறிவித்தது
தீவிர மினிமலிசம்
கொள்கலன்களை இயக்கத் தேவையில்லாத அனைத்தும் லினக்ஸ் அகற்றப்பட்டது. இந்த வடிவமைப்பு, நிறுவனத்தின் படி, தாக்குதல் மேற்பரப்பைக் குறைக்கிறது.
இதன் பொருள் அடிப்படை அமைப்பில் குறைவான தொகுப்புகள் நிறுவப்பட்டுள்ளன, இது OS ஐப் பராமரிப்பதையும் புதுப்பிப்பதையும் எளிதாக்குகிறது, மேலும் சார்புகள் காரணமாக சிக்கல்களின் வாய்ப்பைக் குறைக்கிறது, வள பயன்பாட்டைக் குறைக்கிறது. அடிப்படையில், இங்குள்ள அனைத்தும் தனித்தனி கொள்கலன்களுக்குள் வேலை செய்கின்றன, மேலும் அடிப்படை அமைப்பு நடைமுறையில் வெறுமையாக உள்ளது.
அமேசான் அனைத்து ஷெல்களையும் மொழிபெயர்ப்பாளர்களையும் அகற்றியுள்ளது, அவை பயன்படுத்தப்படும் அபாயத்தை நீக்குகிறது அல்லது பயனர்கள் தற்செயலாக சலுகைகளை அதிகரிக்கும். மினிமலிசம் மற்றும் பாதுகாப்பிற்காக, அடிப்படை படத்தில் கட்டளை ஷெல், ஒரு SSH சேவையகம் அல்லது பைதான் போன்ற மொழிகள் இல்லை. நிர்வாகி கருவிகள் ஒரு தனி சேவை கொள்கலனில் வைக்கப்படுகின்றன, இது இயல்பாகவே முடக்கப்பட்டுள்ளது.
கணினி இரண்டு வழிகளில் நிர்வகிக்கப்படுகிறது: API மற்றும் ஆர்கெஸ்ட்ரேஷன் மூலம்.
தனித்தனி மென்பொருளைப் புதுப்பிக்கும் தொகுப்பு மேலாளருக்குப் பதிலாக, Bottlerocket ஒரு முழுமையான கோப்பு முறைமை படத்தைப் பதிவிறக்கி, அதில் மறுதொடக்கம் செய்கிறது. ஒரு சுமை தோல்வியுற்றால், அது தானாகவே பின்வாங்குகிறது, மேலும் பணிச்சுமை தோல்வியானது கைமுறையாக திரும்பப்பெறுதலைத் தூண்டும் (API வழியாக கட்டளை).
கட்டமைப்பு /etc
RAM இல் கோப்பு முறைமையுடன் ஏற்றப்பட்டது /etc
ஆதரிக்கப்படவில்லை: அமைப்புகளைச் சேமிக்க, நீங்கள் API ஐப் பயன்படுத்த வேண்டும் அல்லது செயல்பாட்டை தனித்தனி கொள்கலன்களுக்கு நகர்த்த வேண்டும்.
API மேம்படுத்தல் திட்டம்
பாதுகாப்பு
கொள்கலன்கள் லினக்ஸ் கர்னலின் நிலையான வழிமுறைகளால் உருவாக்கப்படுகின்றன - cgroups, namespaces மற்றும் seccomp, மேலும் அவை கட்டாய அணுகல் கட்டுப்பாட்டு அமைப்பாகப் பயன்படுத்தப்படுகின்றன, அதாவது கூடுதல் தனிமைப்படுத்தலுக்கு
இயல்பாக, கொள்கலன்களுக்கும் கர்னலுக்கும் இடையில் வளங்களைப் பகிர கொள்கைகள் இயக்கப்படுகின்றன. பயனர்கள் அல்லது நிரல்களை இயக்குவதைத் தடுக்க பைனரிகள் கொடிகளால் பாதுகாக்கப்படுகின்றன. ஒருவர் கோப்பு முறைமைக்குச் சென்றால், ஏதேனும் மாற்றங்களைச் சரிபார்த்து கண்காணிக்க Bottlerocket ஒரு கருவியை வழங்குகிறது.
"சரிபார்க்கப்பட்ட துவக்க" பயன்முறை சாதனம்-மேப்பர்-வெரிட்டி செயல்பாடு மூலம் செயல்படுத்தப்படுகிறது (
கணினியில் ஒரு வடிகட்டி உள்ளது
மரணதண்டனை மாதிரி
பயனர் வரையறுத்த
தொகுப்பு
பாதுகாப்பு
தோல்வி முறை
வளங்களுக்கான அணுகல்
பயனர்
பணி
ஆம்
ஏதேனும்
பயனர் உரிமைகள்
செயல்படுத்துவதில் குறுக்கீடு
கணினி அழைப்பு, தவறு
மைய
பணி
எந்த
நிலையான
எந்த
கர்னல் பீதி
நேராக
BPF
நிகழ்வு
ஆம்
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
.
ரஸ்ட் மற்றும் C/C++ தவிர, சில தொகுப்புகள் Go இல் எழுதப்பட்டுள்ளன.
AWS சேவைகளுடன் ஒருங்கிணைப்பு
இதேபோன்ற கண்டெய்னர் இயக்க முறைமைகளிலிருந்து வித்தியாசம் என்னவென்றால், அமேசான் AWS இல் இயங்குவதற்கும் மற்ற AWS சேவைகளுடன் ஒருங்கிணைப்பதற்கும் Bottlerocket ஐ மேம்படுத்தியுள்ளது.
மிகவும் பிரபலமான கன்டெய்னர் ஆர்கெஸ்ட்ரேட்டர் குபெர்னெட்ஸ் ஆகும், எனவே AWS அதன் சொந்த நிறுவன குபெர்னெட்ஸ் சேவையுடன் (EKS) ஒருங்கிணைப்பை அறிமுகப்படுத்தியது. ஆர்கெஸ்ட்ரேஷன் கருவிகள் ஒரு தனி கட்டுப்பாட்டு கொள்கலனில் வருகின்றன
கடந்த காலங்களில் இதேபோன்ற சில முயற்சிகள் தோல்வியடைந்த நிலையில், பாட்டில் ராக்கெட் புறப்படுமா என்பதைப் பார்ப்பது சுவாரஸ்யமாக இருக்கும். எடுத்துக்காட்டாக, Vmware இலிருந்து PhotonOS உரிமை கோரப்படாததாக மாறியது, மேலும் RedHat CoreOS ஐ வாங்கியது மற்றும்
AWS சேவைகளில் Bottlerocket இன் ஒருங்கிணைப்பு இந்த அமைப்பை அதன் சொந்த வழியில் தனித்துவமாக்குகிறது. சில பயனர்கள் CoreOS அல்லது Alpine போன்ற பிற டிஸ்ட்ரோக்களை விட Bottlerocket ஐ விரும்புவதற்கு இதுவே முக்கிய காரணமாக இருக்கலாம். கணினி ஆரம்பத்தில் EKS மற்றும் ECS உடன் வேலை செய்ய வடிவமைக்கப்பட்டுள்ளது, ஆனால் இது தேவையில்லை என்று மீண்டும் சொல்கிறோம். முதலில், பாட்டில் ராக்கெட் முடியும்
Apache 2.0 உரிமத்தின் கீழ் GitHub இல் Bottlerocket மூலக் குறியீடு வெளியிடப்பட்டது. டெவலப்பர்கள் ஏற்கனவே உள்ளனர்
விளம்பரம் உரிமைகள் மீது
VDSina சலுகைகள்
ஆதாரம்: www.habr.com