ഒരു അൻസിബിൾ കൺട്രോൾ നോഡ് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യുകയും കോൺഫിഗർ ചെയ്യുകയും ചെയ്യാം - ഭാഗം 2


മുമ്പത്തെ വിഷയത്തിൽ, നിങ്ങൾ അൻസിബിൾ സീരീസിനെക്കുറിച്ച് പഠിക്കുന്നു), RHEL 8-ൽ നിങ്ങൾക്ക് എങ്ങനെ ഒരു Ansible കൺട്രോൾ നോഡ് ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും കോൺഫിഗർ ചെയ്യാമെന്നും ഞങ്ങൾ കാണിക്കും.

ഞങ്ങളുടെ സജ്ജീകരണത്തിൽ, ഞങ്ങൾ 1 അൻസിബിൾ സെർവറും 2 റിമോട്ട് ലിനക്സ് നോഡുകളും ഉപയോഗിക്കാൻ പോകുന്നു:

Control Node 1: RHEL 8 Server     IP: 192.168.0.108         Ansible Server
Managed Host 1: Debian 10         IP: 192.168.0.15          Webserver
Managed Host 2: CentOS 8          IP: 192.168.0.200	    Database Server

കൺട്രോൾ നോഡ് എന്നത് ഒരു ലിനക്സ് സെർവറാണ്, അതിൽ അൻസിബിൾ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട്, ഇത് റിമോട്ട് ഹോസ്റ്റുകളോ നോഡുകളോ കൈകാര്യം ചെയ്യാൻ ഉപയോഗിക്കുന്നു. ഈ റിമോട്ട് സിസ്റ്റങ്ങളെ മാനേജ്ഡ് ഹോസ്റ്റുകൾ അല്ലെങ്കിൽ നിയന്ത്രിത നോഡുകൾ എന്ന് വിളിക്കുന്നു.

മുകളിലെ സജ്ജീകരണത്തിൽ, കൺട്രോൾ നോഡ് RHEL 8 സെർവറാണ്, അതിൽ Ansible ഇൻസ്റ്റാൾ ചെയ്യും, Debian 10 & CentOS 8 എന്നിവ മാനേജ് ചെയ്യുന്ന ഹോസ്റ്റുകളാണ്.

ശ്രദ്ധിക്കുക: കൺട്രോൾ നോഡിൽ മാത്രമേ അൻസിബിൾ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ളൂ, മാനേജ് ചെയ്യുന്ന ഹോസ്റ്റുകളല്ല.

ഘട്ടം 1: പൈത്തൺ 3 ഇൻസ്റ്റാൾ ചെയ്യുന്നു

സ്ഥിരസ്ഥിതിയായി, RHEL 8-ൽ പൈത്തൺ 3 വരുന്നു, പ്രവർത്തിപ്പിക്കുന്നതിലൂടെ നിങ്ങളുടെ സെർവറിൽ ഇൻസ്റ്റാൾ ചെയ്ത പൈത്തണിന്റെ പതിപ്പ് നിങ്ങൾക്ക് പരിശോധിക്കാനാകും.

# python3 -V

ഒരു കാരണവശാലും Python3 ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ, ഇനിപ്പറയുന്ന dnf കമാൻഡ് ഉപയോഗിച്ച് ഇത് ഇൻസ്റ്റാൾ ചെയ്യുക.

# dnf install python3

നിങ്ങളുടെ RHEL 8 സിസ്റ്റത്തിൽ പൈത്തണിന്റെ ഒന്നിലധികം പതിപ്പുകൾ നിലവിലുണ്ടെങ്കിൽ, പ്രവർത്തിപ്പിക്കുന്നതിലൂടെ നിങ്ങൾക്ക് പൈത്തൺ 3 സ്ഥിരസ്ഥിതി പൈത്തൺ പതിപ്പായി സജ്ജമാക്കാൻ കഴിയും.

# alternatives --set python /usr/bin/python3

ഘട്ടം 2: ഔദ്യോഗിക RedHat റിപ്പോസിറ്ററി പ്രവർത്തനക്ഷമമാക്കുക

Python3 ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം, ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾ RedHat-ന്റെ ഔദ്യോഗിക ശേഖരം Ansible-നായി പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.

# subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms

ശ്രദ്ധിക്കുക: മുകളിലെ കമാൻഡ് പ്രവർത്തിക്കുന്നതിന്, RedHat സബ്uസ്uക്രിപ്uഷനായി നിങ്ങൾ RHEL 8 രജിസ്റ്റർ ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.

ഘട്ടം 3: RHEL 8-ൽ Ansible ഇൻസ്റ്റാൾ ചെയ്യുക

ഞങ്ങളുടെ RHEL 8 സിസ്റ്റമായ കൺട്രോൾ നോഡിൽ Ansible ഇൻസ്റ്റാൾ ചെയ്യാൻ, കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

# dnf install ansible -y

ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, കമാൻഡ് പ്രവർത്തിപ്പിച്ച് ഇൻസ്റ്റാൾ ചെയ്ത അൻസിബിൾ പതിപ്പ് നിങ്ങൾക്ക് പരിശോധിക്കാം.

# ansible --version

ഘട്ടം 4: ഒരു സ്റ്റാറ്റിക് ഹോസ്റ്റ് ഇൻവെന്ററി ഫയൽ സൃഷ്ടിക്കുന്നു

ഇതുവരെ, ഞങ്ങളുടെ RHEL 8 സെർവറായ കൺട്രോൾ നോഡിൽ ഞങ്ങൾ അൻസിബിൾ വിജയകരമായി ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട്. കൺട്രോൾ നോഡ് കൈകാര്യം ചെയ്യേണ്ട റിമോട്ട് നോഡുകൾ ഇൻവെന്ററി ഫയൽ എന്ന് വിളിക്കുന്ന ഒരു ഫയലിൽ നിർവചിക്കേണ്ടതുണ്ട്. കൺട്രോൾ നോഡിൽ വസിക്കുന്ന ഒരു പ്ലെയിൻ ടെക്സ്റ്റ് ഫയലാണ് ഇൻവെന്ററി ഫയൽ, വിദൂര ഹോസ്റ്റുകളുടെ ഹോസ്റ്റ്നാമങ്ങളോ ഐപി വിലാസങ്ങളോ അടങ്ങുന്നു.

ഒരു സ്റ്റാറ്റിക് ഹോസ്റ്റ് ഫയൽ എന്നത് ഒരു പ്ലെയിൻ ടെക്സ്റ്റ് ഫയലാണ്, അതിൽ അവരുടെ IP വിലാസങ്ങൾ അല്ലെങ്കിൽ ഹോസ്റ്റ്നാമങ്ങൾ നിർവചിച്ചിട്ടുള്ള നിയന്ത്രിത നോഡുകളുടെ ഒരു ലിസ്റ്റ് അടങ്ങിയിരിക്കുന്നു. നമുക്ക് /etc/ansible/ ഡയറക്uടറിയിൽ ഒരു സ്റ്റാറ്റിക് ഫയൽ 'ഹോസ്റ്റുകൾ' സൃഷ്ടിക്കാം.

# vi /etc/ansible/hosts

അടുത്തതായി, നിങ്ങളുടെ നിയന്ത്രിത ഹോസ്റ്റുകൾക്കായി ഒരു ഗ്രൂപ്പോ ഗ്രൂപ്പുകളോ നിർവ്വചിക്കുക. ഈ വിഷയത്തിന്റെ ആമുഖത്തിലെ സജ്ജീകരണത്തിൽ മുമ്പ് കണ്ടത് പോലെ ഞങ്ങൾക്ക് 2 മാനേജ് ചെയ്ത ഹോസ്റ്റുകളുണ്ട്. സജ്ജീകരണത്തിൽ നിന്ന്, സ്റ്റാറ്റിക് ഹോസ്റ്റ് ഫയൽ ഇനിപ്പറയുന്ന രീതിയിൽ നിർവചിക്കും:

[webserver]
192.168.0.15

[database_server]
192.168.0.200

ഇൻവെന്ററി ഫയൽ സംരക്ഷിച്ച് പുറത്തുകടക്കുക.

നിയന്ത്രിത ഹോസ്റ്റുകൾ ലിസ്റ്റുചെയ്യുന്നതിന് റൺ ചെയ്യുക:

# ansible all -i hosts --list-hosts

ഇതുവരെ, കൺട്രോൾ നോഡിൽ അൻസിബിൾ ഇൻസ്റ്റാൾ ചെയ്യാനും കൺട്രോൾ നോഡിൽ വസിക്കുന്ന സ്റ്റാറ്റിക് ഹോസ്റ്റ് ഫയലിൽ നിയന്ത്രിത ഹോസ്റ്റുകൾ നിർവചിക്കാനും ഞങ്ങൾക്ക് കഴിഞ്ഞു.

അടുത്തതായി, ഞങ്ങളുടെ റിമോട്ട് അല്ലെങ്കിൽ നിയന്ത്രിത ഹോസ്റ്റുകൾ എങ്ങനെ നിയന്ത്രിക്കാം അല്ലെങ്കിൽ നിയന്ത്രിക്കാം എന്ന് കാണാൻ പോകുന്നു.

ഘട്ടം 5: റിമോട്ട് നോഡുകളുമായി ബന്ധിപ്പിക്കുന്നതിന് അൻസിബിൾ കൺട്രോൾ നോഡ് സജ്ജീകരിക്കുക

റിമോട്ട് ഹോസ്റ്റ് സിസ്റ്റങ്ങൾ (Debian 10, CentOS 8) നിയന്ത്രിക്കുന്നതിന് Ansible കൺട്രോൾ നോഡിന് (RHEL 8) ഞങ്ങൾ റിമോട്ട് ഹോസ്റ്റുകളിലേക്ക് പാസ്uവേഡ് ഇല്ലാത്ത SSH പ്രാമാണീകരണം സജ്ജീകരിക്കേണ്ടതുണ്ട്. ഇത് സംഭവിക്കുന്നതിന്, നിങ്ങൾ ഒരു SSH കീ ജോഡി ജനറേറ്റ് ചെയ്യുകയും റിമോട്ട് നോഡുകളിലേക്ക് പൊതു കീ സംരക്ഷിക്കുകയും ചെയ്യേണ്ടതുണ്ട്.

അൻസിബിൾ കൺട്രോൾ നോഡിൽ, ഒരു സാധാരണ ഉപയോക്താവായി ലോഗിൻ ചെയ്ത് കമാൻഡ് പ്രവർത്തിപ്പിച്ച് SSH കീ ജോഡി സൃഷ്ടിക്കുക.

# su tecmint
$ ssh-keygen

അടുത്തതായി, കാണിച്ചിരിക്കുന്നതുപോലെ പൊതു ssh കീ റിമോട്ട് നോഡുകളിലേക്ക് പകർത്തുക.

$ ssh-copy-id [email 	        (For Debian 10 node)
$ ssh-copy-id [email 	        (For CentOS 8 node)

ഞങ്ങളുടെ എല്ലാ റിമോട്ട് നോഡുകളിലേക്കും പബ്ലിക് കീകൾ ചേർത്ത ശേഷം, അവ എത്തിച്ചേരാനാകുമെന്ന് ഉറപ്പാക്കാൻ ഞങ്ങൾ അൻസിബിൾ കൺട്രോൾ നോഡിൽ നിന്ന് ഒരു പിംഗ് കമാൻഡ് നൽകാൻ പോകുന്നു.

$ ansible -m ping all

മുകളിലുള്ള ഔട്ട്uപുട്ടിൽ നിന്ന്, പിംഗ് കമാൻഡ് വിജയകരമാണെന്നും എല്ലാ നോഡുകളിലേക്കും എത്തിച്ചേരാനാകുമെന്ന് പരിശോധിക്കാൻ ഞങ്ങൾക്ക് കഴിഞ്ഞുവെന്നും നമുക്ക് വ്യക്തമായി കാണാൻ കഴിയും.

ഈ ഗൈഡിൽ, RHEL 8-ൽ പ്രവർത്തിക്കുന്ന കൺട്രോൾ നോഡിൽ ഞങ്ങൾ അൻസിബിൾ ഇൻസ്റ്റാൾ ചെയ്യുകയും സജ്ജീകരിക്കുകയും ചെയ്തു. പിന്നീട് ഞങ്ങൾ ഒരു സ്റ്റാറ്റിക് ഹോസ്റ്റ് ഫയലിൽ റിമോട്ട് ഹോസ്റ്റുകളെ നിർവചിക്കുകയും SSH പാസ്uവേഡ് രഹിത പ്രാമാണീകരണം സജ്ജീകരിച്ച് നിയന്ത്രിക്കുന്ന ഹോസ്റ്റുകളെ ബന്ധിപ്പിക്കുന്നതിനും നിയന്ത്രിക്കുന്നതിനും കൺട്രോൾ നോഡ് കോൺഫിഗർ ചെയ്തു.