Text size
എന്റെ റഡാറിൽ6 മിനിറ്റ് വായന

കുബർനെറ്റിലെ ഡാറ്റാബേസുകൾ: അതെ അല്ലെ?

കുബർനെറ്റീസിൽ പ്രവർത്തിക്കുന്ന അവസ്ഥ ഇപ്പോൾ സാധ്യമാണ്. അത് വേണോ വേണ്ടയോ എന്നത് മറ്റൊരു ചോദ്യമാണ്.

Databases on Kubernetes: yes or no?
AI ഉപയോഗിച്ച് സൃഷ്ടിച്ച ചിത്രീകരണം

വർഷങ്ങളായി, സാധാരണ ഉപദേശം ലളിതമായിരുന്നു: നിങ്ങളുടെ സംസ്ഥാനമില്ലാത്ത ആപ്ലിക്കേഷനുകൾ കുബർനെറ്റസിൽ പ്രവർത്തിപ്പിക്കുക, നിങ്ങളുടെ ഡാറ്റാബേസുകൾ മറ്റെവിടെയെങ്കിലും സൂക്ഷിക്കുക. കന്നുകാലികൾക്കു വേണ്ടിയാണ് കുബർനെറ്റസ് നിർമ്മിച്ചിരിക്കുന്നത്, ഡാറ്റാബേസുകൾ ഏറ്റവും മികച്ച വളർത്തുമൃഗങ്ങളാണ്.

ആ ഉപദേശം പഴയതാകുന്നു. കുബർനെറ്റസ് സ്റ്റോറേജ് പക്വത പ്രാപിച്ചു, കൈകൊണ്ട് നിർമ്മിച്ച പല സജ്ജീകരണങ്ങളേക്കാളും മികച്ച രീതിയിൽ ഫയൽ ഓവർ, ബാക്കപ്പുകൾ, നവീകരണങ്ങൾ എന്നിവ കൈകാര്യം ചെയ്യാൻ ഓപ്പറേറ്റർമാർക്ക് ഇപ്പോൾ കഴിയും. അതുകൊണ്ട് ചോദ്യം "നിനക്ക് കഴിയുമോ" എന്നതിൽ നിന്നും "നിനക്കാവുമോ" എന്നതിലേക്ക് മാറി.

കേവലം കുബർനെറ്റിലെ സംഭരണം

നിങ്ങള് ക്ക് മനസിലാക്കേണ്ട ചില അടിസ്ഥാനകാര്യങ്ങള്:

  • സ്ഥിരമായ വോള്യം (PV)ഒരു സംഭരണ ഭാഗം, ഒരു ക്ലൌഡ് ഡിസ്ക് പോലെ.
  • സ്ഥിരമായ വോള്യം ക്ലെയിം (പിവിസി): ഒരു പാഡ് സ്റ്റോറേജ് അഭ്യർത്ഥിക്കുന്നു: "എനിക്ക് 50 ജിബി ഫാസ്റ്റ് ഡിസ്ക് വേണം".
  • സംഭരണ ക്ലാസ്: സ്റ്റോറേജ് തരവും അത് എങ്ങനെ സ്വപ്രേരിതമായി സൃഷ്ടിക്കാമെന്നും, ഉദാഹരണത്തിന് എസ്എസ്ഡി പിന്തുണയുള്ള ക്ലൌഡ് ഡിസ്കുകൾ.
  • സി. എസ്. ഐ ഡ്രൈവർമാർ: കുബർനെറ്റിനെ യഥാർത്ഥ സംഭരണ സംവിധാനവുമായി ബന്ധിപ്പിക്കുന്ന പ്ലഗിനുകൾ.
  • സ്റ്റേറ്റ്ഫുൾ സെറ്റ്: ഒരു വിന്യാസം പോലെ, പക്ഷേ ഓരോ പാഡ് ഒരു സ്ഥിരമായ പേര് ലഭിക്കുന്നു (db-0, db-1) അതിന്റെ സ്വന്തം സ്ഥിരമായ വോളിയവും.

ഇവ ഉപയോഗിച്ച് ഒരു ഡാറ്റാബേസ് പാഡ് പുനരാരംഭിക്കുകയോ നീക്കുകയോ ചെയ്യാം.

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

കഠിനാധ്വാനം ചെയ്യുന്ന ഓപ്പറേറ്റർമാർ

ഒരു പ്രത്യേക ഡാറ്റാബേസ് എങ്ങനെ പ്രവർത്തിപ്പിക്കണമെന്ന് അറിയുന്ന നിങ്ങളുടെ ക്ലസ്റ്ററിൽ പ്രവർത്തിക്കുന്ന സോഫ്റ്റ്വെയറാണ് ഓപ്പറേറ്റർ. നിങ്ങള് ക്ക് വേണ്ടത് നിങ്ങള് വിവരിക്കുക, എന്നിട്ട് അത് പ്രവർത്തന വിശദാംശങ്ങള് കൈകാര്യം ചെയ്യും.

ചില നല്ല പേരുകൾ:

  • ക്ലൌഡ് നാറ്റീവ് പിജി പോസ്റ്റ് ഗ്രെസ് ക്യു എല്ലിന്: റെപ്ലിക്കേഷൻ, ഓട്ടോമാറ്റിക് ഫയല് ഓവര്, ഒബ്ജക്ട് സ്റ്റോറേജിലേക്കുള്ള ബാക്കപ്പുകൾ, പോയിന്റ് ഇൻ ടൈം വീണ്ടെടുക്കൽ, റോളിംഗ് അപ്ഗ്രേഡുകൾ.
  • സ്ട്രിംസി അപാച്ചി കഫ്കയ്ക്ക് വേണ്ടി.
  • പെര് കൊന ഓപ്പറേറ്റര് മാര് മൈ എസ് ക്യു എൽ, പോസ്റ്റ് ഗ്രെ എസ് ക്യു ഇ, മോംഗോ ഡി ബി എന്നിവയ്ക്കായി.
  • റെഡിസ്/വാൽകി ഓപ്പറേറ്റർമാർ പല വിതരണക്കാരില് നിന്നും സമൂഹത്തില് നിന്നും.

ക്ലൌഡ് നാറ്റീവ് പിജി ഉപയോഗിച്ച് ഒരു പോസ്റ്റ് ഗ്രെസ് ക്ലസ്റ്റർ ഇങ്ങനെ കാണപ്പെടുന്നുഃ

apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: orders-db
spec:
  instances: 3
  storage:
    size: 50Gi
    storageClass: fast-ssd
  backup:
    barmanObjectStore:
      destinationPath: s3://my-backups/orders-db
      s3Credentials:
        inheritFromIAMRole: true
    retentionPolicy: "30d"

മൂന്ന് സന്ദര് ഭങ്ങൾ, സ്ട്രീമിംഗ് റെപ്ലിക്കേഷൻ, ഓട്ടോമാറ്റിക് ഫയല് ഓവറും ബാക്കപ്പുകളും, ഏകദേശം പതിനഞ്ചു വരികളില് . അത് വളരെ ശ്രദ്ധേയമാണ്.

ഒരു ഓപ്പറേറ്റർ ഇല്ലാത്ത ഒരു Kubernetes ഡാറ്റാബേസ് കേവലം ഒരു ഡാറ്റാ ബേസ് ആണ്, അത് തകർക്കാൻ അധിക വഴികളുള്ളതാണ്.

ഞാന് വിശ്വസിക്കുന്ന ബാക്കപ്പുകൾ

നിങ്ങള് എന്ത് ചെയ്താലും, ബാക്കപ്പ് ആണ് പ്രധാനം. കുറച്ച് നിയമങ്ങൾ:

  • ഡാറ്റാബേസിന്റെ സ്വന്തം ബാക്കപ്പ് ടൂളുകൾ ഉപയോഗിക്കുക (ഓപ്പറേറ്ററിലൂടെ) സ്ഥിരതയുള്ള, കൃത്യസമയത്ത് വീണ്ടെടുക്കാവുന്ന ബാക്കപ്പുകൾക്കായി. മിക്ക ഡാറ്റാബേസുകളിലും ഡിസ്ക് സ്നാപ്പ്ഷോട്ടുകൾ മാത്രം പോരാ.
  • ക്ലസ്റ്ററിനു പുറത്തുള്ള ബാക്കപ്പുകൾ സംഭരിക്കുക, മറ്റൊരു മേഖലയിലോ അക്കൌണ്ടിലോ.
  • വെലറോ ഉപയോഗിക്കുക ഒരു രണ്ടാം പാളി ആയി കുബർനെറ്റസ് റിസോഴ്സുകളും വോള്യങ്ങളും ബാക്കപ്പ് ചെയ്യുന്നതിനായി, പ്രത്യേകിച്ച് ഒരു ക്ലസ്റ്ററിന്റെ മുഴുവൻ ദുരന്ത വീണ്ടെടുക്കലിനും.
  • പരിശോധന സ്ഥിരമായി പുനഃസ്ഥാപിക്കുന്നു. നീ ഒരിക്കലും പുനഃസ്ഥാപിക്കാത്ത ഒരു ബാക്കപ്പ് ഒരു പ്രതീക്ഷയാണ്, ബാക്കപ്പ് അല്ല.

യഥാര് ത്ഥ ചെലവുകള്

Kubernetes-ൽ ഡാറ്റാബേസുകൾ പ്രവർത്തിപ്പിക്കുന്നത് നിങ്ങളുടെ ടീമിന് ഒരു മാനേജ്ഡ് സർവീസ് കൈകാര്യം ചെയ്യുന്ന കാര്യങ്ങളുടെ ഉടമസ്ഥാവകാശം എന്നാണ് അർത്ഥമാക്കുന്നത്:

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

ഞാന് ഇപ്പോഴും ഒരു മാനേജ് ചെയ്ത ഡാറ്റാബേസ് തിരഞ്ഞെടുക്കുമ്പോൾ

ഒരു മാനേജ്ഡ് സർവീസ് (ആർഡിഎസ്, ക്ലൌഡ് എസ്. ക്യു. എൽ, അസ്യുര് ഡാറ്റാബേസ് തുടങ്ങിയവ) തിരഞ്ഞെടുക്കുകഃ

  • ഡാറ്റാബേസ് ബിസിനസ്സിനു വളരെ പ്രധാനമാണ്, ടീം ചെറുതാണ്.
  • ടീമിലെ ആരുടേയും ഡാറ്റാബേസ് ഓപ്പറേഷന് അനുഭവം ഇല്ല.
  • നിങ്ങള് ഇതിനകം ഒരു ക്ലൌഡ് പ്രൊവൈഡറിലാണ്, മാനേജ് ചെയ്ത ഓപ്ഷന് നിങ്ങളുടെ ബജറ്റിന് അനുയോജ്യമാണ്.
  • ഒരു സർട്ടിഫിക്കറ്റ് മാനേജ്ഡ് സർവീസ് ഉപയോഗിച്ച് പാലിക്കൽ ആവശ്യകതകൾ എളുപ്പത്തിൽ നിറവേറ്റാനാകും.

കുബർനെറ്റസ് അർത്ഥവത്താകുമ്പോൾ

ഞാൻ അത് കുബർനെറ്റസിൽ പ്രവർത്തിപ്പിക്കും:

  • നിങ്ങൾ ഒരു സ്ഥാപനത്തിലോ, നല്ല നിയന്ത്രണം ഇല്ലാത്ത ഒരു പരിസ്ഥിതിയിലോ ആണ്.
  • നിങ്ങള് ക്ക് പല ചെറിയ ഡാറ്റാബേസുകളും വേണം, ഉദാഹരണത്തിന് ഓരോ പ്രിവ്യൂ പരിതസ്ഥിതിക്കും അല്ലെങ്കിൽ ഓരോ വാടകക്കാരനും.
  • നിങ്ങള് ക്ക് മേഘങ്ങളിലൂടെ സ്ഥിരത വേണം.
  • ചെലവ് എന്നത് വലിയ അളവിലുള്ള കാര്യമാണ്, അത് നടത്താനുള്ള കഴിവ് നിനക്കുണ്ട്.
  • ടീമിന് ഇതിനകം തന്നെ ശക്തമായ കുബർനെറ്റസ്, ഡാറ്റാബേസ് അനുഭവങ്ങളുണ്ട്.

അതെ അല്ലെ?

അത് ആശ്രയിച്ചിരിക്കുന്നു, പക്ഷെ ഉത്തരം ഇനി "ഒരിക്കലും" അല്ല. നല്ലൊരു ഓപ്പറേറ്ററെയും, നല്ല ബാക്കപ്പുകളും, ഡാറ്റാബേസ് മനസിലാക്കുന്ന ഒരു ടീമും ഉള്ളതുകൊണ്ട്, കുബർനെറ്റസ് ഒരു തികച്ചും ന്യായമായ വീടാണ്. അവയില്ലാതെ, ഒരു മാനേജ്ഡ് സർവീസ് നിങ്ങളെ ഉറക്കമില്ലാത്ത രാത്രികളിൽ നിന്ന് രക്ഷിക്കും.

എന്റെ അഭിപ്രായം: ഡാറ്റാബേസ് എവിടെയാണെന്നത് കാര്യമാക്കുന്നില്ല. അത് മനസ്സിലാക്കുന്ന ആരെങ്കിലും അതിനെ നോക്കിയോ എന്ന് അത് ശ്രദ്ധിക്കുന്നു.

ഡെസ്ലി