Jogapkärli dolandyrylýan düwünleri nädip sazlamaly we ad-hoc buýruklaryny işletmeli - 3-nji bölüm


“Setible Up Ansible Control Node” -yň öňki iki makalasynda. 3-nji bölümde, uzakdaky hostlarda ad-hoc buýruklaryny işletmek üçin Ansible dolandyrylýan düwünleri nädip sazlap boljakdygyny görkezeris.

Jogapkärli dolandyrylýan düwünlere parolsyz SSH tanamaklygy guruň

Iň soňky mowzugymyzyň netijesi hökmünde, “Ansible” bilen uzakdaky hostlary dolandyrmak, “Ansible” dolandyryş düwmesi bilen dolandyrylýan öý eýeleriniň arasynda parolsyz SSH tassyklamasyny gurmagy talap edýär. Bu, “Ansible Control” düwmesinde açar jübütiň (Public and Private SSH açar jübüti) döredilmegini we “Public” açaryny uzakdaky öý eýeleriniň hemmesine göçürmegi öz içine alýar. Bu öňe gitmek üçin möhüm ädim bolar we işiňizi has aňsatlaşdyrar.

Dolandyrylan düwünlerde artykmaçlyk derejesini ýokarlandyryň

Adaty ulanyjy hökmünde gireniňizde, ýokary artykmaçlyklary ýa-da kök artykmaçlyklaryny talap edýän dolandyrylýan düwünlerde belli bir işleri ýerine ýetirip bilersiňiz. Bu meseleler paket dolandyryşyny, täze ulanyjylary we toparlary goşmak we diňe käbirlerini bellemek üçin ulgam konfigurasiýalaryny üýtgetmek ýaly zatlary öz içine alýar. Muňa ýetmek üçin, uzakdaky öý eýelerinde artykmaç ulanyjy hökmünde meseleleri ýerine ýetirmek üçin oýun depderindäki käbir görkezmeleri ulanmaly.

“Ansible”, häzirki giren ulgamyndan tapawutly dolandyrylýan düwünde başga bir ulanyjy “bolmaga” mümkinçilik berýär. paketleri täzelemek we ulgamy täzeden açmak.

Apache web serwerini görkezilişi ýaly gurýan we başlaýan httpd.yml oýnawaç kitabyna serediň:

---
- 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

bolýar: hawa direktiwasy uzakdaky hostda kök ulanyjy hökmünde buýruklary ýerine ýetirmäge mümkinçilik berýär.

Başga bir ulanyjy bolmak üçin ulanyp boljak başga bir görkezme, öwrüji_user. Bu, gireniňizde däl-de, uzakdaky hostdaky sudo ulanyjysyna geçmäge mümkinçilik berýär.

Mysal üçin, pultda tecmint ulanyjy hökmünde buýrugy işletmek üçin görkezmäni görkeziň.

- name: Run a command as the apache user
  command: somecommand
  become: yes
  become_user: tecmint

Bu görkezme, adatça sudo üçin düzülen ansible.cfg faýlynda goýlan deslapky usuly ýok eder.

Bular oýun ýa-da mesele derejesinde ulanylýar, meselem, gabyk nologine düzülende ulanyja geçmeli bolanda.

Mysal üçin,

- name: Run a command as nobody
  command: somecommand
  become: true
  become_method: su
  become_user: nobody
  become_flags: '-s /bin/sh'

Artykmaçlygy ýokarlandyrmakda buýruk setiri opsiýalary

Buýruklar işledilende artykmaçlyklaryňyzy ýokarlandyrmak üçin ulanyp boljak buýruk setiriniň käbir wariantlaryna göz aýlalyň:

  • --ask-become-pass , -K - Bu, birikdirjek bolýan uzakdaky ulgamdaky sudo ulanyjynyň parolyny sorar./li>

$ ansible-playbook myplaybook.yml --ask-become-pass

  • - netije , -b - Bu parol soramazdan kök ulanyjy hökmünde meseläni ýerine ýetirmäge mümkinçilik berýär.

$ ansible-playbook myplaybook.yml --become 

  • --become-user=BECOME_USER - Başga bir ulanyjy hökmünde işleri ýerine ýetirmäge mümkinçilik berýär.

$ ansible-playbook myplaybook.yml --become-user=tecmint

Ad-Hoc Ansible buýruklaryny ulanyp, iş konfigurasiýasyny tassyklaň

Käwagt, oýnamak kitabyny döretmezden hökmany suratda uzakdaky hostlarda ýa-da Ansible-de serwerlerde çalt we ýönekeý işleri ýerine ýetirip bilersiňiz. Bu ýagdaýda, ad-hoc buýrugyny işletmeli bolarsyňyz.

Jogapkärçilikli ad-hoc buýrugy, oýun kitaplaryny döretmegiň zerurlygy bolmazdan ýönekeý işleri ýönekeý, ýöne täsirli ýerine ýetirmäge kömek edýän bir setirli buýrukdyr. Şeýle meseleler, hostlaryň arasynda faýllary göçürmek, serwerleri täzeden açmak, ulanyjylary goşmak we aýyrmak we ýekeje bukja gurmak ýaly zatlary öz içine alýar.

Bu gollanmada Ansible Ad-Hoc buýruklarynyň dürli programmalaryny öwrenýäris. Görkeziş üçin aşakdaky inwentar faýly ulanarys.

[webservers]
173.82.115.165

[database_servers]
173.82.202.239

“Ansible-Adhoc” buýruklarynyň iň esasy ulanylyşy, bir öý eýesini ýa-da bir topar öý eýesini basmakdyr.

# ansible -m ping all

Aboveokardaky buýrukda -m parametri modulyň görnüşidir. Ping adhoc buýrugy we ikinji parametr, inwentar faýlyndaky ähli hostlary görkezýär. Buýrugyň çykyşy aşakda görkezilýär:

Öý eýeleriniň belli bir topary, “hemmesi” parametrini toparyň ady bilen çalyşyň. Aşakdaky mysalda, web serwerler toparyndaky hostlar bilen baglanyşygy barlaýarys.

# ansible -m ping webservers

Mundan başga-da, goşa dyrnak belliklerinde yzygiderli Linux buýruklaryny kesgitlemek üçin -a atributyny ulanyp bilersiňiz. Mysal üçin, uzakdaky ulgamlaryň ulgam wagtyny barlamak üçin işlediň:

# ansible -a "uptime" all

Uzakdaky hostlaryň işleýşini barlamak üçin.

# ansible -a "df -Th" all

Adhoc buýrugy bilen ulanyp boljak ýüzlerçe ýüzlerçe modul bar. Düşündirişleri bilen modullaryň tutuş sanawyny görmek üçin aşakdaky buýrugy işlediň.

# ansible-doc -l

Belli bir modul hakda jikme-jik maglumat görmek üçin buýrugy işlediň.

# ansible-doc module_name

Mysal üçin, yum modulynyň işleýşi barada has giňişleýin maglumat gözlemek üçin:

# ansible-doc yum

Jogaply adhoc buýruklary yum we apt paket dolandyryjylaryny ulanyp paketleri gurmak we aýyrmak üçin ulanylyp bilner.

Inwentar faýlynda web serwerler toparynyň aşagyndaky CentOS 7 hostyna Apache web serwerini gurmak üçin buýrugy işlediň:

# ansible webservers -m yum -a "name=httpd  state=present"

Apache web serweriniň gurnalyşyny barlamak üçin uzakdaky müşderä giriň we işlediň.

# rpm -qa | grep httpd

Apaçi aýyrmak üçin ýagdaýy häzirki ýagdaýdan ýok ýerine üýtgediň.

# ansible webservers -m yum -a "name=httpd  state=absent"

Againene-de httpd işleýşiniň aýrylandygyny tassyklamak üçin.

# rpm -qa | grep httpd

Görnüşi ýaly, Apache web serwer paketleri arassalandy.

Ulanyjylar döredilende “ulanyjy” moduly amatly bolýar. Müşderi ulgamynyň database_server-de parol redhatly täze ulanyjy Jeýms döretmek üçin buýrugy beriň.

# ansible database_server -m user -a "name=james password=redhat"

Täze ulanyjynyň döredilendigini tassyklamak üçin buýrugy işlediň:

# ansible database_servers -a "id james"

Ulanyjyny aýyrmak üçin buýrugy işlediň:

# ansible database_servers -m user -a "name=james state=absent"

Ansible-i adaty ulanyjy hökmünde işleýän bolsaňyz, Ansible paroly soramak üçin kök aýratynlyklaryny we -k opsiýasyny ulanyp, uzakdaky öý eýelerinde artykmaçlygy ýokarlandyrýar.

Mysal üçin, “Ansible adhoc” buýrugyny “netstat -pnltu” artykmaç opsiýa - -become we -K opsiýasy bilen işlemek üçin kök ulanyjynyň parolyny buýrugy işletmek üçin .

$ ansible webservers -m shell -a 'netstat -pnltu' --become -K

Kökden başga bir ulanyjy bolmak üçin --become-user atributyny ulanyň.

Mysal üçin, uzakdaky hostlarda tekmint ulanyjy hökmünde “df -Th” -ni işletmek we parolyň işlemegini haýyş etmek:

$ ansible all -m shell -a 'df -Th' --become-user tecmint -K

Faktlar ulgam barada jikme-jik maglumata degişlidir. Bulara IP adresi, ulgam arhitekturasy, ýat we CPU hakda maglumat berilýär.

Uzakdaky öý eýeleri barada maglumat almak üçin buýrugy işlediň:

$ ansible all -m setup 

“Ansible”, “Ansible” dolandyryşyndan birnäçe uzakdaky hostlara faýllary ygtybarly göçürmek üçin modul göçürmesini ulanýar.

Aşakda göçürme amalynyň mysaly:

# ansible webservers -m copy -a "src=/var/log/secure dest=/tmp/"

Buýruk “Ansible Control” düwünindäki/var/log/safe faýlyny/tmp barjak ýerdäki web serwerler toparyndaky uzakdaky hostlara göçürýär.

Rugsatlary we faýl eýeçiligini üýtgetmek üçin faýl modulyny ulanyp bilersiňiz.

# ansible webservers -m file -a "dest=/tmp/secure mode=600"

Mundan başga-da, eýesi we topar argumentlerini görkezilişi ýaly goşup bilersiňiz:

# ansible webservers -m file -a "dest=/tmp/secure mode=600 owner=tecmint group=tecmint"

Şeýle hem, görkezilişi ýaly mkdir -p ýaly kataloglary döredip bilersiňiz.

$ ansible webservers -m file -a "dest=/path/to/directory mode=755 owner=tecmint group=tecmint state=directory"

Mysal üçin,

$ ansible webservers -m file -a "dest=/home/tecmint/data mode=755 owner=tecmint group=tecmint state=directory"

Bu makalada, uzakdaky hostlary dolandyrmak üçin Ansible ad-hoc buýruklaryny işletmek üçin dolandyrylýan düwünleri nädip sazlap boljakdygyny açyp görkezýäris. Peýdaly gördüňiz diýip umyt edýäris. Oňa atyň we nädip gidendigini bize habar beriň.