അൻസിബിൾ ഗാലക്uസിയിൽ റോളുകൾ സൃഷ്uടിക്കുകയും ഡൗൺലോഡ് ചെയ്യുകയും അവ എങ്ങനെ ഉപയോഗിക്കുകയും ചെയ്യാം - ഭാഗം 9
സിംഗിൾ പ്ലേബുക്ക് ഫയലിന്റെ 9-ാം ഭാഗത്തിൽ.
എന്നിരുന്നാലും, വ്യത്യസ്ത പരിതസ്ഥിതികളിൽ ഒരേ സേവനം കൈകാര്യം ചെയ്യുന്നതിനായി പ്ലേബുക്കുകൾ എഴുതുന്നത് വളരെ ബുദ്ധിമുട്ടുള്ള കാര്യമാണ്, ഇത് സാധാരണയായി കോഡ് ആവർത്തനത്തിലേക്ക് നയിക്കുന്നു. കൂടാതെ, കൂടുതൽ സങ്കീർണ്ണത എല്ലാ ഉപകരണങ്ങളും കൈകാര്യം ചെയ്യുന്നതിനുള്ള ബുദ്ധിമുട്ട് വർദ്ധിപ്പിക്കും.
വേഷങ്ങൾ വരുന്നു. അൻസിബിളിൽ, പ്ലേബുക്കുകളെ പുനരുപയോഗിക്കാവുന്ന ഫയലുകളായി വിഭജിക്കാൻ റോളുകൾ ഉപയോഗിക്കുന്നു, സമാനമായ ഒരു ടാസ്uക് ചെയ്യേണ്ടതിന്റെ ആവശ്യകത മറ്റ് നിരവധി സന്ദർഭങ്ങളിൽ ഉപയോഗിക്കാനാകും. ഇത് പ്ലേബുക്കുകൾ വീണ്ടും വീണ്ടും എഴുതേണ്ടതിന്റെ ആവശ്യകത ഇല്ലാതാക്കുകയും സമയവും ഊർജവും വളരെയധികം ലാഭിക്കുകയും ചെയ്യുന്നു.
റോളുകൾ കേവലം പ്ലേബുക്കുകളുടെ പ്രവർത്തനങ്ങളാണ്. ടാസ്uക്കുകൾ, ഫയലുകൾ, മൊഡ്യൂളുകൾ, വേരിയബിളുകൾ, ടെംപ്ലേറ്റുകൾ: കൂടാതെ, ഓരോ റോളും ഒരു പ്രത്യേക ടാസ്ക്കിലേക്കോ ആവശ്യമുള്ള ഔട്ട്പുട്ടിലേക്കോ പരിമിതപ്പെടുത്തിയിരിക്കുന്നു.
ഒരു അൻസിബിൾ റോൾ സൃഷ്ടിക്കുന്നു
അൻസിബിളിൽ ഒരു റോൾ സൃഷ്ടിക്കാൻ, വാക്യഘടന ഉപയോഗിക്കുക.
# ansible-galaxy init role_name
നിങ്ങളുടെ നിലവിലെ പ്രവർത്തിക്കുന്ന ഡയറക്uടറിയിൽ ഒന്നിലധികം ഡയറക്uടറികളും ഫയലുകളും സൃഷ്uടിക്കും. ഈ സാഹചര്യത്തിൽ, /etc/ansible/roles ഡയറക്ടറിയിൽ ഒരു റോൾ സൃഷ്ടിക്കാൻ ഞാൻ തീരുമാനിച്ചു.
നമുക്ക് അപ്പാച്ചെ എന്നൊരു റോൾ ഉണ്ടാക്കാം.
# ansible-galaxy init apache
റോളിന്റെ ഡയറക്uടറി ഘടനയിൽ ഒരു നോട്ടം ലഭിക്കാൻ ട്രീ കമാൻഡ് ഉപയോഗിക്കുക.
# tree apache
നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, നിരവധി ഡയറക്ടറികൾ സൃഷ്ടിച്ചിട്ടുണ്ട്, എന്നിരുന്നാലും, അവയെല്ലാം പ്ലേബുക്കിൽ ഉപയോഗിക്കില്ല.
ഇപ്പോൾ, ഒരു പ്ലേബുക്കിൽ നിങ്ങൾ പുതുതായി സൃഷ്uടിച്ച റോൾ ഉപയോഗിക്കുന്നതിന്, നിങ്ങളുടെ പുതിയ റോളിന്റെ ടാസ്uക് ഡയറക്uടറിയിൽ അടങ്ങിയിരിക്കുന്ന main.yml ഫയലിൽ ഒരു ടാസ്uക് നിർവ്വചിക്കുക.
/apache/tasks/main.yml --- - hosts: database_servers tasks: - name: Install Apache2 on Ubuntu webserver apt: name: apache2 state: installed
അതിനുശേഷം, ഒരു പ്ലേബുക്ക് ഫയൽ സൃഷ്ടിച്ച് കാണിച്ചിരിക്കുന്നതുപോലെ റോളിലേക്ക് വിളിക്കുക.
--- - hosts: webservers roles: - apache
അൻസിബിൾ ഗാലക്സിയിൽ നിന്ന് ഒരു റോൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നു
Ansible Galaxy പ്ലാറ്റ്uഫോം ഉപയോഗിച്ച് അൻസിബിൾ കമ്മ്യൂണിറ്റിയിലെ മറ്റ് ഉപയോക്താക്കളുമായി കോഡ് പങ്കിടുന്നതിൽ റോളുകൾ നിർണായക പങ്ക് വഹിക്കുന്നു. അൻസിബിൾ ഗാലക്uസിയിൽ, വെബ് സെർവറുകളുടെയും ഡാറ്റാബേസുകളുടെയും ഇൻസ്റ്റാളേഷൻ, മോണിറ്ററിംഗ് ടൂളുകൾ മുതലായവ പോലുള്ള വ്യത്യസ്ത ജോലികൾ ചെയ്യുന്ന ആയിരക്കണക്കിന് റോളുകൾ നിങ്ങൾക്ക് ലഭിക്കും.
Ansible Galaxy ഒരു ഡാറ്റാബേസ് അല്ലെങ്കിൽ Ansible റോളുകളുടെ ഒരു ശേഖരമാണ്, അത് നിങ്ങൾക്ക് നിങ്ങളുടെ പ്ലേബുക്കുകളിൽ പ്രയോജനപ്പെടുത്താനും നിങ്ങളുടെ ജോലികൾ കാര്യക്ഷമമാക്കാനും സഹായിക്കുന്നു.
അൻസിബിൾ ഗാലക്സിയിൽ ഒരു റോൾ തിരയാൻ, കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.
# ansible-galaxy search <role>
ഉദാഹരണത്തിന് mysql run എന്ന റോൾ തിരയാൻ.
# ansible-galaxy search mysql
നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, mysql എന്ന തിരയൽ കീവേഡുമായി പൊരുത്തപ്പെടുന്ന നൂറുകണക്കിന് റോളുകൾ ഉണ്ട്. എന്നിരുന്നാലും, എല്ലാ റോളുകളും നിങ്ങൾ ഉദ്ദേശിക്കുന്നത് നിർവഹിക്കില്ല, അതിനാൽ നിർദ്ദേശങ്ങൾ ശ്രദ്ധാപൂർവ്വം വായിക്കാൻ ശുപാർശ ചെയ്യുന്നു.
ഒരു റോളിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ശേഖരിക്കുന്നതിന്, Ansible കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:
# ansible-galaxy info 5KYDEV0P5.skydevops-mysql
ഞങ്ങളുടെ ഉദാഹരണത്തിൽ, ഞങ്ങൾ റോൾ 5KYDEV0P5.skydevops-mysql ഇൻസ്റ്റാൾ ചെയ്യാൻ പോകുന്നു.
# ansible-galaxy install 5KYDEV0P5.skydevops-mysql
റോൾ ഡൌൺലോഡ് ചെയ്യുകയും /etc/ansible/roles-ൽ സ്ഥിതി ചെയ്യുന്ന ഡിഫോൾട്ട് റോളുകളുടെ ഡയറക്ടറിയിലേക്ക് എക്സ്ട്രാക്റ്റ് ചെയ്യുകയും ചെയ്യുന്നു.
റോളിനെ പിന്നീട് ഒരു പ്ലേബുക്കിൽ വിളിക്കാം, ഉദാഹരണത്തിന്:
--- - name: Install MySQL server hosts: webservers roles: • 5KYDEV0P5.skydevops-mysql
ഇപ്പോൾ കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾക്ക് സുരക്ഷിതമായി അൻസിബിൾ പ്ലേബുക്ക് പ്രവർത്തിപ്പിക്കാൻ കഴിയും.
# ansible-playbook install_mysql.yml
കൂടാതെ, നിങ്ങളുടെ വെബ് ബ്രൗസർ വഴി നിങ്ങൾക്ക് Ansible Galaxy സന്ദർശിക്കാനും ഡാഷ്uബോർഡ് വിവരിച്ചിരിക്കുന്ന വിവിധ ജോലികൾ ചെയ്യുന്നതിനുള്ള റോളുകൾക്കായി സ്വമേധയാ തിരയാനും കഴിയും.
ഉദാഹരണത്തിന്, ഇലാസ്റ്റിക് സെർച്ച് പോലുള്ള ഒരു മോണിറ്ററിംഗ് റോളിനായി തിരയാൻ, 'മോണിറ്ററിംഗ്' ഓപ്ഷനിൽ ക്ലിക്ക് ചെയ്ത് കാണിച്ചിരിക്കുന്നതുപോലെ റോളിനായി തിരയുക.
Ansible Galaxy ഉപയോക്താക്കൾക്ക് ഏറ്റവും ജനപ്രിയവും ഏറ്റവും കൂടുതൽ ഡൗൺലോഡ് ചെയ്തതുമായ റോളുകൾ ലിസ്റ്റുചെയ്യുന്നതിലൂടെ മികച്ച റോളുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നത് എളുപ്പമാക്കുന്നു. ഒരു നിർദ്ദിഷ്uട റോളിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ലഭിക്കുന്നതിന്, അതിൽ ക്ലിക്ക് ചെയ്യുക.
ഒരു പ്ലേബുക്കിൽ, നിങ്ങൾക്ക് ഒന്നിലധികം റോളുകൾ വ്യക്തമാക്കാനും കഴിയും, ഉദാഹരണത്തിന്.
--- - name: Install MySQL server hosts: webservers roles: • 5KYDEV0P5.skydevops-mysql • Aaronpederson.mariadb
ഇൻസ്റ്റാൾ ചെയ്ത റോളുകൾ ലിസ്റ്റുചെയ്യാൻ, പ്രവർത്തിപ്പിക്കുക.
# ansible-galaxy list
റോളുകൾ അൻസിബിൾ പ്ലേബുക്കുകൾ വീണ്ടും ഉപയോഗിക്കാനും പങ്കിടാനും വളരെ എളുപ്പമാക്കുന്നു. ഇതുവഴി അവർ ധാരാളം അനാവശ്യ കോഡുകൾ എഴുതാൻ ശ്രമിക്കുന്ന ഒരു ഉപയോക്താവിന് ധാരാളം സമയം ലാഭിക്കുകയും മറ്റ് സിസ്റ്റം അഡ്മിനിസ്ട്രേഷൻ ടാസ്ക്കുകളിൽ ഉപയോഗിക്കാവുന്ന കൂടുതൽ സമയം ചെലവഴിക്കുകയും ചെയ്യുന്നു. ഈ ഗൈഡിന് അത്രയേയുള്ളൂ.