എന്താണ് ഓട്ടോമേഷൻ ആൻഡ് കോൺഫിഗറേഷൻ മാനേജ്uമെന്റ് CHEF - ഭാഗം 1


നമുക്ക് ഒരു ലളിതമായ സാഹചര്യം എടുക്കാം, നിങ്ങൾക്ക് 10 redhat സെർവറുകൾ ഉണ്ട്, അവിടെ നിങ്ങൾ എല്ലാ സെർവറുകളിലും ഒരു 'tecmint' ഉപയോക്താവിനെ സൃഷ്ടിക്കേണ്ടതുണ്ട്. നേരിട്ടുള്ള സമീപനം, നിങ്ങൾ ഓരോ സെർവറിലേക്കും ലോഗിൻ ചെയ്യുകയും useradd കമാൻഡ് ഉപയോഗിച്ച് ഉപയോക്താവിനെ സൃഷ്ടിക്കുകയും വേണം. സെർവറുകൾ 100 അല്ലെങ്കിൽ 1000 ആയിരിക്കുമ്പോൾ, എല്ലാ സെർവറുകളിലേക്കും ഓരോന്നായി ലോഗിൻ ചെയ്യുന്നത് പ്രായോഗികമായി സാധ്യമല്ല.

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

വൈവിധ്യമാർന്ന അന്തരീക്ഷത്തിൽ തിരക്കഥ പ്രവർത്തിക്കില്ല. സ്uക്രിപ്റ്റ് എന്നത് ടാസ്uക് പൂർത്തിയാക്കുന്നതിനുള്ള ഒരു നിർബന്ധിത രീതിയാണ്, അവിടെ നിങ്ങൾ ഒരു ലളിതമായ ടാസ്uക്കിനും മറ്റും ദീർഘമായ കോഡ് എഴുതേണ്ടതുണ്ട്, ഈ സാഹചര്യം ഒരു ഷെഫ് പോലുള്ള ഓട്ടോമേഷൻ, കോൺഫിഗറേഷൻ മാനേജ്uമെന്റ് ടൂളുകൾക്കായി തിരയാൻ ഞങ്ങളെ ആവശ്യപ്പെടുന്നു.

ഷെഫിനെക്കുറിച്ചുള്ള ഈ ലേഖന പരമ്പരയിൽ, ഷെഫ് ഓട്ടോമേഷൻ ടൂളിന്റെ ഇൻസ്റ്റാളേഷനും കോൺഫിഗറേഷൻ നടപടിക്രമങ്ങളും 1-3 ഭാഗങ്ങളിലൂടെ ഞങ്ങൾ കാണാൻ പോകുന്നു കൂടാതെ ഇനിപ്പറയുന്ന വിഷയങ്ങൾ ഉൾക്കൊള്ളുന്നു.

ഷെഫ് എങ്ങനെ പ്രവർത്തിക്കുന്നു, ഓട്ടോമേഷൻ, കോൺഫിഗറേഷൻ മാനേജ്മെന്റ്, ആർക്കിടെക്ചർ, ഷെഫിന്റെ ഘടകങ്ങൾ എന്നിവയെക്കുറിച്ചുള്ള ഒരു ആരംഭ പോയിന്റ് ഈ ട്യൂട്ടോറിയൽ നൽകുന്നു.

1. കോൺഫിഗറേഷൻ മാനേജ്മെന്റ്

കോൺഫിഗറേഷൻ മാനേജ്uമെന്റ് ആണ് DevOps പ്രാക്uടീസിന്റെ പ്രധാന ഫോക്കസ് പോയിന്റ്. സോഫ്uറ്റ്uവെയർ ഡെവലപ്uമെന്റ് സൈക്കിളിൽ, എല്ലാ സെർവറുകളും സോഫ്uറ്റ്uവെയർ കോൺഫിഗർ ചെയ്യുകയും ഡെവലപ്uമെന്റ് സൈക്കിളിൽ ഒരു തകരാറും വരുത്താത്ത വിധത്തിൽ നന്നായി പരിപാലിക്കുകയും വേണം. തെറ്റായ കോൺഫിഗറേഷൻ മാനേജ്uമെന്റ് സിസ്റ്റം തകരാറുകൾ, ചോർച്ചകൾ, ഡാറ്റാ ലംഘനങ്ങൾ എന്നിവ ഉണ്ടാക്കും. കോൺഫിഗറേഷൻ മാനേജ്uമെന്റ് ടൂളുകൾ ഉപയോഗിക്കുന്നത് DevOps-ഡ്രൈവ് എൻവയോൺമെന്റിൽ കൃത്യത, കാര്യക്ഷമത, വേഗത എന്നിവ സുഗമമാക്കുന്നതിനാണ്.

കോൺഫിഗറേഷൻ മാനേജ്uമെന്റ് ടൂളുകളുടെ രണ്ട് മോഡലുകളുണ്ട് - പുഷ് അധിഷ്ഠിതവും പുൾ അടിസ്ഥാനമാക്കിയും. പുഷ്-അടിസ്ഥാനത്തിൽ, മാസ്റ്റർ സെർവർ കോൺഫിഗറേഷൻ കോഡ് സെർവറുകളിലേക്ക് തള്ളുന്നു, അതിൽ PULL അടിസ്ഥാനമാക്കിയുള്ള വ്യക്തിഗത സെർവറുകൾ കോൺഫിഗറേഷൻ കോഡ് ലഭിക്കുന്നതിന് മാസ്റ്ററെ ബന്ധപ്പെടുന്നു. PUPPET ഉം CHEF ഉം PULL അടിസ്ഥാനമാക്കിയുള്ള മോഡലുകളാണ്, ANSIBLE ഒരു ജനപ്രിയ പുഷ് അടിസ്ഥാനമാക്കിയുള്ള മോഡലാണ്. ഈ ലേഖനത്തിൽ, നമ്മൾ CHEF നെക്കുറിച്ച് നോക്കും.

2. എന്താണ് ഒരു ഷെഫ്?

ഒരു ഓർഗനൈസേഷന്റെ നിരവധി സെർവറുകളിലും മറ്റ് ഉപകരണങ്ങളിലുടനീളമുള്ള വിന്യാസം, കോൺഫിഗറേഷനുകൾ, മാനേജുമെന്റ്, നടന്നുകൊണ്ടിരിക്കുന്ന ജോലികൾ എന്നിവ ലളിതമായി ലളിതമായ രീതിയിൽ ഓട്ടോമേറ്റ് ചെയ്യാൻ സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർമാരെ പ്രാപ്uതമാക്കുന്ന ഒരു ഓപ്പൺ സോഴ്uസ് ഓട്ടോമേഷൻ പ്രോഗ്രാമാണ് ഒരു ഷെഫ്.

  • ഇത് 2008-ൽ OPSCODE ആയി സ്ഥാപിതമായി, പിന്നീട് ഇത് CHEF (ഷെഫ് ഓട്ടോമേഷൻ ടൂൾ) ആയി പുനർനാമകരണം ചെയ്യപ്പെട്ടു.
  • ഒരു ഓർഗനൈസേഷന്റെ മുഴുവൻ ഇൻഫ്രാസ്ട്രക്ചറും കോൺഫിഗറേഷൻ നിയന്ത്രിക്കാനും ഓട്ടോമേറ്റ് ചെയ്യാനും ക്രമീകരിക്കാനും ഉപയോഗിക്കുന്ന റൂബി അടിസ്ഥാനമാക്കിയുള്ള ഓട്ടോമേഷൻ ടൂളാണിത്.
  • ഇതൊരു ഓപ്പൺ സോഴ്uസ് പ്രോജക്uറ്റാണ് കൂടാതെ രണ്ട് വിന്യാസ മോഡലുകളുമായാണ് വരുന്നത്: സെർവർ ക്ലയന്റ് & സ്റ്റാൻഡലോൺ.
  • ഉബുണ്ടു, Redhat/CentOS, Fedora, macOS, Windows, AIX, തുടങ്ങിയ വിവിധ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളെ ഷെഫ് പിന്തുണയ്ക്കുന്നു.
  • ഷെഫ് ഡിക്ലറേറ്റീവ് ആണ് കൂടാതെ നേറ്റീവ് സ്ക്രിപ്റ്റിംഗ് ഭാഷകളേക്കാൾ വളരെ ലളിതവുമാണ്.
  • വിപണി ആവശ്യകതകൾക്കൊപ്പം അപ്uഡേറ്റ് ചെയ്യാൻ കമ്പനിയെ പ്രാപ്uതമാക്കുന്നതിന് ഇത് തുടർച്ചയായ വിന്യാസം നൽകുന്നു.
  • ഷെഫിന്റെ പ്രാഥമിക ഉത്തരവാദിത്തം കോൺഫിഗറേഷന്റെ നിർവചിക്കപ്പെട്ട അവസ്ഥ നിലനിർത്തുക എന്നതാണ്.
  • 10-ഉം 1000-ഉം നോഡുകൾ എളുപ്പത്തിൽ കൈകാര്യം ചെയ്യാൻ ഇതിന് അതിന്റേതായ പ്രഖ്യാപന ഭാഷയുണ്ട്.
  • ഷെഫ് ക്ലൗഡുമായി പൊരുത്തപ്പെടുന്നു, ക്ലൗഡിലെ ഇൻഫ്രാസ്ട്രക്ചറുമായി എളുപ്പത്തിൽ സംയോജിപ്പിക്കുന്നു.
  • ഷെഫ് പഠിക്കാൻ എളുപ്പമാണ് ഒപ്പം ശക്തമായ ഒരു കമ്മ്യൂണിറ്റി-പിന്തുണയുള്ള DevOps-സൗഹൃദ ഉപകരണവുമാണ്.

3. ഷെഫ് ആർക്കിടെക്ചർ

ഷെഫ് ആർക്കിടെക്ചർ 3 പ്രധാന വിഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു.

  • ഷെഫ് വർക്ക്uസ്റ്റേഷൻ: ഷെഫ് ഉപയോക്താക്കൾക്ക് കോൺഫിഗറേഷനുകൾ സൃഷ്ടിക്കുന്നതിനും പരീക്ഷിക്കുന്നതിനും പ്രയോഗിക്കുന്നതിനുമുള്ള പ്രാദേശിക വികസന പ്ലാറ്റ്uഫോം. ഇത് നിങ്ങളുടെ പ്രാദേശിക ഡെസ്ക്ടോപ്പ് ആകാം, ഷെഫ് ഡികെ (ഡെവലപ്മെന്റ് കിറ്റ്) ഇൻസ്റ്റാൾ ചെയ്ത ലാപ്ടോപ്പ്. ഉൽപ്പാദനത്തിലേക്ക് പ്രോത്സാഹിപ്പിക്കുന്നതിന് മുമ്പ് ഒരു വികസന/പരിശോധനാ പരിതസ്ഥിതിയായി ഇത് ഉപയോഗിക്കാം.
  • ഷെഫ് സെർവർ: ഷെഫ്-സെർവർ സോഫ്uറ്റ്uവെയർ ഇൻസ്റ്റാൾ ചെയ്ത് കോൺഫിഗർ ചെയ്uത സെർവറാണിത്. ഷെഫിന്റെ കോഡ് കൈകാര്യം ചെയ്യുന്നതിനും ഷെഫ് വർക്ക്uസ്റ്റേഷനിൽ നിന്ന് കോൺഫിഗറേഷൻ കോഡ് ആക്uസസ് ചെയ്യുന്നതിനും ഇത് ഉത്തരവാദിയാണ്. ഷെഫ് സെർവർ ഒരു ലിനക്സ് മെഷീൻ ആയിരിക്കണം, അത് മറ്റേതെങ്കിലും ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തെ പിന്തുണയ്ക്കില്ല.
  • ഷെഫ് ക്ലയന്റുകൾ: ഷെഫ് കോഡും ബൈനറികളിലെ മറ്റ് ആശ്രിത ഫയലുകളും പോലുള്ള കോൺഫിഗറേഷൻ വിശദാംശങ്ങൾക്കായി ഷെഫ് സെർവറുമായി ബന്ധപ്പെടുന്ന സെർവറുകളുണ്ട്. ഇത് ഷെഫ് സെർവറിൽ നിന്ന് കോഡ് വലിച്ചെടുത്ത് അവയെ പ്രാദേശികമായി വിന്യസിക്കുന്നു.

4. ഷെഫ് ഘടകങ്ങൾ

പ്രധാന ഷെഫ് ഘടകങ്ങൾ ഇനിപ്പറയുന്നവയാണ്.

  • ഇൻഫ്രാസ്ട്രക്ചർ കൈകാര്യം ചെയ്യാൻ ഉപയോഗിക്കുന്ന പാചകരീതിയുടെ അടിസ്ഥാന മൊഡ്യൂളാണ് ഉറവിടങ്ങൾ.
  • ആട്രിബ്യൂട്ട് എന്നത് കീ-വാല്യൂ ജോഡിയുടെ രൂപത്തിലുള്ള ക്രമീകരണമാണ്.
  • വർക്ക്സ്റ്റേഷനിൽ ഉണ്ടാക്കാവുന്ന ആട്രിബ്യൂട്ടുകളുടെ ശേഖരമാണ് പാചകക്കുറിപ്പുകൾ. ഷെഫ് ക്ലയന്റുകൾക്ക് ഷെഫ് കോഡായി പ്രയോഗിക്കാൻ കഴിയുന്ന ഒരു കൂട്ടം കമാൻഡാണിത്.
  • പാചകങ്ങളുടെ ശേഖരത്തെ കുക്ക്ബുക്ക് എന്ന് വിളിക്കുന്നു.
  • ഷെഫ് സെർവറുമായി സംവദിക്കുന്ന ഷെഫ് വർക്ക്സ്റ്റേഷനിലെ ഒരു കമാൻഡ്-ലൈൻ ടൂളാണ്
  • ഒരു കത്തി.

5. ഷെഫ് വിന്യാസ മോഡൽ

ഷെഫിന് രണ്ട് വിന്യാസ മോഡലുകളുണ്ട്.

  • സെർവർ ക്ലയന്റ് - ഇത് പ്രൊഡക്ഷൻ ഡിപ്ലോയ്uമെന്റിനായി ഉപയോഗിക്കുന്നു.
  • ഷെഫ് സീറോ - ഇത് ഡെവലപ്uമെന്റ്, ടെസ്റ്റിംഗ്, പിഒസികൾ എന്നിവയ്ക്കായി ഉപയോഗിക്കുന്നു.

6. ഷെഫ് എങ്ങനെ പ്രവർത്തിക്കുന്നു? അടിസ്ഥാന സൗകര്യങ്ങൾ ഒരു കോഡായി

ഇൻഫ്രാസ്ട്രക്ചർ കോഡായി ഐടി ഇൻഫ്രാസ്ട്രക്ചർ മാനേജ്uമെന്റ് ആണ്, അവിടെ വിവിധ ഇൻസ്റ്റാളേഷൻ/വിന്യാസം, കോൺഫിഗറേഷൻ മാനേജ്uമെന്റ് എന്നിവ സ്വയമേവ നടത്താൻ ഞങ്ങളെ അനുവദിക്കുന്നു. ഇവിടെ, എല്ലാ കോൺഫിഗറേഷനുകളും ഇൻസ്റ്റാളേഷനുകളും കോഡായി എഴുതിയിരിക്കുന്നു.

  • ഷെഫ് ക്ലയന്റ്/നോഡ് ഷെഫ് സെർവറിൽ രജിസ്ട്രേഷനും പ്രാമാണീകരണവും നടത്തും.
  • ഷെഫ് ക്ലയന്റ്/നോഡ് ആനുകാലികമായി ഷെഫ് സെർവറിൽ പരിശോധിക്കും. ഷെഫ്-സെർവറിൽ സംഭരിച്ചിരിക്കുന്ന ഡാറ്റ ആക്സസ് ചെയ്യാൻ ഷെഫ്-ക്ലയന്റ് ആഗ്രഹിക്കുമ്പോൾ ഓരോ തവണയും പ്രാമാണീകരണ പ്രക്രിയ നടക്കുന്നു.
  • സിസ്റ്റം നില നിർണ്ണയിക്കാൻ ഒരു ഷെഫ് ക്ലയന്റ് പ്രവർത്തിപ്പിക്കുന്ന ഒരു ഉപകരണമാണ് ഒഹായ്, അത് നോഡിന്റെ ആട്രിബ്യൂട്ടുകൾ (OS, മെമ്മറി, ഡിസ്ക്, സിപിയു, കേർണൽ, മുതലായവ) കണ്ടെത്തി ആ ആട്രിബ്യൂട്ടുകൾ നൽകും. ഷെഫ്-ക്ലയന്റ്. ഷെഫ് ക്ലയന്റ് ഇൻസ്റ്റാളേഷന്റെ ഭാഗമാണ് ഒഹായ്.
  • കുക്ക്ബുക്കിലോ കോൺഫിഗറേഷൻ ക്രമീകരണങ്ങളിലോ എന്തെങ്കിലും മാറ്റങ്ങൾ ഉണ്ടെങ്കിൽ, അത് ഷെഫ്-ക്ലയന്റിലേക്ക് അയയ്uക്കുകയും അപ്uഡേറ്റ്/ഇൻസ്റ്റാൾ ചെയ്യുകയും ചെയ്യും.
  • കമാൻഡ്-ലൈൻ ടൂൾ നൈഫ് വഴി ഷെഫ് വർക്ക്സ്റ്റേഷൻ ഉപയോഗിച്ച് പാചകപുസ്തകങ്ങളും ക്രമീകരണങ്ങളും ഷെഫ് സെർവറിൽ അപ്ഡേറ്റ് ചെയ്യും. വർക്ക്uസ്റ്റേഷൻ എല്ലാ നയങ്ങളും നൈഫ് ഉപയോഗിച്ച് ഷെഫ് സെർവറിലേക്ക് തള്ളുന്നു.
  • ഓരോ ക്ലയന്റും/നോഡും ഷെഫ് സെർവറുമായി ആനുകാലിക പരിശോധന നടത്തുന്നതിനാൽ, സെർവർ റോൾ അനുസരിച്ച് കോൺഫിഗറേഷനുകൾ വ്യക്തിഗതമായി പ്രയോഗിക്കും. ഉദാഹരണത്തിന്: ഷെഫ് നോഡുകളിൽ, ചില നോഡുകൾ ഡാറ്റാബേസ് സെർവറുകളായിരിക്കും, ചില നോഡുകൾ ഗേറ്റ്uവേ സെർവറുകളായിരിക്കും, മുതലായവ.

ഈ ലേഖനത്തിൽ, കോൺഫിഗറേഷൻ മാനേജ്മെന്റ്, ഷെഫ് ഓട്ടോമേഷൻ ടൂൾ എന്നിവയുടെ അടിസ്ഥാന ആശയങ്ങൾ ഞങ്ങൾ കണ്ടു. വരാനിരിക്കുന്ന ലേഖനങ്ങളിൽ ഷെഫ് ഇൻസ്റ്റാളേഷന്റെ ഘട്ടം ഘട്ടമായുള്ള പ്രക്രിയ നമുക്ക് കാണാം.