எல்லா கணிணிகளும் இனி உங்கள் வசம் – Ansible – பாகம் 1

Fichier:Ansible logo.png

fr.wikipedia.org/wiki/Fichier:Ansible_logo.png

 

Ansible அறிமுகம்

உங்களிடம் ஒரு லினக்ஸ் சர்வர் உள்ளது. இதில் இன்று நீங்கள் 8 மென்பொருட்களை நிறுவ வேண்டும். 15 மென்பொருட்களை மேம்படுத்த வேண்டும். 2 மென்பொருட்களை நீக்க வேண்டும். எப்படிச் செய்வீர்கள்? அவற்றுக்கான கட்டளைகளை ஒன்றன் பின் ஒன்றாகத்தான் தருவீர்கள்.சரிதானே. இதே வேலையை 5 சர்வர்களில் செய்ய வேண்டும் என்றால்? ஒவ்வொரு சர்வராக login செய்து எல்லாக் கட்டளைகளையும் இயக்க வேண்டியதுதான். இதுவே 50 சர்வர், 100 சர்வர் என்றால்? ஒவ்வொன்றிலும் login செய்து அதே கட்டளைகளைத் திரும்பத்திரும்ப இயக்குவதற்குள் மிகவும் கடினமான ஒரு வேலையாகி விடும்.

இவ்வாறு அடிக்கடி, திரும்பத்திரும்ப பல கணினிகளில் செய்யப்படும் வேலைகளை தானியக்கமாகச் செய்து முடிக்க configuration management என்ற வகையிலான மென்பொருட்கள் பயன்படுகின்றன.

Puppet, chef, salt, ansible போன்றவை இந்த வகையிலான சில பிரபலமான கட்டற்ற மென்பொருட்கள் ஆகும்.

Ansible மூலம் ஒரே கணிணியில் இருந்துகொண்டே பல்வேறு கணினிகளில் நுழைந்து மென்பொருட்கள் நிறுவுதல், நீக்குதல், மேம்படுத்துதல், நிர்வகித்தல், பல்வேறு கட்டளைகளை இயங்குதல் போன்ற பல பணிகளை மிக எளிதாகச் செய்துவிடலாம்.

Chef, puppet, salt போன்றவை client-server என்ற முறையில் இயங்குபவை. ஒவ்வொரு கணிணியிலும் ஒரு client மென்பொருள் இயங்க வேண்டும். ஆனால் ansible க்கு வெறும் ssh அனுமதி மட்டுமே போதும். Ssh மூலம் எல்லா கணிணிகளிலும் login செய்து நாம் சொல்லும் எல்லா வேலைகளையும் செய்து விடுகிறது.

ஏற்கெனவே உள்ள bash script களையும் மிக எளிதாக ansible க்கு மாற்றி விடலாம்.
Ansible ஆனது ஒரு கணிணியில் இயங்கும் முன் அதன் பண்புகளையும் பல்வேறு திறன்களையும் ஆராய்கிறது. பின் அவற்றுக்கேற்ப வேலை செய்கிறது. Bash script ல் இவ்வாறு சூழலை ஆராய நாம் தனியே நிரல் எழுத வேண்டும். Ansible இத்தகு திறமைகள் ஏற்கெனவே உள்ளன.

உதாரணமாக, ஒரு 10 மென்பொருட்களை நீக்கும் செயலை bash script மூலம் செய்யலாம். இரண்டாவது முறை அதே script ஐ இயக்கும்போது, பிழைச்செய்தி வரும். அவற்றைத்தான் ஏற்கெனவே நீக்கி விட்டோமே. ஒரு பெரிய bash script ல் இவ்வாறு பிழை வந்தால், மொத்த இயக்கமே நின்றுவிடும். இதைத் தவிர்க்க அந்த மென்பொருட்கள் ஏற்கெனவே நீக்கப் பட்டிருந்தால், அவற்றை மீண்டும் நீக்க முயலக்கூடாது என்பதையும் நாம்தான் நிரலாக எழுத வேண்டும்.

இங்குதான் Ansible ன் சூழலை ஆராயும் திறன் நமக்குப் பயன்படும். ஏற்கெனவே அந்த 10 மென்பொருட்களும் இருக்கின்றனவா, இல்லையா என்பதை ஆராய்ந்து, உண்மைகளை (Facts) பெற்று, அதன்படி புது செயல்களைச் செய்ய வைக்கலாம். இதனால், Ansible Script களை எத்தனை முறை வேண்டுமானாலும் மீண்டும், மீண்டும் இயக்கிப் பார்க்கலாம். எந்நதப் பிழையும் வராது.

நிறுவுதல்

Ansible முற்றிலும் பைதான் மொழியில் எழுதப்பட்டது. எல்லா GNU/Linux கணிணிகளிலும் பைதான் இயல்பாகவே இருக்கும்.

sudo pip install ansible

என்ற கட்டளை வழியே எளிதில் நிறுவலாம்.

இதை நாம் வேலை செய்யும் மடிக்கணிணி அல்லது கணிணியில் மட்டும் நிறுவினாலே போதும். இது Agentless என்ற முறையில் இயங்குவதால், நாம் பராமரிக்க நினைக்கும் பிற குனு/லினக்ஸ் கணிணிகளில் வேறு எதுவும் நிறுவத் தேவை இல்லை. அவற்றில் ssh வழியே login செய்யும் அனுமதி மட்டும் இருந்தால் போதும்.

 

 

த.சீனிவாசன்

tshrinivasan@gmail.com

%d bloggers like this: