தற்போது, அதிகமான நிறுவனங்கள் தங்கள் உள்கட்டமைப்பை வன்பொருள் சேவையகங்கள் மற்றும் தங்கள் சொந்த மெய்நிகர் இயந்திரங்களிலிருந்து கிளவுட்க்கு மாற்றுகின்றன. இந்த தீர்வை விளக்குவது எளிது: வன்பொருள் பற்றி கவலைப்படத் தேவையில்லை, க்ளஸ்டர் பல்வேறு வழிகளில் எளிதில் கட்டமைக்கப்படுகிறது... மேலும் முக்கியமாக, தற்போதுள்ள தொழில்நுட்பங்கள் (குபெர்னெட்ஸ் போன்றவை) சுமையைப் பொறுத்து கணினி சக்தியை எளிமையாக அளவிடுவதை சாத்தியமாக்குகின்றன. .
நிதி அம்சம் எப்போதும் முக்கியமானது. இந்தக் கட்டுரையில் விவாதிக்கப்பட்ட கருவி, குபெர்னெட்டஸுடன் கிளவுட் உள்கட்டமைப்பைப் பயன்படுத்தும் போது பட்ஜெட்டைக் குறைக்க உதவும் வகையில் வடிவமைக்கப்பட்டுள்ளது.
அறிமுகம்
குபெகோஸ்ட் கூகிளின் கலிஃபோர்னியா தொடக்கமானது, கிளவுட் சேவைகளில் உள்கட்டமைப்பு செலவுகளைக் கணக்கிடுவதற்கான தீர்வை உருவாக்குகிறது (குபெர்னெட்டஸ் கிளஸ்டர் + பகிரப்பட்ட ஆதாரங்களுக்குள்), கிளஸ்டர் அமைப்புகளில் இடையூறுகளைக் கண்டறிந்து ஸ்லாக்கிற்கு பொருத்தமான அறிவிப்புகளை அனுப்புகிறது.
எங்களிடம் குபெர்னெட்ஸுடன் பழகிய AWS மற்றும் GCP கிளவுட்கள் மற்றும் மிகவும் அரிதாக Linux சமூகம், Azure - பொதுவாக, Kubecost ஆல் ஆதரிக்கப்படும் அனைத்து தளங்களிலும் வாடிக்கையாளர்கள் உள்ளனர். அவர்களில் சிலருக்கு, உள்-கிளஸ்டர் சேவைகளின் செலவுகளை நாமே கணக்கிடுகிறோம் (குபெகோஸ்ட் பயன்படுத்தும் முறையைப் பயன்படுத்தி), மேலும் உள்கட்டமைப்பு செலவுகளைக் கண்காணித்து அவற்றை மேம்படுத்த முயற்சிக்கிறோம். எனவே, இதுபோன்ற பணிகளை தானியக்கமாக்குவதற்கான சாத்தியக்கூறுகளில் நாங்கள் ஆர்வமாக இருந்தோம் என்பது தர்க்கரீதியானது.
பிரதான குபெகோஸ்ட் தொகுதியின் மூலக் குறியீடு திறந்த மூல உரிமத்தின் (அப்பாச்சி உரிமம் 2.0) விதிமுறைகளின் கீழ் திறக்கப்பட்டுள்ளது. இது சுதந்திரமாகப் பயன்படுத்தப்படலாம் மற்றும் சிறிய திட்டங்களுக்கு கிடைக்கும் அம்சங்கள் போதுமானதாக இருக்க வேண்டும். இருப்பினும், வணிகம் வணிகமாகும்: மீதமுள்ள தயாரிப்பு மூடப்பட்டுள்ளது, அதைப் பயன்படுத்தலாம் செலுத்தப்பட்ட சந்தாக்கள், இது வணிக ஆதரவையும் குறிக்கிறது. கூடுதலாக, ஆசிரியர்கள் சிறிய கிளஸ்டர்களுக்கான இலவச உரிமத்தை வழங்குகிறார்கள் (1 முனைகளுடன் 10 கிளஸ்டர் - இந்த கட்டுரையை எழுதும் போது, இந்த வரம்பு 20 முனைகளாக விரிவடைந்துள்ளது) அல்லது 1 மாதத்திற்கான முழு திறன்களுடன் ஒரு சோதனை காலம்.
எல்லாம் எப்படி வேலை செய்கிறது
எனவே, Kubecost இன் முக்கிய பகுதி பயன்பாடு ஆகும் செலவு மாதிரி, கோவில் எழுதப்பட்டது. முழு அமைப்பையும் விவரிக்கும் ஹெல்ம் விளக்கப்படம் அழைக்கப்படுகிறது செலவு பகுப்பாய்வி மற்றும் அதன் மையத்தில் ப்ரோமிதியஸ், கிராஃபனா மற்றும் பல டேஷ்போர்டுகளுடன் கூடிய விலை-மாடலில் இருந்து ஒரு அசெம்பிளி உள்ளது.
பொதுவாகச் சொன்னால், காஸ்ட்-மாடல் அதன் சொந்த இணைய இடைமுகத்தைக் கொண்டுள்ளது, இது அட்டவணை வடிவத்தில் செலவுகள் பற்றிய வரைபடங்கள் மற்றும் விரிவான புள்ளிவிவரங்களைக் காட்டுகிறது, அதே போல், செலவுகளை மேம்படுத்துவதற்கான உதவிக்குறிப்புகளையும் காட்டுகிறது. கிராஃபனாவில் வழங்கப்பட்ட டாஷ்போர்டுகள் குபெகோஸ்டின் வளர்ச்சியின் முந்தைய கட்டமாகும், மேலும் விலை-மாடலின் அதே தரவைக் கொண்டிருக்கின்றன, அவை கிளஸ்டரில் CPU/மெமரி/நெட்வொர்க்/டிஸ்க் இடத்தின் நுகர்வு மற்றும் அதன் வழக்கமான புள்ளிவிவரங்களுடன் கூடுதலாக உள்ளன. கூறுகள்.
Kubecost எப்படி வேலை செய்கிறது?
கிளவுட் வழங்குநர்களின் API மூலம் சேவைகளுக்கான விலைகளை விலை மாடல் பெறுகிறது.
மேலும், கணுவின் இரும்பு வகை மற்றும் பிராந்தியத்தைப் பொறுத்து, ஒரு முனையின் விலை கணக்கிடப்படுகிறது.
இயங்கும் முனைகளின் விலையின் அடிப்படையில், ஒவ்வொரு லீஃப் போட் CPU உபயோகத்தின் ஒரு மணி நேரத்திற்கும், ஒரு ஜிகாபைட் நினைவகத்தின் நுகர்வுக்கும் மற்றும் ஒரு மணிநேரத்திற்கு ஒரு ஜிகாபைட் தரவு சேமிக்கப்படும் - அது இயங்கும் முனை அல்லது சேமிப்பகத்தின் வகுப்பைப் பொறுத்து.
தனிப்பட்ட காய்களை இயக்குவதற்கான செலவின் அடிப்படையில், பெயர்வெளிகள், சேவைகள், வரிசைப்படுத்தல்கள், ஸ்டேட்ஃபுல்செட்டுகளுக்கு கட்டணம் கணக்கிடப்படுகிறது.
kube-state-metrics மற்றும் node-exporter வழங்கும் அளவீடுகளைப் பயன்படுத்தி புள்ளிவிவரங்கள் கணக்கிடப்படுகின்றன.
குபெகோஸ்ட் என்று கருதுவது முக்கியம் இயல்பாக, குபெர்னெட்ஸில் கிடைக்கும் ஆதாரங்களை மட்டுமே கணக்கிடுகிறது. வெளிப்புற தரவுத்தளங்கள், GitLab சேவையகங்கள், S3 சேமிப்பகங்கள் மற்றும் கிளஸ்டரில் இல்லாத பிற சேவைகள் (ஒரே மேகக்கணியில் அமைந்திருந்தாலும்) அதற்குத் தெரிவதில்லை. GCP மற்றும் AWS க்கு நீங்கள் உங்கள் சேவை கணக்குகளின் விசைகளைச் சேர்த்து எல்லாவற்றையும் ஒன்றாகக் கணக்கிடலாம்.
நிறுவல்
Kubecost தேவை:
குபெர்னெட்ஸ் பதிப்பு 1.8 மற்றும் அதற்கு மேற்பட்டது;
kube-state-metrics;
ப்ரோமிதியஸ்;
முனை-ஏற்றுமதியாளர்.
எங்கள் கிளஸ்டர்களில் இந்த நிபந்தனைகள் அனைத்தும் முன்கூட்டியே பூர்த்தி செய்யப்பட்டன, எனவே ப்ரோமிதியஸை அணுகுவதற்கான சரியான இறுதிப் புள்ளியைக் குறிப்பிடுவது போதுமானது என்று மாறியது. இருப்பினும், அதிகாரப்பூர்வ kubecost ஹெல்ம் விளக்கப்படம் நீங்கள் ஒரு வெற்று கிளஸ்டரில் இயங்க வேண்டிய அனைத்தையும் கொண்டுள்ளது.
Kubecost ஐ நிறுவ பல வழிகள் உள்ளன:
நிலையான நிறுவல் முறை விவரிக்கப்பட்டுள்ளது அறிவுறுத்தல்கள் டெவலப்பரின் இணையதளத்தில் தேவை ஹெல்மில் செலவு-பகுப்பாய்வி களஞ்சியத்தைச் சேர்த்து, பின்னர் விளக்கப்படத்தை நிறுவவும். உங்கள் போர்ட்டை முன்னனுப்புவது மற்றும் அமைப்புகளை கைமுறையாக (குபெக்ட்ல் வழியாக) மற்றும்/அல்லது விலை மாதிரி இணைய இடைமுகத்தைப் பயன்படுத்தி தேவையான நிலைக்குச் சரிசெய்வது மட்டுமே எஞ்சியுள்ளது.
நாங்கள் மூன்றாம் தரப்பு ஆயத்த உள்ளமைவுகளைப் பயன்படுத்தாததால், இந்த முறையை நாங்கள் முயற்சிக்கவில்லை, ஆனால் இது ஒரு நல்ல "நீங்களே முயற்சி செய்யுங்கள்" விருப்பமாகத் தெரிகிறது. நீங்கள் ஏற்கனவே சில கணினி கூறுகளை நிறுவியிருந்தால் அல்லது இன்னும் நன்றாகச் சரிசெய்ய விரும்பினால், இரண்டாவது பாதையைக் கருத்தில் கொள்வது நல்லது.
அடிப்படையில் பயன்படுத்தவும் அதே விளக்கப்படம், ஆனால் அதை நீங்களே கட்டமைத்து நிறுவவும் எந்த வசதியான வழியிலும்.
ஏற்கனவே குறிப்பிட்டுள்ளபடி, kubecost ஐத் தவிர, இந்த விளக்கப்படத்தில் Grafana மற்றும் Prometheus விளக்கப்படங்கள் உள்ளன, அவை விரும்பியபடி தனிப்பயனாக்கலாம்.
விளக்கப்படத்தில் கிடைக்கும் values.yaml செலவு பகுப்பாய்வி உங்களை உள்ளமைக்க அனுமதிக்கிறது:
பயன்படுத்தப்பட வேண்டிய செலவு-பகுப்பாய்வு கூறுகளின் பட்டியல்;
Prometheus க்கான உங்கள் இறுதிப்புள்ளி (உங்களிடம் ஏற்கனவே இருந்தால்);
செலவு மாதிரி மற்றும் கிராஃபனாவுக்கான டொமைன்கள் மற்றும் பிற நுழைவு அமைப்புகள்;
காய்களுக்கான சிறுகுறிப்புகள்;
நிரந்தர சேமிப்பு மற்றும் அதன் அளவு பயன்படுத்த வேண்டிய அவசியம்.
விளக்கங்களுடன் கிடைக்கக்கூடிய உள்ளமைவு விருப்பங்களின் முழுமையான பட்டியல் கிடைக்கிறது ஆவணங்கள்.
அதன் அடிப்படை பதிப்பில் உள்ள kubecost அணுகலைக் கட்டுப்படுத்த முடியாது என்பதால், இணையப் பேனலுக்கான அடிப்படை அங்கீகாரத்தை நீங்கள் உடனடியாக உள்ளமைக்க வேண்டும்.
நிறுவ சிஸ்டம் கோர் மட்டுமே - செலவு மாதிரி. இதைச் செய்ய, நீங்கள் க்ளஸ்டரில் Prometheus ஐ நிறுவியிருக்க வேண்டும் மற்றும் அதன் முகவரியின் தொடர்புடைய மதிப்பை மாறியில் குறிப்பிடவும். prometheusEndpoint ஹெல்முக்கு. அதன் பிறகு - விண்ணப்பிக்கவும் YAML கட்டமைப்புகளின் தொகுப்பு கிளஸ்டரில்.
மீண்டும், அடிப்படை அங்கீகாரத்துடன் நீங்கள் கைமுறையாக Ingress ஐ சேர்க்க வேண்டும். இறுதியாக, நீங்கள் செலவு மாதிரி அளவீடுகளைச் சேகரிப்பதற்கான ஒரு பகுதியைச் சேர்க்க வேண்டும் extraScrapeConfigs ப்ரோமிதியஸ் கட்டமைப்பில்:
முழு நிறுவலுடன், எங்களிடம் kubecost மற்றும் Grafana வெப் பேனல் மற்றும் டேஷ்போர்டுகள் உள்ளன.
மொத்த செலவு, பிரதான திரையில் காட்டப்படும், உண்மையில் மாதத்திற்கான ஆதாரங்களின் மதிப்பிடப்பட்ட செலவைக் காட்டுகிறது. இது திட்டமிடப்பட்டது தற்போதைய வள நுகர்வு மட்டத்தில் கிளஸ்டரைப் பயன்படுத்துவதற்கான செலவை (மாதத்திற்கு) பிரதிபலிக்கும் விலை.
இந்த அளவீடு செலவுகளை பகுப்பாய்வு செய்வதற்கும் அவற்றை மேம்படுத்துவதற்கும் அதிகம். kubecost இல் சுருக்கமான ஜூலைக்கான மொத்த செலவுகளைப் பார்ப்பது மிகவும் வசதியானது அல்ல: நீங்கள் செய்ய வேண்டும் பில்லிங் செல்ல. ஆனால், 1/2/7/30/90 நாட்களுக்கு பெயர்வெளிகள், லேபிள்கள், காய்கள் ஆகியவற்றின் மூலம் செலவுகள் பிரிக்கப்பட்டிருப்பதைக் காணலாம், இது பில்லிங் உங்களுக்குக் காட்டாது.
பேசுவது லேபிள்கள். நீங்கள் உடனடியாக அமைப்புகளுக்குச் சென்று, குழுவாக்கும் செலவுகளுக்கு கூடுதல் வகைகளாகப் பயன்படுத்தப்படும் லேபிள்களின் பெயர்களை அமைக்க வேண்டும்:
நீங்கள் எந்த லேபிள்களையும் அவற்றில் தொங்கவிடலாம் - உங்களிடம் ஏற்கனவே உங்கள் சொந்த லேபிளிங் அமைப்பு இருந்தால் வசதியானது.
விலை-மாடல் இணைக்கும் API இறுதிப்புள்ளியின் முகவரியையும் நீங்கள் அங்கு மாற்றலாம், GCP இல் தள்ளுபடி அளவை சரிசெய்து, வளங்கள் மற்றும் நாணயத்திற்கான உங்கள் சொந்த விலைகளை அவற்றின் அளவீட்டுக்கு அமைக்கலாம் (சில காரணங்களால் இந்த அம்சம் மொத்த செலவைப் பாதிக்காது).
Kubecost பல்வேறு காட்ட முடியும் கிளஸ்டரில் உள்ள சிக்கல்கள் (மற்றும் ஆபத்து ஏற்பட்டால் கூட எச்சரிக்கையாக இருக்கும்). துரதிர்ஷ்டவசமாக, விருப்பத்தை உள்ளமைக்க முடியாது, எனவே, டெவலப்பர்களுக்கான சூழல்கள் மற்றும் அவற்றைப் பயன்படுத்தினால், நீங்கள் தொடர்ந்து இதுபோன்ற ஒன்றைக் காண்பீர்கள்:
ஒரு முக்கியமான கருவி - கிளஸ்டர் சேமிப்பு. இது காய்களின் செயல்பாட்டை அளவிடுகிறது (நெட்வொர்க் உட்பட வளங்களின் நுகர்வு), மேலும் எவ்வளவு பணம் மற்றும் நீங்கள் எதைச் சேமிக்க முடியும் என்பதைக் கணக்கிடுகிறது.
தேர்வுமுறை உதவிக்குறிப்புகள் மிகவும் வெளிப்படையானவை என்று தோன்றலாம், ஆனால் இன்னும் பார்க்க ஏதாவது இருக்கிறது என்று அனுபவம் தெரிவிக்கிறது. குறிப்பாக, காய்களின் நெட்வொர்க் செயல்பாடு கண்காணிக்கப்படுகிறது (செயலற்றவற்றில் கவனம் செலுத்துமாறு குபெகோஸ்ட் பரிந்துரைக்கிறது), கோரப்பட்ட மற்றும் உண்மையான நினைவகம் மற்றும் CPU நுகர்வு ஒப்பிடப்படுகிறது, அத்துடன் கிளஸ்டர் முனைகளால் பயன்படுத்தப்படும் CPU (பல முனைகளை ஒன்றாகச் சரியச் செய்கிறது), வட்டு சுமை மற்றும் இன்னும் இரண்டு டஜன் அளவுருக்கள்.
எந்தவொரு தேர்வுமுறை சிக்கலைப் போலவே, குபெகோஸ்ட் தரவின் அடிப்படையில் வளங்களை மேம்படுத்துதல் தேவை: எச்சரிக்கையுடன் நடத்துங்கள். எடுத்துக்காட்டாக, க்ளஸ்டர் சேவிங்ஸ், நோட்களை நீக்குவதைப் பரிந்துரைக்கிறது, அது பாதுகாப்பானது என்று கூறி, ஆனால் மற்ற முனைகளில் இல்லாத நோட்-செலக்டர்கள் மற்றும் அவற்றின் மீது பயன்படுத்தப்பட்ட கறைகளை கணக்கில் எடுத்துக்கொள்ளாது. மற்றும் பொதுவாக, தங்கள் தயாரிப்பு ஆசிரியர்கள் கூட சமீபத்திய கட்டுரை (மூலம், திட்டத்தின் தலைப்பில் ஆர்வமுள்ளவர்களுக்கு இது மிகவும் பயனுள்ளதாக இருக்கும்) செலவுத் தேர்வுமுறைக்கு அவசரப்பட வேண்டாம், ஆனால் சிக்கலை சிந்தனையுடன் அணுக பரிந்துரைக்கப்படுகிறது.
முடிவுகளை
இரண்டு திட்டங்களில் ஒரு மாதத்திற்கு kubecost ஐப் பயன்படுத்திய பிறகு, இது Kubernetes க்ளஸ்டர்களுக்குப் பயன்படுத்தப்படும் கிளவுட் வழங்குநர்களின் சேவைகளுக்கான செலவுகளை பகுப்பாய்வு செய்வதற்கும் மேம்படுத்துவதற்கும் ஒரு சுவாரஸ்யமான (மேலும் கற்றுக்கொள்வதற்கும் நிறுவுவதற்கும் எளிதானது) கருவி என்று நாம் முடிவு செய்யலாம். கணக்கீடுகள் மிகவும் துல்லியமாக மாறிவிட்டன: எங்கள் சோதனைகளில் அவை வழங்குநர்களுக்கு உண்மையில் என்ன தேவை என்பதை ஒத்துப்போகின்றன.
சில குறைபாடுகளும் உள்ளன: முக்கியமற்ற பிழைகள் உள்ளன, மேலும் சில இடங்களில் செயல்பாடு சில திட்டங்களுக்கு குறிப்பிட்ட தேவைகளை உள்ளடக்காது. இருப்பினும், கிளவுட் சேவைகளுக்கான கட்டணத்தை தொடர்ந்து 5-30% குறைக்க பணம் எங்கு செல்கிறது மற்றும் எதை "வெட்டலாம்" என்பதை நீங்கள் விரைவாக புரிந்து கொள்ள வேண்டும் என்றால் (இது எங்கள் விஷயத்தில் நடந்தது), இது ஒரு சிறந்த வழி. .