குபெர்னெட்ஸ் கிளஸ்டர்களை வடிவமைத்தல்: எத்தனை இருக்க வேண்டும்?

குறிப்பு. மொழிபெயர்: இந்த பொருள் ஒரு கல்வித் திட்டத்திலிருந்து வந்தது கற்று8கள் - Kubernetes அடிப்படையில் உள்கட்டமைப்பை வடிவமைக்கும் போது பிரபலமான கேள்விக்கான பதில். ஒவ்வொரு விருப்பத்தின் நன்மை தீமைகள் பற்றிய போதுமான விரிவான விளக்கங்கள் உங்கள் திட்டத்திற்கான சிறந்த தேர்வு செய்ய உதவும் என்று நம்புகிறோம்.

குபெர்னெட்ஸ் கிளஸ்டர்களை வடிவமைத்தல்: எத்தனை இருக்க வேண்டும்?

டிஎல்; DR: ஒரே மாதிரியான பணிச்சுமைகளை பல பெரிய கிளஸ்டர்களில் (ஒவ்வொரு கிளஸ்டருக்கும் அதிக எண்ணிக்கையிலான பணிச்சுமைகள் இருக்கும்) அல்லது பல சிறியவற்றில் (ஒவ்வொரு கிளஸ்டரிலும் குறைந்த எண்ணிக்கையிலான பணிச்சுமைகளுடன்) இயக்க முடியும்.

ஒவ்வொரு அணுகுமுறையின் நன்மை தீமைகளையும் மதிப்பிடும் அட்டவணை கீழே உள்ளது:

குபெர்னெட்ஸ் கிளஸ்டர்களை வடிவமைத்தல்: எத்தனை இருக்க வேண்டும்?

பயன்பாடுகளை இயக்குவதற்கான தளமாக Kubernetes ஐப் பயன்படுத்தும் போது, ​​க்ளஸ்டர்களை உள்ளமைப்பதில் உள்ள நுணுக்கங்களைப் பற்றி பல அடிப்படைக் கேள்விகள் அடிக்கடி எழுகின்றன:

  • எத்தனை கிளஸ்டர்களைப் பயன்படுத்த வேண்டும்?
  • அவற்றை எவ்வளவு பெரியதாக உருவாக்க வேண்டும்?
  • ஒவ்வொரு கிளஸ்டரும் என்ன உள்ளடக்கியிருக்க வேண்டும்?

இந்த கட்டுரையில், ஒவ்வொரு அணுகுமுறையின் நன்மை தீமைகளையும் பகுப்பாய்வு செய்வதன் மூலம் இந்த கேள்விகளுக்கு பதிலளிக்க முயற்சிப்பேன்.

ஒரு கேள்வியின் அறிக்கை

ஒரு மென்பொருள் உருவாக்குநராக, நீங்கள் பல பயன்பாடுகளை இணையாக உருவாக்கி இயக்க வாய்ப்புள்ளது.

கூடுதலாக, இந்த பயன்பாடுகளின் பல நிகழ்வுகள் வெவ்வேறு சூழல்களில் இயங்கக்கூடும் - எடுத்துக்காட்டாக, இவை இருக்கலாம் தேவ், சோதனை и தயாரிப்பு.

இதன் விளைவாக பயன்பாடுகள் மற்றும் சூழல்களின் முழு அணி:

குபெர்னெட்ஸ் கிளஸ்டர்களை வடிவமைத்தல்: எத்தனை இருக்க வேண்டும்?
பயன்பாடுகள் மற்றும் சூழல்கள்

மேலே உள்ள எடுத்துக்காட்டில், 3 பயன்பாடுகள் மற்றும் 3 சூழல்கள் உள்ளன, இதன் விளைவாக மொத்தம் 9 சாத்தியமான விருப்பங்கள் உள்ளன.

ஒவ்வொரு பயன்பாட்டு நிகழ்வும் ஒரு சுய-கட்டுமான வரிசைப்படுத்தல் அலகு ஆகும், இது நீங்கள் மற்றவர்களுடன் சுயாதீனமாக வேலை செய்ய முடியும்.

அதை கவனியுங்கள் விண்ணப்ப நிகழ்வு பலவற்றைக் கொண்டிருக்கலாம் கூறுகள்முன்பக்கம், பின்தளம், தரவுத்தளம் போன்றவை. மைக்ரோ சர்வீஸ் அப்ளிகேஷனில், அனைத்து மைக்ரோ சர்வீஸ்களும் அடங்கும்.

இதன் விளைவாக, Kubernetes பயனர்களுக்கு பல கேள்விகள் உள்ளன:

  • அனைத்து விண்ணப்ப நிகழ்வுகளும் ஒரே கிளஸ்டரில் ஹோஸ்ட் செய்யப்பட வேண்டுமா?
  • ஒவ்வொரு பயன்பாட்டு நிகழ்வுக்கும் தனித்தனி கிளஸ்டரைத் தொடங்குவது மதிப்புக்குரியதா?
  • அல்லது மேலே உள்ள அணுகுமுறைகளின் கலவையைப் பயன்படுத்த வேண்டுமா?

இந்த அனைத்து விருப்பங்களும் சாத்தியமானவை, ஏனெனில் குபெர்னெட்ஸ் ஒரு நெகிழ்வான அமைப்பாகும், இது பயனரின் விருப்பங்களை மட்டுப்படுத்தாது.

சாத்தியமான சில வழிகள் இங்கே:

  • ஒரு பெரிய பொதுவான கொத்து;
  • பல சிறிய மிகவும் சிறப்பு வாய்ந்த கிளஸ்டர்கள்;
  • ஒரு பயன்பாட்டிற்கு ஒரு கிளஸ்டர்;
  • சுற்றுச்சூழலுக்கு ஒரு கிளஸ்டர்.

கீழே காட்டப்பட்டுள்ளபடி, முதல் இரண்டு அணுகுமுறைகள் விருப்பங்களின் அளவின் எதிர் முனைகளில் உள்ளன:

குபெர்னெட்ஸ் கிளஸ்டர்களை வடிவமைத்தல்: எத்தனை இருக்க வேண்டும்?
சில பெரிய கொத்துகளில் இருந்து (இடது) பல சிறியவை (வலது)

பொதுவாக, ஒரு கொத்து கணுக்கள் மற்றும் காய்களின் கூட்டுத்தொகையை விட அதிகமாக இருந்தால் மற்றொன்றை விட "பெரியது" என்று கருதப்படுகிறது. எடுத்துக்காட்டாக, 10 முனைகள் மற்றும் 100 காய்களைக் கொண்ட ஒரு கொத்து 1 முனை மற்றும் 10 காய்களைக் கொண்ட ஒரு கொத்தை விட பெரியது.

சரி, ஆரம்பிக்கலாம்!

1. ஒரு பெரிய பகிரப்பட்ட கிளஸ்டர்

அனைத்து பணிச்சுமைகளையும் ஒரே கிளஸ்டரில் வைப்பது முதல் விருப்பம்:

குபெர்னெட்ஸ் கிளஸ்டர்களை வடிவமைத்தல்: எத்தனை இருக்க வேண்டும்?
ஒரு பெரிய கொத்து

இந்த அணுகுமுறையில், கிளஸ்டர் உலகளாவியதாகப் பயன்படுத்தப்படுகிறது உள்கட்டமைப்பு தளம் - ஏற்கனவே உள்ள குபெர்னெட்ஸ் கிளஸ்டரில் உங்களுக்கு தேவையான அனைத்தையும் வரிசைப்படுத்தலாம்.

பெயர்வெளிகள் குபெர்னெட்டஸ் உங்களை தர்க்கரீதியாக ஒரு கிளஸ்டரின் பகுதிகளை ஒருவருக்கொருவர் பிரிக்க அனுமதிக்கிறது, இதனால் ஒவ்வொரு பயன்பாட்டு நிகழ்வும் அதன் சொந்த பெயர்வெளியைப் பயன்படுத்தலாம்.

இந்த அணுகுமுறையின் நன்மை தீமைகளைப் பார்ப்போம்.

+ வளங்களை திறம்பட பயன்படுத்துதல்

ஒரு கிளஸ்டரைப் பொறுத்தவரை, குபெர்னெட்ஸ் கிளஸ்டரை இயக்கவும் நிர்வகிக்கவும் தேவையான அனைத்து ஆதாரங்களின் ஒரு நகல் மட்டுமே தேவைப்படும்.

எடுத்துக்காட்டாக, முதன்மை முனைகளுக்கு இது பொருந்தும். பொதுவாக, ஒரு குபெர்னெட்ஸ் கிளஸ்டருக்கு 3 முதன்மை முனைகள் உள்ளன, எனவே ஒரு கிளஸ்டருக்கு, அவற்றின் எண்ணிக்கை அப்படியே இருக்கும் (ஒப்பிடுவதற்கு, 10 கிளஸ்டர்களுக்கு 30 முதன்மை முனைகள் தேவைப்படும்).

மேலே உள்ள நுணுக்கம், லோட் பேலன்சர்கள், இன்க்ரஸ் கன்ட்ரோலர்கள், அங்கீகரிப்பு, பதிவு செய்தல் மற்றும் கண்காணிப்பு அமைப்புகள் போன்ற முழு கிளஸ்டர் முழுவதும் செயல்படும் பிற சேவைகளுக்கும் பொருந்தும்.

ஒரு கிளஸ்டரில், இந்தச் சேவைகள் அனைத்தும் ஒரே நேரத்தில் அனைத்து பணிச்சுமைகளுக்கும் பயன்படுத்தப்படலாம் (பல கிளஸ்டர்களைப் போலவே அவற்றின் நகல்களை உருவாக்க வேண்டிய அவசியமில்லை).

+ மலிவானது

மேற்கூறியவற்றின் விளைவாக, குறைவான க்ளஸ்டர்கள் பொதுவாக மலிவாக இருக்கும், ஏனெனில் அதிகப்படியான வளங்களுக்கு எந்த விலையும் இல்லை.

இது மாஸ்டர்நோட்களுக்கு குறிப்பாக உண்மையாகும், இது வளாகத்தில் அல்லது கிளவுட்டில் ஹோஸ்ட் செய்யப்பட்டாலும் கணிசமான அளவு பணம் செலவாகும்.

சில குபெர்னெட்ஸ் சேவைகளை நிர்வகித்தனர் கூகுள் குபெர்னெட்ஸ் எஞ்சின் (ஜிகேஇ) அல்லது Azure Kubernetes Service (AKS), கட்டுப்பாட்டு அடுக்கை இலவசமாக வழங்கவும். இந்த வழக்கில், செலவு பிரச்சினை குறைவாக உள்ளது.

ஒவ்வொரு குபெர்னெட்ஸ் கிளஸ்டரின் செயல்பாட்டிற்கும் ஒரு நிலையான கட்டணத்தை வசூலிக்கும் நிர்வகிக்கப்பட்ட சேவைகளும் உள்ளன (எடுத்துக்காட்டாக, Amazon Elastic Kubernetes Service, EKS).

+ திறமையான நிர்வாகம்

பலவற்றை விட ஒரு கிளஸ்டரை நிர்வகிப்பது எளிது.

நிர்வாகம் பின்வரும் பணிகளை உள்ளடக்கியிருக்கலாம்:

  • குபெர்னெட்டஸின் பதிப்பைப் புதுப்பித்தல்;
  • CI/CD பைப்லைனை கட்டமைத்தல்;
  • CNI செருகுநிரலை நிறுவுதல்;
  • பயனர் அங்கீகார அமைப்பை அமைத்தல்;
  • சேர்க்கை கட்டுப்படுத்தியின் நிறுவல்;

மற்றும் பலர்…

ஒரு கிளஸ்டரின் விஷயத்தில், நீங்கள் இதை ஒரு முறை மட்டுமே செய்ய வேண்டும்.

பல கிளஸ்டர்களுக்கு, செயல்பாடுகள் பல முறை மீண்டும் மீண்டும் செய்யப்பட வேண்டும், இது ஒரு முறையான மற்றும் சீரான செயல்முறையை உறுதிசெய்ய, செயல்முறைகள் மற்றும் கருவிகளின் சில தானியங்குகள் தேவைப்படும்.

இப்போது தீமைகள் பற்றி சில வார்த்தைகள்.

- தோல்வியின் ஒற்றை புள்ளி

மறுப்பு வழக்கில் ஒன்றே ஒன்று கிளஸ்டர்கள் உடனடியாக வேலை செய்வதை நிறுத்தும் அனைத்து பணிச்சுமை!

ஏதேனும் தவறு நடக்கும்போது பல விருப்பங்கள் உள்ளன:

  • Kubernetes மேம்படுத்தல் எதிர்பாராத பக்க விளைவுகளுக்கு வழிவகுக்கிறது
  • ஒரு கிளஸ்டர் அளவிலான கூறு (எடுத்துக்காட்டாக, ஒரு CNI செருகுநிரல்) எதிர்பார்த்தபடி செயல்படத் தொடங்கவில்லை;
  • கிளஸ்டர் கூறுகளில் ஒன்று தவறாக உள்ளமைக்கப்பட்டுள்ளது;
  • அடிப்படை உள்கட்டமைப்பில் தோல்வி.

இதுபோன்ற ஒரு சம்பவம் பொதுவான கிளஸ்டரில் உள்ள அனைத்து பணிச்சுமைகளுக்கும் கடுமையான சேதத்தை ஏற்படுத்தும்.

- உறுதியான காப்பு இல்லாதது

பகிரப்பட்ட கிளஸ்டரில் இயங்குவது என்பது, பயன்பாடுகள் வன்பொருள், நெட்வொர்க்கிங் திறன்கள் மற்றும் இயக்க முறைமை ஆகியவற்றை கிளஸ்டர் முனைகளில் பகிர்ந்து கொள்கிறது.

ஒரு வகையில், ஒரே ஹோஸ்டில் இயங்கும் இரண்டு வெவ்வேறு பயன்பாடுகளைக் கொண்ட இரண்டு கண்டெய்னர்கள், ஒரே OS கர்னலில் இயங்கும் ஒரே கணினியில் இயங்கும் இரண்டு செயல்முறைகளைப் போன்றது.

லினக்ஸ் கொள்கலன்கள் சில வகையான தனிமைப்படுத்தலை வழங்குகின்றன, ஆனால் மெய்நிகர் இயந்திரங்கள் வழங்குவதைப் போல இது எங்கும் வலுவாக இல்லை. சாராம்சத்தில், ஒரு கொள்கலனில் ஒரு செயல்முறை ஹோஸ்ட் இயக்க முறைமையில் இயங்கும் அதே செயல்முறையாகும்.

இது ஒரு பாதுகாப்பு சிக்கலாக இருக்கலாம்: இந்த அமைப்பு கோட்பாட்டளவில் தொடர்பில்லாத பயன்பாடுகளை ஒருவருக்கொருவர் தொடர்பு கொள்ள அனுமதிக்கிறது (வேண்டுமென்றே அல்லது தற்செயலாக).

கூடுதலாக, குபெர்னெட்ஸ் கிளஸ்டரில் உள்ள அனைத்து பணிச்சுமைகளும் சில கிளஸ்டர் அளவிலான சேவைகளைப் பகிர்ந்து கொள்கின்றன டிஎன்எஸ் - இது கிளஸ்டரில் உள்ள பிற பயன்பாடுகளின் சேவைகளைக் கண்டறிய பயன்பாடுகளை அனுமதிக்கிறது.

பயன்பாட்டின் பாதுகாப்புத் தேவைகளைப் பொறுத்து மேலே உள்ள அனைத்து புள்ளிகளும் வெவ்வேறு அர்த்தங்களைக் கொண்டிருக்கலாம்.

போன்ற பாதுகாப்பு சிக்கல்களைத் தடுக்க பல்வேறு கருவிகளை Kubernetes வழங்குகிறது PodSecurityPolicies и நெட்வொர்க் கொள்கைகள். இருப்பினும், அவை சரியாக உள்ளமைக்க சில அனுபவம் தேவை, மேலும் அவர்களால் அனைத்து பாதுகாப்பு துளைகளையும் மூட முடியாது.

குபெர்னெட்ஸ் முதலில் வடிவமைக்கப்பட்டது என்பதை எப்போதும் நினைவில் கொள்வது அவசியம் பகிர்தல், இல்லை தனிமை மற்றும் பாதுகாப்பு.

− கடினமான பல குத்தகையின்மை

குபெர்னெட்டஸ் கிளஸ்டரில் பகிரப்பட்ட வளங்களின் மிகுதியைக் கருத்தில் கொண்டு, வெவ்வேறு பயன்பாடுகள் ஒன்றையொன்று காலடியில் வைக்க பல வழிகள் உள்ளன.

எடுத்துக்காட்டாக, ஒரு பயன்பாடு பகிரப்பட்ட வளத்தை (செயலி அல்லது நினைவகம் போன்றவை) ஏகபோகமாக்குகிறது மற்றும் அதே ஹோஸ்ட் அணுகலில் இயங்கும் பிற பயன்பாடுகளை மறுக்கலாம்.

குபெர்னெட்ஸ் இந்த நடத்தையை கட்டுப்படுத்த பல்வேறு வழிமுறைகளை வழங்குகிறது வள கோரிக்கைகள் மற்றும் வரம்புகள் (கட்டுரையையும் பார்க்கவும்" குபெர்னெட்டஸில் CPU வரம்புகள் மற்றும் ஆக்கிரமிப்பு த்ரோட்லிங் "- தோராயமாக. மொழிபெயர்ப்பு.), வள ஒதுக்கீடுகள் и வரம்பு வரம்புகள். இருப்பினும், பாதுகாப்பைப் போலவே, அவற்றின் உள்ளமைவு அற்பமானது அல்ல, மேலும் எதிர்பாராத அனைத்து பக்க விளைவுகளையும் அவர்களால் தடுக்க முடியாது.

− அதிக எண்ணிக்கையிலான பயனர்கள்

ஒரு கிளஸ்டரின் விஷயத்தில், நீங்கள் பலருக்கு அணுகலைத் திறக்க வேண்டும். அவற்றின் எண்ணிக்கை அதிகமாக இருந்தால், அவை எதையாவது "உடைத்துவிடும்" ஆபத்து அதிகம்.

கிளஸ்டரின் உள்ளே, யார் என்ன செய்ய முடியும் என்பதை நீங்கள் கட்டுப்படுத்தலாம் பங்கு அடிப்படையிலான அணுகல் கட்டுப்பாடு (RBAC) (கட்டுரையைப் பார்க்கவும்" Kubernetes இல் பயனர்கள் மற்றும் அங்கீகாரம் RBAC "- தோராயமாக. மொழிபெயர்ப்பு.). இருப்பினும், பயனர்கள் தங்கள் பொறுப்பில் உள்ள ஒன்றை "உடைப்பதை" இது தடுக்காது.

- கொத்துகள் காலவரையின்றி வளர முடியாது

அனைத்து பணிச்சுமைகளுக்கும் பயன்படுத்தப்படும் கொத்து மிகவும் பெரியதாக இருக்கும் (முனைகள் மற்றும் காய்களின் எண்ணிக்கையின் அடிப்படையில்).

ஆனால் இங்கே மற்றொரு சிக்கல் எழுகிறது: குபெர்னெட்ஸில் உள்ள கொத்துகள் காலவரையின்றி வளர முடியாது.

கொத்து அளவு கோட்பாட்டு வரம்பு உள்ளது. குபெர்னெட்டஸில், இது தோராயமாக உள்ளது 5000 முனைகள், 150k காய்கள் மற்றும் 300k கொள்கலன்கள்.

இருப்பினும், நிஜ வாழ்க்கையில், பிரச்சினைகள் மிகவும் முன்னதாகவே தொடங்கலாம் - உதாரணமாக, எப்போது 500 முடிச்சுகள்.

உண்மை என்னவென்றால், பெரிய கொத்துகள் குபெர்னெட்ஸ் கட்டுப்பாட்டு அடுக்கில் அதிக சுமைகளை வைக்கின்றன. வேறு வார்த்தைகளில் கூறுவதானால், கிளஸ்டரை மேம்படுத்தவும் திறமையாகவும் இயங்குவதற்கு கவனமாக டியூனிங் தேவை.

"" என்ற தலைப்பில் அசல் வலைப்பதிவில் தொடர்புடைய கட்டுரையில் இந்தச் சிக்கல் ஆராயப்பட்டது.குபெர்னெட்டஸ் கிளஸ்டர்களைக் கட்டமைத்தல் - ஒரு தொழிலாளி முனை அளவைத் தேர்ந்தெடுப்பது".

ஆனால் எதிர் அணுகுமுறையை கருத்தில் கொள்வோம்: பல சிறிய கொத்துகள்.

2. பல சிறிய, சிறப்புக் கொத்துகள்

இந்த அணுகுமுறையின் மூலம், நீங்கள் பயன்படுத்தும் ஒவ்வொரு பொருளுக்கும் தனித்தனி கிளஸ்டரைப் பயன்படுத்துகிறீர்கள்:

குபெர்னெட்ஸ் கிளஸ்டர்களை வடிவமைத்தல்: எத்தனை இருக்க வேண்டும்?
பல சிறிய கொத்துகள்

இந்த கட்டுரையின் நோக்கங்களுக்காக பயன்படுத்தக்கூடிய உறுப்பு பயன்பாட்டின் ஒரு நிகழ்வாக புரிந்து கொள்ளப்படுகிறது - எடுத்துக்காட்டாக, ஒரு தனி பயன்பாட்டின் dev பதிப்பு.

இந்த மூலோபாயத்தில், குபெர்னெட்ஸ் ஒரு சிறப்புப் பொருளாகப் பயன்படுத்தப்படுகிறது இயக்க நேரம் தனிப்பட்ட பயன்பாட்டு நிகழ்வுகளுக்கு.

இந்த அணுகுமுறையின் நன்மை தீமைகளைப் பார்ப்போம்.

+ வரையறுக்கப்பட்ட "வெடிப்பு ஆரம்"

ஒரு கிளஸ்டர் "உடைந்து", எதிர்மறையான விளைவுகள் இந்த கிளஸ்டரில் பயன்படுத்தப்பட்ட பணிச்சுமைகளுக்கு மட்டுமே. மற்ற அனைத்து பணிச்சுமைகளும் தீண்டப்படாமல் உள்ளன.

+ காப்பு

தனிப்பட்ட கிளஸ்டர்களில் ஹோஸ்ட் செய்யப்பட்ட பணிச்சுமைகள் செயலி, நினைவகம், இயக்க முறைமை, நெட்வொர்க் அல்லது பிற சேவைகள் போன்ற பொதுவான ஆதாரங்களைப் பகிர்ந்து கொள்ளாது.

இதன் விளைவாக, தொடர்பில்லாத பயன்பாடுகளுக்கு இடையே வலுவான தனிமைப்படுத்தலைப் பெறுகிறோம், இது அவற்றின் பாதுகாப்பிற்கு பயனுள்ளதாக இருக்கும்.

+ சிறிய எண்ணிக்கையிலான பயனர்கள்

ஒவ்வொரு க்ளஸ்டரிலும் குறைந்த அளவிலான பணிச்சுமைகள் மட்டுமே இருப்பதால், அதை அணுகக்கூடிய பயனர்களின் எண்ணிக்கை குறைக்கப்படுகிறது.

க்ளஸ்டருக்கான அணுகல் குறைவாக உள்ளவர்கள், ஏதாவது "உடைந்துவிடும்" அபாயம் குறைவு.

தீமைகளைப் பார்ப்போம்.

- வளங்களின் திறமையற்ற பயன்பாடு

முன்பு குறிப்பிட்டபடி, ஒவ்வொரு குபெர்னெட்ஸ் கிளஸ்டருக்கும் ஒரு குறிப்பிட்ட மேலாண்மை வளங்கள் தேவைப்படுகின்றன: முதன்மை முனைகள், கட்டுப்பாட்டு அடுக்கு கூறுகள், கண்காணிப்பு மற்றும் பதிவு தீர்வுகள்.

அதிக எண்ணிக்கையிலான சிறிய குழுக்களின் விஷயத்தில், வளங்களின் பெரும் பங்கு நிர்வாகத்திற்கு ஒதுக்கப்பட வேண்டும்.

- விலை உயர்ந்தது

வளங்களின் திறமையற்ற பயன்பாடு தானாகவே அதிக செலவுகளை ஏற்படுத்துகிறது.

எடுத்துக்காட்டாக, ஒரே கம்ப்யூட்டிங் சக்தியுடன் மூன்றிற்குப் பதிலாக 30 மாஸ்டர்நோட்களைப் பராமரிப்பது நிச்சயமாக செலவுகளைப் பாதிக்கும்.

- நிர்வாகத்தின் சிரமங்கள்

பல குபெர்னெட்ஸ் கிளஸ்டர்களை நிர்வகிப்பது ஒன்றை நிர்வகிப்பதை விட மிகவும் கடினம்.

எடுத்துக்காட்டாக, ஒவ்வொரு கிளஸ்டருக்கும் அங்கீகாரம் மற்றும் அங்கீகாரத்தை நீங்கள் கட்டமைக்க வேண்டும். குபெர்னெட்டஸ் பதிப்பை மேம்படுத்துவதும் பல முறை செய்யப்பட வேண்டும்.

பெரும்பாலும், இந்த எல்லா பணிகளின் செயல்திறனை அதிகரிக்க நீங்கள் ஆட்டோமேஷனைப் பயன்படுத்த வேண்டும்.

இப்போது குறைவான தீவிர காட்சிகளைக் கவனியுங்கள்.

3. ஒரு பயன்பாட்டிற்கு ஒரு கிளஸ்டர்

இந்த அணுகுமுறையின் மூலம், ஒரு குறிப்பிட்ட பயன்பாட்டின் அனைத்து நிகழ்வுகளுக்கும் நீங்கள் ஒரு தனி கிளஸ்டரை உருவாக்குகிறீர்கள்:

குபெர்னெட்ஸ் கிளஸ்டர்களை வடிவமைத்தல்: எத்தனை இருக்க வேண்டும்?
ஒவ்வொரு பயன்பாட்டிற்கும் கிளஸ்டர்

இந்த வழியை கொள்கையின் பொதுமைப்படுத்தலாகக் கருதலாம் "ஒரு அணிக்கு தனித் தொகுப்பு” ஏனெனில் பொதுவாக பொறியாளர்கள் குழு ஒன்று அல்லது அதற்கு மேற்பட்ட பயன்பாடுகளின் வளர்ச்சியில் ஈடுபட்டுள்ளது.

இந்த அணுகுமுறையின் நன்மை தீமைகளைப் பார்ப்போம்.

+ கிளஸ்டரை பயன்பாட்டிற்குத் தனிப்பயனாக்கலாம்

ஒரு பயன்பாட்டிற்கு சிறப்புத் தேவைகள் இருந்தால், மற்ற கிளஸ்டர்களைப் பாதிக்காமல் ஒரு கிளஸ்டரில் செயல்படுத்தலாம்.

அத்தகைய தேவைகளில் GPU பணியாளர்கள், சில CNI செருகுநிரல்கள், ஒரு சேவை மெஷ் அல்லது வேறு சில சேவைகள் இருக்கலாம்.

ஒவ்வொரு க்ளஸ்டரும் அதில் இயங்கும் பயன்பாட்டிற்கு ஏற்றவாறு தேவைப்படுவதை மட்டும் கொண்டிருக்கும்.

− ஒரு கிளஸ்டரில் வெவ்வேறு சூழல்கள்

இந்த அணுகுமுறையின் தீமை என்னவென்றால், வெவ்வேறு சூழல்களில் உள்ள பயன்பாட்டு நிகழ்வுகள் ஒரே கிளஸ்டரில் இணைந்து செயல்படுகின்றன.

எடுத்துக்காட்டாக, ஒரு பயன்பாட்டின் தயாரிப்பு பதிப்பு dev பதிப்பின் அதே கிளஸ்டரில் இயங்குகிறது. டெவலப்பர்கள் பயன்பாட்டின் உற்பத்தி பதிப்பின் அதே கிளஸ்டரில் செயல்படுகிறார்கள் என்பதும் இதன் பொருள்.

டெவலப்பர்களின் செயல்கள் அல்லது டெவ் பதிப்பில் உள்ள குறைபாடுகள் காரணமாக கிளஸ்டர் தோல்வியுற்றால், தயாரிப்பு பதிப்பும் பாதிக்கப்படலாம் - இந்த அணுகுமுறையின் மிகப்பெரிய குறைபாடு.

இறுதியாக, எங்கள் பட்டியலில் கடைசி காட்சி.

4. ஒரு சுற்றுச்சூழலுக்கு ஒரு கிளஸ்டர்

ஒவ்வொரு சுற்றுச்சூழலுக்கும் தனித்தனி கிளஸ்டரை ஒதுக்குவதற்கு இந்த சூழ்நிலை வழங்குகிறது:

குபெர்னெட்ஸ் கிளஸ்டர்களை வடிவமைத்தல்: எத்தனை இருக்க வேண்டும்?
சுற்றுச்சூழலுக்கு ஒரு கிளஸ்டர்

எடுத்துக்காட்டாக, உங்களிடம் க்ளஸ்டர்கள் இருக்கலாம் தேவ், சோதனை и தயாரிப்பு, இதில் நீங்கள் ஒரு குறிப்பிட்ட சூழலை நோக்கமாகக் கொண்ட பயன்பாட்டின் அனைத்து நிகழ்வுகளையும் இயக்குவீர்கள்.

இந்த அணுகுமுறையின் நன்மை தீமைகள் இங்கே.

+ புரோட்-சுற்றுச்சூழலின் தனிமைப்படுத்தல்

இந்த அணுகுமுறையில், அனைத்து சூழல்களும் ஒருவருக்கொருவர் தனிமைப்படுத்தப்படுகின்றன. இருப்பினும், நடைமுறையில், இது தயாரிப்பு சூழலுக்கு மிகவும் முக்கியமானது.

பயன்பாட்டின் தயாரிப்பு பதிப்புகள் இப்போது பிற கிளஸ்டர்கள் மற்றும் சூழல்களில் என்ன நடக்கிறது என்பதிலிருந்து சுயாதீனமாக உள்ளன.

இதனால், dev கிளஸ்டரில் திடீரென சிக்கல் ஏற்பட்டால், பயன்பாடுகளின் ப்ராட் பதிப்புகள் எதுவும் நடக்காதது போல் தொடர்ந்து செயல்படும்.

+ சுற்றுச்சூழலுக்கு ஏற்ப கிளஸ்டரை சரிசெய்யலாம்

ஒவ்வொரு கிளஸ்டரும் அதன் சூழலுக்கு ஏற்ப வடிவமைக்கப்படலாம். உதாரணமாக, உங்களால் முடியும்:

  • டெவ் கிளஸ்டரில் மேம்பாடு மற்றும் பிழைத்திருத்தத்திற்கான கருவிகளை நிறுவவும்;
  • சோதனை கட்டமைப்புகள் மற்றும் கருவிகளை கிளஸ்டரில் நிறுவவும் சோதனை;
  • கிளஸ்டரில் அதிக சக்திவாய்ந்த வன்பொருள் மற்றும் பிணைய இணைப்புகளைப் பயன்படுத்தவும் தயாரிப்பு.

இது பயன்பாட்டு மேம்பாடு மற்றும் செயல்பாடு இரண்டின் செயல்திறனை மேம்படுத்துகிறது.

+ உற்பத்தி கிளஸ்டருக்கான அணுகலை கட்டுப்படுத்துதல்

ஒரு தயாரிப்பு கிளஸ்டருடன் நேரடியாக வேலை செய்ய வேண்டிய அவசியம் அடிக்கடி எழுவதில்லை, எனவே நீங்கள் அணுகக்கூடிய நபர்களின் வட்டத்தை கணிசமாகக் கட்டுப்படுத்தலாம்.

நீங்கள் இன்னும் மேலே சென்று, இந்த கிளஸ்டருக்கான அணுகலை முற்றிலும் அகற்றலாம், மேலும் தானியங்கு CI / CD கருவியைப் பயன்படுத்தி அனைத்து வரிசைப்படுத்தல்களையும் செய்யலாம். இத்தகைய அணுகுமுறை மனிதப் பிழைகளின் அபாயத்தைக் குறைக்கும்.

இப்போது தீமைகள் பற்றி சில வார்த்தைகள்.

- பயன்பாடுகளுக்கு இடையில் தனிமைப்படுத்தல் இல்லாமை

அணுகுமுறையின் முக்கிய தீமை வன்பொருள் மற்றும் பயன்பாடுகளுக்கு இடையில் வளங்களை தனிமைப்படுத்துதல் இல்லாதது.

தொடர்பில்லாத பயன்பாடுகள் கிளஸ்டர் ஆதாரங்களைப் பகிர்ந்து கொள்கின்றன: சிஸ்டம் கோர், செயலி, நினைவகம் மற்றும் வேறு சில சேவைகள்.

ஏற்கனவே குறிப்பிட்டுள்ளபடி, இது ஆபத்தானது.

− பயன்பாட்டு சார்புகளை உள்ளூர்மயமாக்க இயலாமை

பயன்பாட்டிற்கு சிறப்புத் தேவைகள் இருந்தால், அவை அனைத்து கிளஸ்டர்களிலும் திருப்திப்படுத்தப்பட வேண்டும்.

எடுத்துக்காட்டாக, ஒரு பயன்பாட்டிற்கு GPU தேவைப்பட்டால், ஒவ்வொரு கிளஸ்டரிலும் குறைந்தபட்சம் ஒரு GPU உடன் ஒரு பணியாளராவது இருக்க வேண்டும் (அது இந்தப் பயன்பாட்டினால் மட்டுமே பயன்படுத்தப்பட்டாலும் கூட).

இதன் விளைவாக, அதிக செலவுகள் மற்றும் வளங்களை திறமையற்ற முறையில் பயன்படுத்துவதற்கான ஆபத்து உள்ளது.

முடிவுக்கு

உங்களிடம் ஒரு குறிப்பிட்ட பயன்பாடுகள் இருந்தால், அவை பல பெரிய கிளஸ்டர்களில் அல்லது பல சிறியவற்றில் வைக்கப்படலாம்.

ஒரு உலகளாவிய கிளஸ்டர் முதல் பல சிறிய மற்றும் மிகவும் சிறப்பு வாய்ந்தவை வரை பல்வேறு அணுகுமுறைகளின் நன்மை தீமைகளை கட்டுரை விவாதிக்கிறது:

  • ஒரு பெரிய பொதுவான கொத்து;
  • பல சிறிய மிகவும் சிறப்பு வாய்ந்த கிளஸ்டர்கள்;
  • ஒரு பயன்பாட்டிற்கு ஒரு கிளஸ்டர்;
  • சுற்றுச்சூழலுக்கு ஒரு கிளஸ்டர்.

எனவே எந்த அணுகுமுறையை நீங்கள் தேர்வு செய்ய வேண்டும்?

வழக்கம் போல், பதில் பயன்பாட்டு வழக்கைப் பொறுத்தது: நீங்கள் வெவ்வேறு அணுகுமுறைகளின் நன்மை தீமைகளை எடைபோட்டு சிறந்த விருப்பத்தைத் தேர்வு செய்ய வேண்டும்.

இருப்பினும், தேர்வு மேலே உள்ள எடுத்துக்காட்டுகளுக்கு மட்டுப்படுத்தப்படவில்லை - நீங்கள் அவற்றின் எந்த கலவையையும் பயன்படுத்தலாம்!

எடுத்துக்காட்டாக, ஒவ்வொரு குழுவிற்கும் ஒரு ஜோடி கிளஸ்டர்களை நீங்கள் ஒழுங்கமைக்கலாம்: மேம்பாட்டிற்கான ஒரு கிளஸ்டர் (இது சூழல்களைக் கொண்டிருக்கும். தேவ் и சோதனை) மற்றும் ஒரு கிளஸ்டர் தயாரிப்பு (உற்பத்தி சூழல் எங்கே இருக்கும்).

இந்த கட்டுரையில் உள்ள தகவல்களின் அடிப்படையில், ஒரு குறிப்பிட்ட சூழ்நிலைக்கு ஏற்ப நீங்கள் நன்மை தீமைகளை மேம்படுத்த முடியும். நல்ல அதிர்ஷ்டம்!

சோசலிஸ்ட் கட்சி

எங்கள் வலைப்பதிவிலும் படிக்கவும்:

ஆதாரம்: www.habr.com

கருத்தைச் சேர்