Jinsi ya Kusanidi Nodi Zinazodhibitiwa na Tekeleza Amri za dharula - Sehemu ya 3
Katika nakala mbili zilizopita za Kuweka Njia Inayofaa ya Kudhibiti. Katika sehemu hii ya 3, tutaonyesha jinsi unavyoweza kusanidi nodi zinazodhibitiwa za Ansible ili kutekeleza maagizo ya ad-hoc kwenye seva pangishi za mbali.
Sanidi Uthibitishaji wa SSH Isiyo na Nenosiri kwa Nodi Zinazodhibitiwa
Kama muhtasari wa mada yetu ya mwisho, kudhibiti seva pangishi za mbali na Ansible kunahitaji kusanidi uthibitishaji wa SSH Isiyo na Nenosiri kati ya nodi ya udhibiti Inayowezekana na seva pangishi zinazodhibitiwa. Hii inahusisha uundaji wa jozi muhimu (Jozi ya vitufe vya SSH vya Umma na Binafsi) kwenye nodi ya Udhibiti Unayostahili na kunakili kitufe cha Umma kwa seva pangishi zote za mbali. Hii itakuwa hatua muhimu kwenda mbele na itafanya kazi yako iwe rahisi zaidi.
Sanidi Ukuzaji wa Haki kwenye Nodi Zinazosimamiwa
Unapoingia kama mtumiaji wa kawaida, unaweza kuhitajika kufanya kazi fulani kwenye nodi zinazodhibitiwa ambazo zinahitaji mapendeleo ya juu au mapendeleo ya mizizi. Majukumu haya ni pamoja na usimamizi wa kifurushi, kuongeza watumiaji na vikundi wapya, na kurekebisha usanidi wa mfumo ili kutaja machache tu. Ili kufanikisha hili, unahitaji kuomba maagizo fulani kwenye kitabu cha kucheza ili kutekeleza majukumu kama mtumiaji aliyebahatika kwenye seva pangishi za mbali.
Ansible hukuruhusu 'kuwa' mtumiaji mwingine kwenye nodi inayodhibitiwa tofauti na ile iliyoingia kwa sasa. Maagizo ya kuwa:ndio
huinua mapendeleo yako na hukuruhusu kutekeleza majukumu ambayo yanahitaji upendeleo wa mizizi kama vile kusakinisha na. kusasisha vifurushi na kuanzisha upya mfumo.
Zingatia kitabu cha kucheza httpd.yml
ambacho husakinisha na kuanzisha Apache webserver kama inavyoonyeshwa:
--- - 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
Maagizo ya kuwa: ndio
hukuruhusu kutekeleza amri kama mtumiaji wa mizizi kwenye seva pangishi ya mbali.
Maagizo mengine ambayo unaweza kutumia kuwa mtumiaji mwingine ni kuwa_mtumiaji. Hii hukuruhusu kubadili kwa mtumiaji wa sudo kwenye seva pangishi ya mbali unapoingia na sio mtumiaji unayeingia kama.
Kwa mfano, ili kuendesha amri kama mtumiaji wa tecmint kwenye kidhibiti cha mbali tumia maagizo kama inavyoonyeshwa.
- name: Run a command as the apache user command: somecommand become: yes become_user: tecmint
Maagizo haya yatabatilisha njia chaguo-msingi iliyowekwa katika faili ya ansible.cfg ambayo kwa kawaida huwekwa kuwa sudo.
Hizi hutumika katika kiwango cha kucheza au kazi, kwa mfano unapohitaji kubadili kwa mtumiaji wakati ganda limewekwa kuwa nologi.
Kwa mfano,
- name: Run a command as nobody command: somecommand become: true become_method: su become_user: nobody become_flags: '-s /bin/sh'
Chaguzi za mstari wa amri katika Ukuzaji wa Haki
Hebu tuangalie baadhi ya chaguo za mstari wa amri ambazo unaweza kutumia ili kuinua haki zako wakati wa kutekeleza amri:
--ask-become-pass
,-K
- Hii inakuomba nenosiri la mtumiaji wa sudo kwenye mfumo wa mbali ambao unajaribu kuunganisha.< /li>
$ ansible-playbook myplaybook.yml --ask-become-pass
--kuwa
,-b
- Hii hukuruhusu kutekeleza kazi kama mtumiaji wa mizizi bila kuombwa nenosiri.
$ ansible-playbook myplaybook.yml --become
--become-user=BECOME_USER
- Inakuruhusu kuendesha kazi kama mtumiaji mwingine.
$ ansible-playbook myplaybook.yml --become-user=tecmint
Thibitisha Usanidi Unaofanya Kazi kwa kutumia Amri Zinazofaa za Ad-Hoc
Wakati mwingine, unaweza kutaka kufanya kazi za haraka na rahisi kwenye seva pangishi za mbali au seva katika Ansible bila kulazimika kuunda kitabu cha kucheza. Katika hali hiyo, utahitaji kutekeleza amri ya ad-hoc.
Amri ya ad-hoc inayoeleweka ni amri ya mstari mmoja ambayo hukusaidia kutekeleza majukumu rahisi kwa njia rahisi lakini yenye ufanisi bila hitaji la kuunda vitabu vya kucheza. Kazi kama hizo ni pamoja na kunakili faili kati ya wapangishaji, kuwasha tena seva, kuongeza na kuondoa watumiaji na kusakinisha kifurushi kimoja.
Katika somo hili, tunachunguza matumizi mbalimbali ya maagizo ya Ad-Hoc Ansible. Tutatumia faili ya hesabu iliyo hapa chini kwa onyesho.
[webservers] 173.82.115.165 [database_servers] 173.82.202.239
Matumizi ya msingi zaidi ya amri za Ansible-Adhoc ni kuweka seva pangishi au kundi la wapangishi.
# ansible -m ping all
Katika amri iliyo hapo juu, kigezo cha -m
ni chaguo la moduli. Ping ni amri ya adhoc na parameta ya pili yote inawakilisha majeshi yote kwenye faili ya hesabu. Matokeo ya amri yanaonyeshwa hapa chini:
Ili kupigia, kikundi fulani cha wapangishi, badilisha kigezo cha 'wote' na jina la kikundi. Katika mfano ulio hapa chini, tunajaribu muunganisho na wapangishi chini ya kikundi cha seva za wavuti.
# ansible -m ping webservers
Zaidi ya hayo, unaweza kutumia -a
sifa kubainisha amri za kawaida za Linux katika alama mbili za nukuu. Kwa mfano, ili kuangalia muda wa mfumo wa mifumo ya mbali, endesha:
# ansible -a "uptime" all
Ili kuangalia matumizi ya diski ya seva pangishi za mbali endesha.
# ansible -a "df -Th" all
Kuna mamia kwa mamia ya moduli ambazo unaweza kutumia kwa amri ya Adhoc. Ili kutazama orodha nzima ya moduli na maelezo yao, endesha amri hapa chini.
# ansible-doc -l
Ili kuona maelezo ya kina kuhusu moduli fulani, endesha amri.
# ansible-doc module_name
Kwa mfano, kutafuta maelezo zaidi kuhusu uendeshaji wa moduli ya yum:
# ansible-doc yum
Amri za adhoc zinazofaa zinaweza kutumika kwa usakinishaji na uondoaji wa vifurushi kwa kutumia yum na wasimamizi wa vifurushi apt.
Ili kusakinisha seva ya wavuti ya Apache kwenye mwenyeji wa CentOS 7 chini ya kikundi cha webservers kwenye faili ya hesabu endesha amri:
# ansible webservers -m yum -a "name=httpd state=present"
Ili kuthibitisha usakinishaji wa seva ya wavuti ya Apache, ingia kwa mteja wa mbali na uendeshe.
# rpm -qa | grep httpd
Ili kusanidua Apache, badilisha hali kutoka kwa sasa hadi kutokuwepo.
# ansible webservers -m yum -a "name=httpd state=absent"
Tena, ili kudhibitisha kuondolewa kwa httpd run.
# rpm -qa | grep httpd
Kama inavyoonekana, vifurushi vya seva ya wavuti ya Apache vimesafishwa.
Wakati wa kuunda watumiaji, moduli ya 'mtumiaji' inakuja vizuri. Ili kuunda mtumiaji mpya james na nenosiri redhat kwenye hifadhidata_server ya mfumo wa mteja, toa amri.
# ansible database_server -m user -a "name=james password=redhat"
Ili kudhibitisha uundaji wa mtumiaji mpya, endesha amri:
# ansible database_servers -a "id james"
Ili kuondoa mtumiaji, endesha amri:
# ansible database_servers -m user -a "name=james state=absent"
Iwapo unatumia Ansible kama mtumiaji wa kawaida, Ansible hutoa ongezeko la upendeleo katika seva pangishi za mbali kwa kutumia chaguo la --become
kupata upendeleo wa mizizi na -k
kuuliza nenosiri.
Kwa mfano, kutekeleza amri ya Ansible adhoc 'netstat -pnltu' na chaguo la upendeleo --kuwa
na chaguo -K
kuuliza nenosiri la mtumiaji wa mizizi kutekeleza amri. .
$ ansible webservers -m shell -a 'netstat -pnltu' --become -K
Ili kuwa mtumiaji mwingine isipokuwa root, tumia --become-user
sifa.
Kwa mfano kuendesha 'df -Th' kama mtumiaji wa tecmint kwenye seva pangishi za mbali na kuuliza neno la siri liendeshwe:
$ ansible all -m shell -a 'df -Th' --become-user tecmint -K
Ukweli hurejelea maelezo ya kina kuhusu mfumo. Hii inajumuisha maelezo kuhusu anwani ya IP, usanifu wa mfumo, kumbukumbu na CPU kutaja machache.
Ili kupata habari kuhusu seva pangishi za mbali, endesha amri:
$ ansible all -m setup
Ansible hutumia nakala ya sehemu hiyo kunakili faili kwa usalama kutoka kwa Kidhibiti Kinachowezekana hadi kwa wapangishi wengi wa mbali.
Ifuatayo ni mfano wa operesheni ya nakala:
# ansible webservers -m copy -a "src=/var/log/secure dest=/tmp/"
Amri hunakili faili ya /var/log/secure katika nodi ya Udhibiti Inayowezekana kwa wapangishi wa mbali katika kikundi cha seva za wavuti kwenye /tmp lengwa.
Unaweza kutumia sehemu ya faili kubadilisha ruhusa na umiliki wa faili.
# ansible webservers -m file -a "dest=/tmp/secure mode=600"
Zaidi ya hayo, unaweza kuambatisha hoja za mmiliki na kikundi kama inavyoonyeshwa:
# ansible webservers -m file -a "dest=/tmp/secure mode=600 owner=tecmint group=tecmint"
Unaweza pia kuunda saraka, kwa njia sawa na mkdir -p
kama inavyoonyeshwa.
$ ansible webservers -m file -a "dest=/path/to/directory mode=755 owner=tecmint group=tecmint state=directory"
Kwa mfano,
$ ansible webservers -m file -a "dest=/home/tecmint/data mode=755 owner=tecmint group=tecmint state=directory"
Katika makala haya, tunaangazia jinsi unavyoweza kusanidi nodi zinazodhibitiwa ili kutekeleza maagizo ya matangazo yanayofaa ili kudhibiti seva pangishi za mbali. Tunatumai umepata kuwa muhimu. Ipige risasi na utujulishe jinsi ilivyokuwa.