நாடகங்கள், பாத்திரங்கள் மற்றும் பணிகள் ஆகியவை அன்சிபிள் கட்டமைப்பாகும், மேலும் இந்த அன்சிபிள் கட்டமைப்பானது அன்சிபில் குறிச்சொற்கள் எனப்படும் முக்கியமான பண்புக்கூறைக் கொண்டுள்ளது. நாம் Ansible இல் ஒரு பிளேபுக்கைத் தொடங்கும் போதெல்லாம், நீங்கள் -tags மற்றும் –skip tags கட்டளைகளைப் பயன்படுத்தலாம், இதன்மூலம் ஒரு குறிப்பிட்ட தொடர் பணிகள், நாடகங்கள் மற்றும் பாத்திரங்களை மட்டுமே நாங்கள் இயக்க முடியும். எங்களிடம் பல பணிகளைக் கொண்ட பிளேபுக் இருந்தால், ஆனால் பிளேபுக்கின் அனைத்து பணிகளையும் செயல்படுத்த விரும்பவில்லை என்றால், முழு பிளேபுக்கையும் இயக்குவதற்குப் பதிலாக, அன்சிபிள் பிளேபுக்கில் உள்ள டேக் கட்டளையைப் பயன்படுத்தி சில பணிகளை இயக்குவோம்.
இந்த தலைப்பில் குறிச்சொற்களைப் பற்றி விவாதிக்கப் போகிறோம், இது அன்சிபிலின் மிக முக்கியமான அம்சங்களில் ஒன்றாகும். குறிச்சொற்கள் என்றால் என்ன, குறிச்சொற்கள் எவ்வாறு Ansible இல் செயல்படுகின்றன என்பதை விளக்க முயற்சிப்போம், ஏனெனில் இது Ansible தளத்தின் குழப்பமான அம்சமாகும்.
உதாரணமாக, ஒரு பிளேபுக்கில் மூன்று பொறுப்புகள் இருக்கலாம்: தொகுதியை நிறுவுதல், அதை உள்ளமைத்தல் மற்றும் சேவை இயங்குகிறதா மற்றும் அணுகக்கூடியதா என பயன்படுத்தப்பட்ட தொகுதியின் நிலையைச் சரிபார்த்தல். சில ரிமோட் மெஷின்களில் மாட்யூல்களின் நிலையைப் பார்க்க வேண்டியிருப்பதால், பிளேபுக்கில் உள்ள அனைத்துப் பணிகளையும் செயல்படுத்துவதை விட, இந்தச் சூழ்நிலையில் அன்சிபிள் குறிச்சொற்களைப் பயன்படுத்துகிறோம். இது ஒரு குறிப்பிட்ட செயல்பாட்டை பிரத்தியேகமாக இயக்க உதவுகிறது, இது தொடர்புடைய அனைத்து செயல்பாடுகளையும் ஒரே பிளேபுக்கில் வைத்திருப்பதன் மூலம் இயங்கும் நேரத்தை குறைக்க அனுமதிக்கிறது.
அன்சிபிள் பிளேபுக்கில் குறிச்சொற்களைப் பயன்படுத்துவதற்கான முன்நிபந்தனைகள்
அன்சிபிள் மென்பொருளில் நடைமுறை உதாரணங்களை வைப்பதற்கு, பின்வரும் தேவைகளை நாம் பூர்த்தி செய்ய வேண்டும்.
மாற்றங்களைச் செய்வதற்கு ஒரு அன்சிபிள் கட்டுப்படுத்தும் சேவையகம் தேவை. Ansible மென்பொருளில் டேக் அளவுருவைப் பயன்படுத்த, அவர்களுடன் தொடர்பு கொள்ள உள்ளூர் ஹோஸ்ட்கள் நமக்குத் தேவை. இந்தச் சந்தர்ப்பத்தில், இலக்கு தொலை சேவையகமாக செயல்படுத்தல் முழுவதும் உள்ளூர் ஹோஸ்டைப் பயன்படுத்துகிறோம். நாங்கள் பிளேபுக்குகளை உருவாக்குவோம், அன்சிபிள் டேக் கட்டளைகளை இயக்குவோம் மற்றும் ரிமோட் ஹோஸ்ட்களில் முடிவுகளை ஆன்சிபிள்-கண்ட்ரோலர் சாதனத்திலிருந்து கண்காணிப்போம்.
அன்சிபிள் பிளேபுக்கில் உள்ள குறிச்சொற்களின் கருத்தை கற்பவர் எளிதாகப் புரிந்துகொள்ளும் வகையில், சில அன்சிபிள் குறிச்சொற்களை ஆய்வு செய்ய வெவ்வேறு காட்சிகளைப் பயன்படுத்துவதை நோக்கமாகக் கொண்டுள்ளோம்.
எடுத்துக்காட்டு 01: அன்சிபிள் பிளேபுக்கில் ஒற்றைப் பணியை அணுகுதல்
பிளேபுக்கில் பல பணிகளை வழங்குவதன் மூலம் அன்சிபில் செயல்படுத்தப் போகிறோம், பின்னர் அதில் உள்ள குறிச்சொற்களைப் பயன்படுத்தி ஒரு பணியை மட்டுமே அணுகுவோம். அவ்வாறு செய்ய, பின்வரும் கட்டளையை எழுதுவதன் மூலம் முதலில் பிளேபுக்கை உருவாக்குவோம்:
[root@master ansible]# nano ansible_tags.yml
ansible_tags.yml playbook ஐ உருவாக்கி துவக்கிய பிறகு. இப்போது நாம் பிளேபுக்கில் கட்டளைகளை எழுதத் தொடங்குவோம். முதலில், வழங்கப்பட்ட ஹோஸ்ட்களை 'ஹோஸ்ட்கள்' அளவுருவில் அனுப்புவோம், அதை நாங்கள் 'லோக்கல் ஹோஸ்ட்' பயன்படுத்துவோம். பின்னர், 'gather_facts' அளவுருவில் 'தவறான' மதிப்பை எழுதுவோம், அதனால் நாம் பிளேபுக்கை இயக்கும் போது லோக்கல் ஹோஸ்ட் பற்றிய கூடுதல் தகவலைப் பெற முடியாது.
அதன் பிறகு, நாம் செயல்படுத்த விரும்பும் 'பணிகள்' அளவுருவின் கீழ் செயல்பாடுகளை ஒவ்வொன்றாக பட்டியலிடத் தொடங்குவோம். முதல் செயல்பாட்டில் லோக்கல் ஹோஸ்ட் கணினியில் ஆவணம் உள்ளதா என்பதை நாங்கள் தீர்மானிப்போம். அது கிடைத்தால், அதை “பதிவு” அளவுருவில் சேமித்து வைப்போம், பின்னர் டேக்க்கு தனித்துவமான பெயரைக் கொடுப்போம், இதனால் பிளேபுக்கை இயக்கும்போது, குறிச்சொல்லை அணுகுவது எங்களுக்கு எளிதாக இருக்கும். இரண்டாவது டாஸ்க்கில், முதல் டாஸ்க்கில் செய்ததைப் போலவே செய்வோம், ஆனால் டேக் தனித்துவமாக இருக்க வேண்டும், பின்னர் டிபக் ஆப்ஷனைப் பயன்படுத்தி பணியை தொடர்புடைய செய்தியுடன் காட்சிப்படுத்துவோம்.
- புரவலர்கள்:- லோக்கல் ஹோஸ்ட்
சேகரிப்பு_உண்மைகள்: பொய்
பணிகள்:
- பெயர்: கோப்பு இருப்பை சரிபார்க்கவும் x`
புள்ளிவிவரம்: பாதை=./host.yml
பதிவு: கோப்பு உள்ளது
குறிச்சொற்கள்: check_file
- பிழைத்திருத்தம்:
msg: '{{'File is's if fileExists.stat.exists இல்லையெனில் 'File கிடைக்கவில்லை' }}'
குறிச்சொற்கள்: check_file
- பெயர்: தற்போதைய பயனரால் host.yml அணுக முடியுமா எனச் சரிபார்க்கவும்
ஷெல்: stat -c '%a' ./host.yml
பதிவு: accessPath
குறிச்சொற்கள்: check_access
- பிழைத்திருத்தம்:
msg: '{{ 'File accessible' if (accessPath.stdout|int) < 660 else 'File is not accessible' }}'
குறிச்சொற்கள்: check_access
இப்போது, நாங்கள் பிளேபுக்கைச் சேமித்து பின்னர் அதை மூடுவோம். நாங்கள் ansible_tags.yml playbook ஐ இயக்க விரும்புகிறோம், எனவே பயனர்களுக்கு வெளியீட்டைக் காண்பிக்க பின்வரும் கட்டளையை Ansible முனையத்தில் எழுதுவோம்.
[root@master ansible]# ansible-playbook ansible_tags.yml –tags check_fileமேலே உள்ள கட்டளையை இயக்கிய பிறகு, நாம் விரும்பிய வெளியீட்டைப் பெறுவோம். கீழே காட்டப்பட்டுள்ளபடி, ஒரே ஒரு பணி மட்டுமே செயல்படுத்தப்படுகிறது, அது 'கோப்பு இருப்பைச் சரிபார்க்கவும்' என்ற வெளியீட்டில் காட்டப்படும்.
எடுத்துக்காட்டு 02: அன்சிபிள் பிளேபுக்கில் குறிப்பிட்ட குறிச்சொல்லை புறக்கணிக்கவும்
அன்சிபிள் குறிச்சொல்லின் இரண்டாவது எடுத்துக்காட்டு இங்கே உள்ளது, அங்கு நாம் 'தவிர்' குறிச்சொல்லுக்குச் செல்கிறோம். நீங்கள் அனைத்து பணிகளையும் புறக்கணிக்க விரும்புகிறீர்களா அல்லது அன்சிபில் பிளேபுக்கின் குறிப்பிட்ட பணியை புறக்கணிக்க விரும்புகிறீர்களா என்பது உங்களுடையது. நாங்கள் எடுத்துக்காட்டு 1 செயல்படுத்தலைப் பயன்படுத்துகிறோம், பின்னர் கீழே உள்ள அறிக்கையை அன்சிபிள் டெர்மினலில் எழுதுவதன் மூலம் பணியைத் தவிர்ப்போம்.
[root@master ansible]# ansible-playbook ansible_tags.yml --skip-tags check_fileமேலே உள்ள கட்டளையிலிருந்து, 'கோப்பு இருப்பைச் சரிபார்க்கவும்' பணியை நாங்கள் புறக்கணித்துள்ளோம். இப்போது, பச்சை எழுத்துருவில் 'கோப்பு அணுகக்கூடியது' என்ற வெளியீட்டில் ஒரே ஒரு பணி மட்டுமே காட்டப்படும்.
எடுத்துக்காட்டு 03: எப்போதும் அன்சிபிள் பிளேபுக்கில் பணியை இயக்கவும்
அன்சிபிள் குறிச்சொல்லின் அடிப்படையில் மூன்றாவது உதாரணத்தை செயல்படுத்தப் போகிறோம். இந்த எடுத்துக்காட்டில், 'எப்போதும்' குறிச்சொல்லைப் பயன்படுத்துவோம், அதாவது அன்சிபிள் பிளேபுக்கில் ஒரு குறிப்பிட்ட குறிச்சொல் எப்போதும் இயங்கும். பிளேபுக்கைத் தொடங்க, பின்வரும் கட்டளையைப் பயன்படுத்தவும்:
[root@master ansible]# nano ansible_tags.ymlபிளேபுக்கில், இயக்க பல பணிகளை உருவாக்கியுள்ளோம், ஆனால் கடைசி பணியில் 'எப்போதும்' குறிச்சொல்லை அனுப்பியுள்ளோம், அதாவது 'சரக்குகளில் இருந்து கடவுச்சொல்லை நீக்கு'. பிளேபுக்கில் செயல்படுத்தப்பட்ட கட்டளைகள் பின்வருமாறு:
- ஹோஸ்ட்கள்: அனைத்தும்சேகரிப்பு_உண்மைகள்: பொய்
பணிகள்:
- பெயர்: கோப்பு இருப்பதை சரிபார்க்கவும்
புள்ளிவிவரம்: பாதை=./host.yml
பதிவு: கோப்பு உள்ளது
பிரதிநிதி_க்கு: லோக்கல் ஹோஸ்ட்
குறிச்சொற்கள்: check_file
- பிழைத்திருத்தம்:
msg: '{{'File is's if fileExists.stat.exists இல்லையெனில் 'File கிடைக்கவில்லை' }}'
குறிச்சொற்கள்: check_file
- பெயர்: தற்போதைய பயனரால் host.yml அணுக முடியுமா எனச் சரிபார்க்கவும்
ஷெல்: stat -c '%a' ./host.yml
பதிவு: accessPath
பிரதிநிதி_க்கு: லோக்கல் ஹோஸ்ட்
குறிச்சொற்கள்: check_access
- பிழைத்திருத்தம்:
msg: '{{ 'File accessible' if (accessPath.stdout|int) < 660 else 'File is not accessible' }}'
குறிச்சொற்கள்: check_access
- பெயர்: சரக்குகளில் இருந்து கடவுச்சொல்லை நீக்கவும்
lineinfile:
பாதை: '{{inventory_file}}'
regexp: '\b{{item}}.*\b'
நிலை: இல்லை
பிரதிநிதி_க்கு: லோக்கல் ஹோஸ்ட்
ஆக: பொய்
குறிச்சொற்கள்: எப்போதும்
பொருட்களுடன்:
- ansible_password
அதன் பிறகு, கட்டுப்படுத்தி மற்றும் இலக்கு ரிமோட் ஹோஸ்ட் இடையே இணைப்பை உருவாக்க சரக்கு கோப்பை உருவாக்குவோம். கீழே உள்ள கட்டளை:
[root@master ansible]# nano host.ymlஅன்சிபில் உள்ள “Linux_host” தொடர்பான தகவல்களைக் கொண்ட சரக்குக் கோப்பு இங்கே உள்ளது.
அனைத்தும்:புரவலர்கள்:
Linux_Host:
ansible_host: 192.168.3.229
ansible_user: ansible
ansible_password: ******
ansible_connection: ssh
ansible_port: 22
விரும்பிய வெளியீட்டைப் பெற, பின்வரும் கட்டளையை அன்சிபிள் டெர்மினலில் இயக்குவோம்:
[root@master ansible]# ansible-playbook ansible_tags.yml --tags check_file -i host.yml
முடிவுரை
அன்சிபில் உள்ள குறிச்சொற்கள் இந்தக் கட்டுரையில் விளக்கப்பட்டுள்ளன. குறிச்சொற்களின் செயல்பாடு மற்றும் அன்சிபில் உள்ள இடங்களை நாங்கள் இப்போது புரிந்துகொள்கிறோம். அன்சிபிள் குறிச்சொற்களின் கருத்தைப் புரிந்துகொள்வதைக் கற்பவருக்கு உதவ, நாங்கள் பல்வேறு எடுத்துக்காட்டுகளை உருவாக்கியுள்ளோம்.