Text size
പരീക്ഷിച്ചറിഞ്ഞത്6 മിനിറ്റ് വായന

ഓരോ ടീമിന്റെയും കുബർനെറ്റുകളുടെ വില എത്രയാണ്?

ഓപ്പൺ കോസ്റ്റും കുബെകോസ്റ്റും സാമ്പത്തികരംഗത്ത് തുടർച്ചയായി ഉയരുന്ന ചോദ്യത്തിന് ഉത്തരം നല് കുന്നു.

What does each team's Kubernetes cost?
AI ഉപയോഗിച്ച് സൃഷ്ടിച്ച ചിത്രീകരണം

ഒരു ക്ലൌഡ് ബില്ലിൽ, കുബർനെറ്റസ് വളരെ ലളിതമായി കാണപ്പെടുന്നു: നിങ്ങൾ നോഡുകൾക്ക് പണം നൽകുന്നു. 20 വിഎം, ലോഡ് ബാലൻസർ, ചില ഡിസ്കുകൾ. പക്ഷെ ആര് ആണ് ആ നോഡുകൾ ഉപയോഗിക്കുന്നത്? പത്ത് ടീമുകൾ, അമ്പതു സേനകൾ, ഏതാനും നൂറു കോശങ്ങൾ, എല്ലാവരും ഒരേ യന്ത്രങ്ങൾ പങ്കിടുന്നു. ഫിനാൻസ് വകുപ്പ് ചോദിക്കുമ്പോൾ "തിരയൽ സംഘത്തിന്റെ അടിസ്ഥാന സൌകര്യത്തിന് എത്ര ചിലവാകും?" എന്ന ചോദ്യത്തിന് ഉത്തരം പറയാൻ ക്ലൌഡ് ബില്ലിന് കഴിയില്ല.

അതാണു കുബർനെറ്റിസ് വില ദൃശ്യപരത പ്രശ്നം. ഇത് എങ്ങനെ പരിഹരിക്കാം, എങ്ങനെ ബിൽ കുറയ്ക്കാം എന്ന് നോക്കാം.

ബില്ല് വിഭജിക്കുന്നു

ക്ലസ്റ്റർ ചെലവുകൾ ടീമുകൾക്ക് വിതരണം ചെയ്യുന്നതിന്, ഓരോ നോഡിലും ഓരോ പോഡ് ഉപയോഗിക്കുന്നതോ റിസർവ് ചെയ്യുന്നതോ എത്രയാണെന്ന് നിങ്ങൾ അറിഞ്ഞിരിക്കണം, ആ നോഡിന്റെ വില എത്രയാണ്.

ഓപ്പൺ കോസ്റ്റ് അതാണ് സിഎൻസിഎഫ് പദ്ധതി ചെയ്യുന്നത്. അത് താഴെ പറയുന്നവയെ സംയോജിപ്പിക്കുന്നു:

  • പാഡ് റിസോഴ്സ് അഭ്യർത്ഥനകൾ യഥാര് ത്ഥവും ഉപയോഗം (സിപിയു, മെമ്മറി, ജിപിയു , സ്റ്റോറേജ്)
  • വിലകൾ നിങ്ങളുടെ ക്ലൌഡ് പ്രൊവൈഡറുടെ ബില്ലിംഗ് API (കുറച്ചിലുകളും സ്പോട്ട് വിലയും ഉൾപ്പെടെ) അല്ലെങ്കിൽ പ്രാദേശിക വിലകൾക്കുള്ള ഇഷ്ടാനുസൃത വിലകൾ.
  • കുബർനെറ്റസ് മെറ്റാ ഡാറ്റ: നാമമേഖലകൾ, ലേബലുകൾ, വിന്യാസങ്ങൾ.

ഫലമായി ലഭിക്കുന്നത്: ഓരോ നാമമേഖലയ്ക്കും ഓരോ ലേബലിനും ചെലവ് (ഉദാ. team അല്ലെങ്കില് app), ഓരോ ജോലിഭാരത്തിനും മണിക്കൂറിനും.

കുബെകോസ്റ്റ് (ഇപ്പോൾ ഐ. ബി.എമ്മിന്റെ ഭാഗമാണ്) ഓപ്പൺ കോസ്റ്റിൽ കൂടുതൽ സവിശേഷതകളോടെ നിർമ്മിച്ചിരിക്കുന്നത്ഃ ലാഭ ശുപാർശകൾ, ബജറ്റുകൾ, അലേർട്ടുകൾ, മൾട്ടി-ക്ലസ്റ്റർ കാഴ്ചകൾ, ഒരു പോളിഷ് ചെയ്ത ഇന്റർഫേസ്. AWS- ൽ EKS- യ്ക്ക് വിഭജിത ചെലവ് വിഹിതം, GKE- യിലും AKS- ലും ചെലവ് വിതരണം എന്നിവ പോലുള്ള സ്വന്തം Kubernetes ചെലവ് സവിശേഷതകളും ക്ലൌഡ് ദാതാക്കൾക്ക് ഉണ്ട്.

helm install opencost opencost/opencost --namespace opencost --create-namespace
kubectl port-forward -n opencost svc/opencost 9090

കുറച്ച് മിനിറ്റിനു ശേഷം, നിങ്ങൾ ഓരോ നാമമേഖലയ്ക്കും ചിലവ് കാണും.

"അജണ്ട" പ്രശ്നം

ടീമുകളെ ആദ്യം അത്ഭുതപ്പെടുത്തുന്ന ഒരു കാര്യം, ചെലവിന്റെ വലിയൊരു ഭാഗം ആരുടേതുമല്ല. അതാണു നിഷ്ക്രിയ ശേഷി: ഒരു പാഡ് ആവശ്യപ്പെട്ട നോഡുകളുടെ ഭാഗങ്ങൾ.

നിങ്ങളുടെ നോഡുകൾക്ക് ശരാശരി 50% അഭ്യർത്ഥന മാത്രമേയുള്ളൂ എങ്കിൽ, ക്ലസ്റ്ററിന്റെ പകുതിയും നിഷ്ക്രിയമാണ്. നിങ്ങൾ അത് എങ്ങനെ കൈകാര്യം ചെയ്യണമെന്ന് തീരുമാനിക്കുക: അത് അനുപാതമായി വിഭജിക്കുക, പ്ലാറ്റ്ഫോം ടീമിന് നൽകുക, അല്ലെങ്കിൽ (മികച്ചത്) കുറയ്ക്കുക.

നിനക്ക് കാണാൻ കഴിയാത്തത് ശരിയാക്കാൻ കഴിയില്ല. ടീമുകൾക്ക് അവരുടെ കുബർനെറ്റിസ് ചെലവ് മനസ്സിലായാല് , ഒപ്റ്റിമൈസേഷന്റെ പകുതിയും സ്വയം സംഭവിക്കും.

ലേബലുകൾ അത് ഉണ്ടാക്കുകയോ തകർക്കുകയോ ചെയ്യും

ചെലവ് വിഹിതം നിങ്ങളുടെ ലേബലുകളെ പോലെ നല്ലതാണ്. ഓരോ വർക്ക് ലോഡിനും ചില സ്റ്റാൻഡേർഡ് ലേബലുകൾ അംഗീകരിക്കുക:

  • team അല്ലെങ്കില് owner
  • app അല്ലെങ്കില് service
  • environment
  • cost-center (ഫിനാൻസ് ആവശ്യമാണെങ്കില്)

ഒരു നയം (കിവർനോ അല്ലെങ്കിൽ ഗേറ്റ്കീപ്പർ) ഉപയോഗിച്ച് അവ നടപ്പിലാക്കുക, അങ്ങനെ അവയില്ലാതെ പുതിയ വർക്ക് ലോഡുകൾ വിന്യസിക്കാൻ കഴിയില്ല.

പാക്കേജിംഗ് നോഡുകൾ ശക്തമായി

മാലിന്യങ്ങൾ കണ്ടുകഴിഞ്ഞാൽ അവയെ കുറയ്ക്കുന്നത് സാധാരണയായി ഉപയോഗംഓരോ നോഡിലും നിന്നും കൂടുതൽ ഉപയോഗപ്രദമായ ജോലി ലഭിക്കുന്നു.

  • ശരിയായ വലുപ്പത്തിലുള്ള അഭ്യർത്ഥനകൾ. അവ ഒരിക്കലും ഉപയോഗിക്കാത്ത ബാക്കപ്പ് ശേഷി. വിപിഎ ശുപാർശകളും ഗോൾഡ് ലോക്കുകളും യാഥാര് ത്ഥ്യബോധമുള്ള മൂല്യങ്ങള് കണ്ടെത്താന് സഹായിക്കുന്നു.
  • ഏകീകരണം. മരംപണിക്കാരൻ നിരന്തരം ഉപയോഗിക്കാത്ത നോഡുകൾ തേടുകയും അവയെ നീക്കം ചെയ്യാനും വിലകുറഞ്ഞവ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കാനും സാധിക്കും. ക്ലസ്റ്റർ ഓട്ടോസ്കേലർ ഉപയോഗിക്കാത്ത നോഡുകളെ കുറയ്ക്കുകയും ചെയ്യുന്നു.
  • നല്ല കേസുകള് തിരഞ്ഞെടുക്കുക. മിക്സഡ് ഇൻസ്റ്റൻസിംഗ് തരങ്ങൾ, പുതിയ തലമുറകൾ, ARM അടിസ്ഥാനമാക്കിയുള്ള നോഡുകൾ എന്നിവ ഓരോ സിപിയുവിനും കുറഞ്ഞ ചെലവ് നൽകുന്നു.
  • ബണ്ടിലുകൾ പായ്ക്ക് ചെയ്യാനുള്ള ഷെഡ്യൂൾ. സ്ഥിരസ്ഥിതി ഷെഡ്യൂളർ കോഡുകളെ വിതരണം ചെയ്യുന്നു. ഷെഡ്യൂളർ ക്രമീകരണം കൂടുതൽ പൂർണ്ണമായ നോഡുകൾക്ക് അനുകൂലമാണ്, അല്ലെങ്കിൽ കാർപെന്റർ ഏകീകരണം, അവയെ കൂടുതൽ കർശനമായി പായ്ക്ക് ചെയ്യുന്നു.
  • പോഡ് ഡിസ്റപ്ഷൻബജറ്റുകൾ അങ്ങനെ, ബഹിഷ്കരിക്കപ്പെട്ടവയെല്ലാം സുരക്ഷിതമായി ചലിക്കും.

കുബർനെറ്റിലെ സ്പോട്ട്

സ്പോട്ട് ഇൻസ്റ്റൻസുകൾ നോഡ് ചെലവുകൾ ഗണ്യമായി കുറയ്ക്കും. കുബർനെറ്റസ് വളരെ നന്നായി യോജിക്കുന്നു കാരണം ഒരു നോഡ് അപ്രത്യക്ഷമാകുമ്പോള് അത് സ്വയം പാഡുകള് മാറ്റുന്നു.

നല്ല രീതി:

  • A പ്രത്യേക സ്പോട്ട് നോഡ് പൂൾ (അല്ലെങ്കില് കര് പന് റ്റര് നോഡ് പൂള്) പിഴവ് സഹിഷ്ണുതയുള്ള വർക്ക് ലോഡുകൾക്കായി.
  • ഇൻസ്റ്റൻസിനു് തരം വൈവിധ്യവത്കരിക്കുക, അങ്ങനെ നിങ്ങള് ഒരു സ്പോട്ട് പൂളിനെ ആശ്രയിക്കില്ല.
  • തടസ്സപ്പെടുത്തൽ അറിയിപ്പുകൾ കൈകാര്യം ചെയ്യുക (കാർപെന്ററും AWS നോഡ് ടെർമിനേഷൻ ഹാൻഡിലറും ഇത് ചെയ്യുന്നു) നോഡുകളെ ആകർഷകമായി കളയാൻ.
  • ഒന്നിലധികം പകർപ്പുകളും പിഡിബികളും സ്പോട്ടിൽ വരുന്ന എന്തിനും വേണ്ടി.
  • സൂക്ഷിക്കുക. സ്റ്റേറ്റ്ഫുൾ, ക്രിട്ടിക്കൽ സിംഗ്ലോട്ടൺ വർക്ക് ലോഡുകൾ ആവശ്യാനുസരണം നോഡുകൾ.

ഷോബാക്ക് അല്ലെങ്കിൽ ചാർജ്ബാക്ക്

ആ സംഖ്യകളോട് എന്ത് ചെയ്യും?

  • ഷോബാക്ക്: ഓരോ ടീമിനും അവരുടെ ചെലവുകൾ കാണിക്കുക. പണം മാറില്ല, പക്ഷേ കാഴ്ചപ്പാട് പെരുമാറ്റത്തെ മാറ്റുന്നു. മിക്ക കമ്പനികളും ഇവിടെ തുടങ്ങുന്നു.
  • ചാർജ്ബാക്ക്: യഥാർത്ഥത്തിൽ ടീമുകളുടെ ബജറ്റുകളിൽ നിന്ന് അവരുടെ ഉപയോഗത്തിനായി ചാർജ് ചെയ്യുന്നു. കൂടുതൽ ഉത്തരവാദിത്തം, ന്യായമായ കാര്യങ്ങളെ കുറിച്ചുള്ള കൂടുതൽ വാദങ്ങൾ, പ്രത്യേകിച്ച് പങ്കിട്ടതും നിഷ്ക്രിയവുമായ ചെലവുകൾക്ക്.

ഞാൻ എപ്പോഴും ഷോബാക്കിൽ തുടങ്ങും: ഓരോ ടീമിനും ആഴ്ചതോറുമുള്ള റിപ്പോർട്ട് അല്ലെങ്കിൽ ഡാഷ്ബോർഡ്, പ്രവണതകളും ഏറ്റവും വലിയ അവസരങ്ങളും. അവരുടെ പേരുകൾ നമ്പറിൽ എഴുതിയിട്ടുണ്ടെങ്കിൽ ടീമുകൾ എത്ര പെട്ടെന്ന് സ്വന്തം മാലിന്യങ്ങൾ ശരിയാക്കുന്നു എന്നത് അത്ഭുതകരമാണ്.

എവിടെ നിന്നാണ് ഞാൻ തുടങ്ങേണ്ടത്?

ഓപ്പൺകോസ്റ്റ് ഇൻസ്റ്റോൾ ചെയ്യുക, ഓരോ വർക്ക് ലോഡിനും ഒരു team ഒരു ടീമിന് വേണ്ടിയുള്ള ചെലവ് ഡാഷ്ബോർഡ് പങ്കിടുക. പിന്നെ, ഉപയോഗശൂന്യമായ ശേഷി നോക്കൂ, വലുപ്പത്തിലുള്ള വലിയ ആവശ്യകതകളെ ശരിയായ രീതിയിൽ കണക്കാക്കുക, ഏകീകരണം സാധ്യമാക്കുക. സ്പോട്ട് അടുത്തതായി വരും, അത് കൈകാര്യം ചെയ്യാൻ കഴിയുന്ന വർക്ക് ലോഡുകൾക്ക്.

എന്റെ അഭിപ്രായം: കുബർനെറ്റ്സ് അടിസ്ഥാന സൌകര്യങ്ങൾ പങ്കിടുന്നത് എളുപ്പമാക്കുന്നു, ചെലവുകൾ പങ്കിടുന്നത് അദൃശ്യമാക്കുന്നു. അവരെ കാണാന് സഹായിക്കുക, ടീമുകള് അവരെ താഴെയിറക്കാൻ സഹായിക്കും.

ഡെസ്ലി