நிர்வகிக்கக்கூடிய முனைகளை எவ்வாறு கட்டமைப்பது மற்றும் தற்காலிக கட்டளைகளை இயக்குவது - பகுதி 3
இந்த அமைவு அன்சிபிள் கண்ட்ரோல் முனையின் முந்தைய இரண்டு கட்டுரைகளில். இந்த பகுதி 3 இல், தொலைநிலை ஹோஸ்ட்களில் தற்காலிக கட்டளைகளை இயக்க அன்சிபிள் நிர்வகிக்கப்பட்ட முனைகளை எவ்வாறு கட்டமைக்க முடியும் என்பதை நாங்கள் காண்பிப்போம்.
கடவுச்சொல் இல்லாத SSH அங்கீகாரத்தை அன்சிபிள் நிர்வகிக்கப்பட்ட முனைகளுக்கு அமைக்கவும்
எங்கள் கடைசி தலைப்பில் மீண்டும், அன்சிபில் தொலைநிலை ஹோஸ்ட்களை நிர்வகிக்க, அன்சிபில் கட்டுப்பாட்டு முனை மற்றும் நிர்வகிக்கப்பட்ட ஹோஸ்ட்களுக்கு இடையே கடவுச்சொல் இல்லாத SSH அங்கீகாரத்தை அமைக்க வேண்டும். இது அன்சிபில் கண்ட்ரோல் முனையில் ஒரு முக்கிய ஜோடியை (பொது மற்றும் தனியார் எஸ்எஸ்ஹெச் விசை ஜோடி) உருவாக்குவதும், தொலைநிலை ஹோஸ்ட்கள் அனைத்திற்கும் பொது விசையை நகலெடுப்பதும் அடங்கும். இது முன்னோக்கி செல்லும் ஒரு முக்கியமான படியாக இருக்கும், மேலும் இது உங்கள் வேலையை மிகவும் எளிதாக்கும்.
நிர்வகிக்கப்பட்ட முனைகளில் சிறப்புரிமை விரிவாக்கத்தை உள்ளமைக்கவும்
வழக்கமான பயனராக உள்நுழைந்திருக்கும்போது, நிர்வகிக்கப்பட்ட முனைகளில் சில பணிகளை நீங்கள் செய்ய வேண்டியிருக்கும், அவை உயர்ந்த சலுகைகள் அல்லது ரூட் சலுகைகள் தேவைப்படும். இந்த பணிகளில் தொகுப்பு மேலாண்மை, புதிய பயனர்கள் மற்றும் குழுக்களைச் சேர்ப்பது மற்றும் கணினி உள்ளமைவுகளை மாற்றியமைத்தல் ஆகியவை அடங்கும். இதை அடைய, தொலைநிலை ஹோஸ்ட்களில் சலுகை பெற்ற பயனராக பணிகளை இயக்க பிளேபுக்கில் சில வழிமுறைகளை நீங்கள் பயன்படுத்த வேண்டும்.
நிர்வகிக்கப்பட்ட முனையிலிருந்து தற்போது உள்நுழைந்தவரிடமிருந்து வேறுபட்ட பயனராக 'ஆக' அன்சிபிள் உங்களை அனுமதிக்கிறது. ஆக: ஆம் குறியீடு> உத்தரவு உங்கள் சலுகைகளை உயர்த்துகிறது மற்றும் நிறுவுதல் மற்றும் ரூட் சலுகைகள் தேவைப்படும் பணிகளைச் செய்ய உங்களை அனுமதிக்கிறது. தொகுப்புகளைப் புதுப்பித்தல் மற்றும் கணினியை மறுதொடக்கம் செய்தல்.
காட்டப்பட்டுள்ளபடி அப்பாச்சி வெப்சர்வரை நிறுவி தொடங்கும் பிளேபுக் httpd.yml
ஐக் கவனியுங்கள்:
--- - name: install and start Apache webserver hosts: webservers tasks: - name: install httpd yum: name=httpd state=latest become: yes - name: check httpd status service: name=httpd state=started
ஆக: ஆம் குறியீடு> தொலைநிலை ஹோஸ்டில் ரூட் பயனராக கட்டளைகளை இயக்க உத்தரவு உங்களை அனுமதிக்கிறது.
மற்றொரு பயனராக நீங்கள் பயன்படுத்தக்கூடிய மற்றொரு உத்தரவு become_user ஆகும். உள்நுழைந்தவுடன் தொலை ஹோஸ்டில் ஒரு சூடோ பயனருக்கு மாற இது உங்களை அனுமதிக்கிறது, நீங்கள் உள்நுழைந்த பயனரை அல்ல.
எடுத்துக்காட்டாக, தொலைதூரத்தில் டெக்மிண்ட் பயனராக ஒரு கட்டளையை இயக்க, காட்டப்பட்டுள்ளபடி கட்டளையைப் பயன்படுத்தவும்.
- name: Run a command as the apache user command: somecommand become: yes become_user: tecmint
இந்த உத்தரவு வழக்கமாக sudo என அமைக்கப்பட்ட ansible.cfg கோப்பில் அமைக்கப்பட்ட இயல்புநிலை முறையை மேலெழுதும்.
இவை நாடகம் அல்லது பணி மட்டத்தில் பயன்படுத்தப்படுகின்றன, உதாரணமாக ஷெல் நோலோஜினுக்கு அமைக்கப்பட்டால் நீங்கள் ஒரு பயனருக்கு மாற வேண்டும்.
உதாரணத்திற்கு,
- name: Run a command as nobody command: somecommand become: true become_method: su become_user: nobody become_flags: '-s /bin/sh'
சிறப்புரிமை விரிவாக்கத்தில் கட்டளை வரி விருப்பங்கள்
கட்டளைகளை இயக்கும் போது உங்கள் சலுகைகளை உயர்த்த நீங்கள் பயன்படுத்தக்கூடிய சில கட்டளை வரி விருப்பங்களைப் பார்ப்போம்:
-
--ask-become-pass
,-K
- நீங்கள் இணைக்க முயற்சிக்கும் தொலை கணினியில் சூடோ பயனரின் கடவுச்சொல்லை இது கேட்கும்.
$ ansible-playbook myplaybook.yml --ask-become-pass
-
--become
,-b
- கடவுச்சொல்லைக் கேட்காமல் பணியை ரூட் பயனராக இயக்க இது உங்களை அனுமதிக்கிறது. <
$ ansible-playbook myplaybook.yml --become
-
--become-user = BECOME_USER
- இது மற்றொரு பயனராக பணிகளை இயக்க உங்களை அனுமதிக்கிறது. <
$ ansible-playbook myplaybook.yml --become-user=tecmint
தற்காலிக அன்சிபிள் கட்டளைகளைப் பயன்படுத்தி ஒரு செயல்பாட்டு உள்ளமைவை சரிபார்க்கவும்
சில நேரங்களில், ஒரு பிளேபுக்கை உருவாக்காமல், அன்சிபில் உள்ள தொலை ஹோஸ்ட்கள் அல்லது சேவையகங்களில் விரைவான மற்றும் எளிமையான பணிகளைச் செய்ய நீங்கள் விரும்பலாம். அவ்வாறான நிலையில், நீங்கள் ஒரு தற்காலிக கட்டளையை இயக்க வேண்டும்.
பதிலளிக்கக்கூடிய தற்காலிக கட்டளை என்பது ஒரு வரி கட்டளையாகும், இது எளிய புத்தகங்களை எளிமையான மற்றும் திறமையான முறையில் பிளேபுக்குகளை உருவாக்கத் தேவையில்லாமல் செயல்படுத்த உதவுகிறது. ஹோஸ்ட்களுக்கு இடையில் கோப்புகளை நகலெடுப்பது, சேவையகங்களை மறுதொடக்கம் செய்தல், பயனர்களைச் சேர்ப்பது மற்றும் நீக்குதல் மற்றும் ஒரு தொகுப்பை நிறுவுதல் போன்ற பணிகள் அடங்கும்.
இந்த டுடோரியலில், அன்சிபிள் ஆட்-ஹோக் கட்டளைகளின் பல்வேறு பயன்பாடுகளை ஆராய்வோம். ஆர்ப்பாட்டத்திற்கு கீழே உள்ள சரக்குக் கோப்பைப் பயன்படுத்தப் போகிறோம்.
[webservers] 173.82.115.165 [database_servers] 173.82.202.239
Ansible-Adhoc கட்டளைகளின் மிக அடிப்படையான பயன்பாடு ஹோஸ்ட் அல்லது ஹோஸ்ட்களின் குழுவை பிங் செய்வது.
# ansible -m ping all
மேலே உள்ள கட்டளையில், -m
அளவுரு தொகுதி விருப்பமாகும். பிங் என்பது தற்காலிக கட்டளை மற்றும் இரண்டாவது அளவுரு அனைத்தும் சரக்குக் கோப்பில் உள்ள அனைத்து ஹோஸ்ட்களையும் குறிக்கும். கட்டளையின் வெளியீடு கீழே காட்டப்பட்டுள்ளது:
பிங் செய்ய, ஒரு குறிப்பிட்ட ஹோஸ்ட்களின் குழு, ‘அனைத்து’ அளவுருவை குழு பெயருடன் மாற்றவும். கீழேயுள்ள எடுத்துக்காட்டில், வெப்சர்வர்ஸ் குழுவின் கீழ் ஹோஸ்ட்களுடன் இணைப்பை சோதிக்கிறோம்.
# ansible -m ping webservers
கூடுதலாக, வழக்கமான லினக்ஸ் கட்டளைகளை இரட்டை மேற்கோள் குறிகளில் குறிப்பிட -a
பண்பைப் பயன்படுத்தலாம். எடுத்துக்காட்டாக, தொலைநிலை அமைப்புகளின் கணினி நேரத்தை சரிபார்க்க, இயக்கவும்:
# ansible -a "uptime" all
தொலை ஹோஸ்ட்களின் வட்டு பயன்பாட்டை சரிபார்க்க.
# ansible -a "df -Th" all
Adhoc கட்டளையுடன் நீங்கள் பயன்படுத்தக்கூடிய நூற்றுக்கணக்கான தொகுதிகள் மீது நூற்றுக்கணக்கானவை உள்ளன. தொகுதிகளின் முழு பட்டியலையும் அவற்றின் விளக்கங்களுடன் காண, கீழே உள்ள கட்டளையை இயக்கவும்.
# ansible-doc -l
ஒரு குறிப்பிட்ட தொகுதி பற்றிய விரிவான தகவல்களைக் காண, கட்டளையை இயக்கவும்.
# ansible-doc module_name
எடுத்துக்காட்டாக, yum module run பற்றிய கூடுதல் விவரங்களைத் தேட:
# ansible-doc yum
Yum மற்றும் apt தொகுப்பு மேலாளர்களைப் பயன்படுத்தி தொகுப்புகளை நிறுவுவதற்கும் அகற்றுவதற்கும் Ansible adhoc கட்டளைகளைப் பயன்படுத்தலாம்.
சரக்கு கோப்பில் வெப்சர்வர்ஸ் குழுவின் கீழ் CentOS 7 ஹோஸ்டில் அப்பாச்சி வலை சேவையகத்தை நிறுவ கட்டளையை இயக்கவும்:
# ansible webservers -m yum -a "name=httpd state=present"
அப்பாச்சி வலை சேவையகத்தின் நிறுவலை சரிபார்க்க, தொலை கிளையண்டில் உள்நுழைந்து இயக்கவும்.
# rpm -qa | grep httpd
அப்பாச்சியை நிறுவல் நீக்க, மாநிலத்தை தற்போது இருந்து இல்லாத நிலையில் மாற்றவும்.
# ansible webservers -m yum -a "name=httpd state=absent"
மீண்டும், httpd ரன் அகற்றப்படுவதை உறுதிப்படுத்த.
# rpm -qa | grep httpd
கவனித்தபடி, அப்பாச்சி வலை சேவையக தொகுப்புகள் அகற்றப்பட்டுள்ளன.
பயனர்களை உருவாக்கும்போது, ‘பயனர்’ தொகுதி எளிதில் வரும். கிளையன்ட் சிஸ்டம் டேட்டாபேஸ்_சர்வரில் கடவுச்சொல் ரெட்ஹாட் மூலம் புதிய பயனர் ஜேம்ஸை உருவாக்க, கட்டளையை வழங்கவும்.
# ansible database_server -m user -a "name=james password=redhat"
புதிய பயனரின் உருவாக்கத்தை உறுதிப்படுத்த, கட்டளையை இயக்கவும்:
# ansible database_servers -a "id james"
பயனரை அகற்ற, கட்டளையை இயக்கவும்:
# ansible database_servers -m user -a "name=james state=absent"
நீங்கள் வழக்கமான பயனராக அன்சிபிலை இயக்குகிறீர்கள் என்றால், ரூட் சலுகைகளைப் பெறுவதற்கான --become
விருப்பத்தையும், கடவுச்சொல்லைக் கேட்க -k
ஐயும் பயன்படுத்தி தொலை ஹோஸ்ட்களில் சலுகை விரிவாக்கத்தை அன்சிபிள் வழங்குகிறது.
எடுத்துக்காட்டாக, ரூட் பயனரின் கடவுச்சொல்லை கட்டளையை இயக்குமாறு கேட்க, -become
மற்றும் விருப்பம் -K
என்ற சலுகை பெற்ற விருப்பத்துடன் 'netstat -pnltu' என்ற Ansible adhoc கட்டளையை இயக்க. .
$ ansible webservers -m shell -a 'netstat -pnltu' --become -K
ரூட்டைத் தவிர வேறு பயனராக மாற, --become-user
பண்பைப் பயன்படுத்தவும்.
எடுத்துக்காட்டாக, தொலை ஹோஸ்ட்களில் டெக்மிண்ட் பயனராக ‘df -Th’ ஐ இயக்கவும், கடவுச்சொல் இயக்கத்திற்கான வரியில்:
$ ansible all -m shell -a 'df -Th' --become-user tecmint -K
உண்மைகள் ஒரு கணினி பற்றிய விரிவான தகவல்களைக் குறிக்கின்றன. ஐபி முகவரி, கணினி கட்டமைப்பு, நினைவகம் மற்றும் ஒரு சிலவற்றைக் குறிப்பிட CPU பற்றிய தகவல்கள் இதில் அடங்கும்.
தொலை ஹோஸ்ட்களைப் பற்றிய தகவல்களைப் பெற, கட்டளையை இயக்கவும்:
$ ansible all -m setup
அன்சிபிள் கட்டுப்பாட்டிலிருந்து கோப்புகளை பல தொலை ஹோஸ்ட்களுக்கு பாதுகாப்பாக நகலெடுக்க அன்சிபிள் தொகுதி நகலைப் பயன்படுத்துகிறது.
நகல் செயல்பாட்டின் உதாரணம் கீழே:
# ansible webservers -m copy -a "src=/var/log/secure dest=/tmp/"
கட்டளை/var/log/பாதுகாப்பான கோப்பை அன்சிபில் கண்ட்ரோல் நோட்டில்/tmp இலக்கு உள்ள வெப்சர்வர்ஸ் குழுவில் உள்ள தொலை ஹோஸ்ட்களுக்கு நகலெடுக்கிறது.
அனுமதிகள் மற்றும் கோப்பு உரிமையை மாற்ற கோப்பு தொகுதியைப் பயன்படுத்தலாம்.
# ansible webservers -m file -a "dest=/tmp/secure mode=600"
கூடுதலாக, காட்டப்பட்டுள்ளபடி உரிமையாளர் மற்றும் குழு வாதங்களை நீங்கள் சேர்க்கலாம்:
# ansible webservers -m file -a "dest=/tmp/secure mode=600 owner=tecmint group=tecmint"
காட்டப்பட்டுள்ளபடி mkdir -p
க்கு ஒத்த முறையில் நீங்கள் கோப்பகங்களையும் உருவாக்கலாம்.
$ ansible webservers -m file -a "dest=/path/to/directory mode=755 owner=tecmint group=tecmint state=directory"
உதாரணத்திற்கு,
$ ansible webservers -m file -a "dest=/home/tecmint/data mode=755 owner=tecmint group=tecmint state=directory"
இந்த கட்டுரையில், தொலைநிலை ஹோஸ்ட்களை நிர்வகிக்க அன்சிபில் தற்காலிக கட்டளைகளை இயக்க நிர்வகிக்கப்பட்ட முனைகளை எவ்வாறு கட்டமைக்க முடியும் என்பதை நாங்கள் வெளிச்சம் போட்டுக் காட்டுகிறோம். இது உங்களுக்கு பயனுள்ளதாக இருக்கும் என்று நாங்கள் நம்புகிறோம். அதற்கு ஒரு ஷாட் கொடுத்து, அது எவ்வாறு சென்றது என்பதை எங்களுக்குத் தெரியப்படுத்துங்கள்.