ഐടി മാനേജ്മെന്റിനുള്ള അൻസിബിൾ ഓട്ടോമേഷൻ ടൂൾ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം, കോൺഫിഗർ ചെയ്യാം - ഭാഗം 1


Ansible എന്നത് ഒരു ഓപ്പൺ സോഴ്uസ് ആണ്, SSH ഉപയോഗിച്ച് വെറുതെ നോഡുകളിൽ സോഫ്uറ്റ്uവെയർ ആപ്ലിക്കേഷനുകൾ കോൺഫിഗർ ചെയ്യുന്നതിനും നിയന്ത്രിക്കുന്നതിനും വിന്യസിക്കുന്നതിനുമുള്ള ശക്തമായ ഓട്ടോമേഷൻ സോഫ്റ്റ്uവെയർ. ഇന്ന്, മിക്ക ഐടി ഓട്ടോമേഷൻ ടൂളുകളും റിമോട്ട് ഹോസ്റ്റിൽ ഒരു ഏജന്റായി പ്രവർത്തിക്കുന്നു, എന്നാൽ അതിന്റെ പ്രവർത്തനം നിർവഹിക്കുന്നതിന് വിദൂര നോഡുകളിൽ ഒരു SSH കണക്ഷനും പൈത്തണും (2.4 അല്ലെങ്കിൽ അതിനുശേഷമുള്ളത്) ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്.

പപ്പറ്റ്, കാപ്പിസ്ട്രാനോ, ഷെഫ്, സാൾട്ട്, സ്uപേസ് വാക്ക് തുടങ്ങി സമാനമായ നിരവധി ഓട്ടോമേഷൻ ടൂളുകൾ ലഭ്യമാണ്, എന്നാൽ അൻസിബിൾ രണ്ട് തരം സെർവറുകളായി തരംതിരിക്കുന്നു: മെഷീനുകളും നോഡുകളും നിയന്ത്രിക്കുന്നു.

കൺട്രോളിംഗ് മെഷീൻ, അവിടെ അൻസിബിൾ ഇൻസ്റ്റാൾ ചെയ്യുകയും നോഡുകൾ നിയന്ത്രിക്കുകയും ചെയ്യുന്നത് SSH മുഖേനയുള്ള ഈ കൺട്രോളിംഗ് മെഷീൻ ആണ്. മെഷീൻ അതിന്റെ ഇൻവെന്ററി വഴി നിയന്ത്രിക്കുന്നതിലൂടെ നോഡുകളുടെ സ്ഥാനം വ്യക്തമാക്കുന്നു.

കൺട്രോളിംഗ് മെഷീൻ (Ansible) SSH പ്രോട്ടോക്കോൾ ഉപയോഗിച്ച് നോഡുകളിലേക്ക് മൊഡ്യൂളുകൾ വിന്യസിക്കുന്നു, ഈ മൊഡ്യൂളുകൾ റിമോട്ട് നോഡുകളിൽ താൽക്കാലികമായി സംഭരിക്കുകയും സ്റ്റാൻഡേർഡ് ഔട്ട്uപുട്ടിലൂടെ ഒരു JSON കണക്ഷൻ വഴി അൻസിബിൾ മെഷീനുമായി ആശയവിനിമയം നടത്തുകയും ചെയ്യുന്നു.

അൻസിബിൾ ഏജന്റ് കുറവാണ്, അതിനർത്ഥം റിമോട്ട് നോഡുകളിൽ ഒരു ഏജന്റ് ഇൻസ്റ്റാളേഷന്റെ ആവശ്യമില്ല എന്നാണ്, അതിനാൽ ഏതെങ്കിലും നോഡുകളൊന്നും നിയന്ത്രിക്കാത്തപ്പോൾ, അൻസിബിളിനായി പശ്ചാത്തല ഡെമണുകളോ പ്രോഗ്രാമുകളോ എക്സിക്യൂട്ട് ചെയ്യുന്നില്ല എന്നാണ് ഇതിനർത്ഥം.

SSH കണക്ഷനിലൂടെ ഒരൊറ്റ സിസ്റ്റത്തിൽ നിന്ന് 100 നോഡുകൾ കൈകാര്യം ചെയ്യാൻ Ansible-ന് കഴിയും കൂടാതെ മുഴുവൻ പ്രവർത്തനവും 'ansible' എന്ന ഒരൊറ്റ കമാൻഡ് ഉപയോഗിച്ച് കൈകാര്യം ചെയ്യാനും നടപ്പിലാക്കാനും കഴിയും. പക്ഷേ, ചില സന്ദർഭങ്ങളിൽ, ഒരു വിന്യാസത്തിനായി നിങ്ങൾക്ക് ഒന്നിലധികം കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യേണ്ടിവരുമ്പോൾ, ഇവിടെ നമുക്ക് പ്ലേബുക്കുകൾ നിർമ്മിക്കാം.

ഒന്നിലധികം ജോലികൾ ചെയ്യാൻ കഴിയുന്ന ഒരു കൂട്ടം കമാൻഡുകളാണ് പ്ലേബുക്കുകൾ, ഓരോ പ്ലേബുക്കുകളും YAML ഫയൽ ഫോർമാറ്റിലാണ്.

വിദൂര നോഡുകളിലേക്ക് സോഫ്uറ്റ്uവെയർ ആപ്ലിക്കേഷനുകൾ നിയന്ത്രിക്കാനും വിന്യസിക്കാനും ഐടി ഇൻഫ്രാസ്ട്രക്ചറിൽ അൻസിബിൾ ഉപയോഗിക്കാം. ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് ഒരൊറ്റ കമാൻഡ് ഉപയോഗിച്ച് 100 നോഡുകളിലേക്ക് ഒരൊറ്റ സോഫ്uറ്റ്uവെയർ അല്ലെങ്കിൽ ഒന്നിലധികം സോഫ്uറ്റ്uവെയർ വിന്യസിക്കണമെന്ന് പറയാം, ഇവിടെ ansible ചിത്രത്തിൽ വരുന്നു, Ansible-ന്റെ സഹായത്തോടെ നിങ്ങൾക്ക് ഒരു കമാൻഡ് ഉപയോഗിച്ച് നിരവധി നോഡുകളിലേക്ക് എത്ര ആപ്ലിക്കേഷനുകളും വിന്യസിക്കാം. എന്നാൽ അൻസിബിൾ സ്ക്രിപ്റ്റുകൾ മനസിലാക്കാൻ നിങ്ങൾക്ക് കുറച്ച് പ്രോഗ്രാമിംഗ് പരിജ്ഞാനം ഉണ്ടായിരിക്കണം.

അൻസിബിളിനെക്കുറിച്ചുള്ള ഒരു പരമ്പര ഞങ്ങൾ സമാഹരിച്ചിരിക്കുന്നു, 'നിങ്ങളുടെ ഐടി ഇൻഫ്രാസ്ട്രക്ചർ വിത്ത് അൻസിബിൾ ഐടി ഓട്ടോമേഷൻ ടൂൾ വിന്യാസത്തിനുള്ള തയ്യാറെടുപ്പ്' എന്ന തലക്കെട്ട്, 1-4 ഭാഗങ്ങളിലൂടെ ഞങ്ങൾ ഇനിപ്പറയുന്ന വിഷയങ്ങൾ ഉൾക്കൊള്ളുന്നു.

ഈ ലേഖനത്തിൽ, RHEL/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04, Debian 7/6 എന്നീ സിസ്റ്റങ്ങളിൽ 'Ansible' എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്ന് ഞങ്ങൾ കാണിച്ചുതരാം, എങ്ങനെ മാനേജ് ചെയ്യാമെന്നതിനെക്കുറിച്ചുള്ള ചില അടിസ്ഥാനകാര്യങ്ങളിലൂടെയും ഞങ്ങൾ പോകും. പാക്കേജുകൾ ഇൻസ്uറ്റാൾ ചെയ്uത്, അപ്uഡേറ്റുകൾ പ്രയോഗിച്ച്, അടിസ്ഥാനം മുതൽ പ്രോ വരെ എന്നിങ്ങനെയുള്ള സെർവർ.

  1. ഓപ്പറേറ്റിംഗ് സിസ്റ്റം: RHEL/CentOS/Fedora, Ubuntu/Debian/Linux Mint
  2. Jinja2: പൈത്തണിനായുള്ള ആധുനികവും വേഗതയേറിയതും ഉപയോഗിക്കാൻ എളുപ്പമുള്ളതുമായ ഒരു ടെംപ്ലേറ്റ് എഞ്ചിൻ.
  3. PyYAML: പൈത്തൺ പ്രോഗ്രാമിംഗ് ഭാഷയ്uക്കായുള്ള ഒരു YAML പാർസറും എമിറ്ററും.
  4. parmiko: ഒരു നേറ്റീവ് പൈത്തൺ SSHv2 ചാനൽ ലൈബ്രറി.
  5. httplib2: ഒരു സമഗ്രമായ HTTP ക്ലയന്റ് ലൈബ്രറി.
  6. sshpass: ഒരു നോൺ-ഇന്ററാക്ടീവ് ssh പാസ്uവേഡ് പ്രാമാണീകരണം.

Operating System :	Linux Mint 17.1 Rebecca
IP Address	 :	192.168.0.254
Host-name	 :	tecmint.instrcutor.com
User		 :	tecmint
Node 1: 192.168.0.112
Node 2: 192.168.0.113
Node 3: 192.168.0.114

ഘട്ടം 1: കൺട്രോളിംഗ് മെഷീൻ ഇൻസ്റ്റാൾ ചെയ്യുന്നു - അൻസിബിൾ

1. സെർവറിൽ 'Ansible' ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുമുമ്പ്, ഹോസ്റ്റ്നാമം, IP വിലാസം തുടങ്ങിയ സെർവറിന്റെ വിശദാംശങ്ങൾ ആദ്യം പരിശോധിക്കാം. ഒരു റൂട്ട് ഉപയോക്താവായി സെർവറിലേക്ക് ലോഗിൻ ചെയ്uത് ഈ സജ്ജീകരണത്തിനായി ഞങ്ങൾ ഉപയോഗിക്കാൻ പോകുന്ന സിസ്റ്റം ക്രമീകരണങ്ങൾ സ്ഥിരീകരിക്കുന്നതിന് ചുവടെയുള്ള കമാൻഡ് എക്uസിക്യൂട്ട് ചെയ്യുക.

# sudo ifconfig | grep inet

2. നിങ്ങളുടെ സിസ്റ്റം ക്രമീകരണങ്ങൾ സ്ഥിരീകരിച്ചുകഴിഞ്ഞാൽ, സിസ്റ്റത്തിൽ 'Ansible' സോഫ്റ്റ്uവെയർ ഇൻസ്റ്റാൾ ചെയ്യാനുള്ള സമയമാണിത്.

ഇവിടെ നമ്മൾ സിസ്റ്റത്തിൽ ഔദ്യോഗിക അൻസിബിൾ പിപിഎ റിപ്പോസിറ്ററി ഉപയോഗിക്കാൻ പോകുന്നു, റിപ്പോസിറ്ററി ചേർക്കാൻ താഴെയുള്ള കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക.

$ sudo apt-add-repository ppa:ansible/ansible -y
$ sudo apt-get update && sudo apt-get install ansible -y

നിർഭാഗ്യവശാൽ, RedHat അധിഷ്uഠിത ക്ലോണുകൾക്കായി ഔദ്യോഗിക Ansible ശേഖരം ഒന്നുമില്ല, എന്നാൽ RHEL/CentOS 6, 7, നിലവിൽ പിന്തുണയ്uക്കുന്ന ഫെഡോറ വിതരണങ്ങൾ എന്നിവയ്uക്ക് കീഴിൽ എപൽ ശേഖരം പ്രവർത്തനക്ഷമമാക്കുന്നതിലൂടെ നമുക്ക് Ansible ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും.

ഫെഡോറ ഉപയോക്താക്കൾക്ക് ഡിഫോൾട്ട് റിപ്പോസിറ്ററി വഴി നേരിട്ട് അൻസിബിൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും, എന്നാൽ നിങ്ങൾ RHEL/CentOS 6, 7 ഉപയോഗിക്കുകയാണെങ്കിൽ, നിങ്ങൾ EPEL റിപ്പോ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്.

എപൽ റിപ്പോസിറ്ററി ക്രമീകരിച്ച ശേഷം, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് അൻസിബിൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും.

$ sudo yum install ansible -y

വിജയകരമായി ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം, ചുവടെയുള്ള കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്തുകൊണ്ട് നിങ്ങൾക്ക് പതിപ്പ് പരിശോധിക്കാൻ കഴിയും.

# ansible --version

ഘട്ടം 2: റിമോട്ട് ഹോസ്റ്റുകളിലേക്ക് SSH കീകൾ തയ്യാറാക്കുന്നു

4. ലോക്കൽഹോസ്റ്റിൽ നിന്ന് റിമോട്ട് ഹോസ്റ്റിലേക്ക് ഏതെങ്കിലും വിന്യാസമോ മാനേജ്മെന്റോ നടത്തുന്നതിന് ആദ്യം നമ്മൾ ssh കീകൾ സൃഷ്ടിക്കുകയും റിമോട്ട് ഹോസ്റ്റിലേക്ക് പകർത്തുകയും വേണം. എല്ലാ വിദൂര ഹോസ്റ്റിലും ഒരു ഉപയോക്തൃ അക്കൗണ്ട് tecmint ഉണ്ടായിരിക്കും (നിങ്ങളുടെ കാര്യത്തിൽ വ്യത്യസ്ത ഉപയോക്താവായിരിക്കാം).

ആദ്യം നമുക്ക് താഴെയുള്ള കമാൻഡ് ഉപയോഗിച്ച് ഒരു SSH കീ ഉണ്ടാക്കാം, കൂടാതെ കീ റിമോട്ട് ഹോസ്റ്റുകളിലേക്ക് പകർത്താം.

# ssh-keygen -t rsa -b 4096 -C "[email "

5. SSH കീ വിജയകരമായി സൃഷ്ടിച്ച ശേഷം, ഇപ്പോൾ സൃഷ്ടിച്ച കീ മൂന്ന് വിദൂര സെർവറുകളിലേക്കും പകർത്തുക.

# ssh-copy-id [email 
# ssh-copy-id [email 
# ssh-copy-id [email 

6. എല്ലാ SSH കീകളും റിമോട്ട് ഹോസ്റ്റിലേക്ക് പകർത്തിയ ശേഷം, ആധികാരികത പ്രവർത്തിക്കുന്നുണ്ടോ ഇല്ലയോ എന്ന് പരിശോധിക്കാൻ എല്ലാ റിമോട്ട് ഹോസ്റ്റുകളിലും ഇപ്പോൾ ഒരു ssh കീ പ്രാമാണീകരണം നടത്തുക.

$ ssh [email 
$ ssh [email 
$ ssh [email