Ulgam dolandyryş meseleleri üçin jogaply modullary nädip ulanmaly - 6-njy bölüm
Geçen mowzuklardaky birnäçe düşnükli modullaryň 6-njy bölüminde indi has çuňňur öwreneris we ulgam dolandyryş meseleleriniň birnäçesini ýerine ýetirmekde peýdaly goşmaça modullary taparys.
Her modul barada esasy düşünje alarsyňyz we käbir meseleleri ýerine ýetirmek üçin elýeterli wariantlara göz aýlarsyňyz.
- Ansible-de programma üpjünçilik paketlerini we ammarlaryny dolandyrmak
- Ansible ulanyp hyzmatlary dolandyrmak
- Firewall-y Ansible bilen dolandyrmak
- Ansible bilen faýllary ýa-da bukjalary arhiwlemek
- Ansible bilen tabşyryklary düzmek
- Ulanyjylary we toparlary Ansible bilen dolandyryň
- Ansible bilen faýllar we kataloglar dörediň
- Ansible bilen ammary dolandyrmak
- Faýl ulgamlaryny Ansible bilen dolandyrmak
Linux ulgamlarynda paketler gurlanda dürli paýlamalar dürli paket dolandyryjylary bilen gelýär. RedHat paýlamak üçin bizde ýerlik bar.
Ansible, dürli ulgamlar üçin dürli paket dolandyryjylaryny ulanmagyň zerurlygyny aradan aýyrýan paket atly modul bilen gelýär. Baş ulgam ulgamynyň degişli paket dolandyryjysyny awtomatiki ulanýar we şeýlelik bilen işi aňsatlaşdyrýar.
Mysal üçin, “Debian” we “RedHat” ikisiniň hem öý eýeleriniň toparyna htop gurmak üçin aşakdaky install_htop.yml oýun kitabynda görkezilişi ýaly paket modulyny ulanyň.
--- - name: Install htop on Ubuntu and CentOS hosts: all tasks: - package: name: htop state: installed
BELLIK: Paket atlary bir operasiýa ulgamyndan beýlekisine tapawutlanyp biler. Mysal üçin, Redhat paýlamalarynda httpd we Debian/Ubuntu ulgamlary üçin Apache2 bar, bularyň hemmesi Apache web serwerini aňladýar. Şonuň üçin bu paketlerden geçeniňizde goşmaça seresap bolmaly. Adatça üýtgeýjileri ýa-da şertli jümleleri ulanmak iň gowusydyr.
Ondan soň, Linux ulgamlaryndaky hyzmatlary dolandyrmak üçin ulanylýan hyzmat modulymyz bar. Bir hyzmaty başlamak, duruzmak ýa-da täzeden başlamak üçin ulanylýar. Şeýle hem, bir ulgam açylanda, hyzmaty awtomatiki başlamagy üçin hyzmaty işjeňleşdirmek üçin ulanyp bilersiňiz.
Mysal üçin, RHEL 8-de Apache web serwerini açmak we işletmek üçin hyzmaty görkezilişi ýaly ulanyň.
--- - name: Start and enable httpd service hosts: webservers tasks: - service: name: httpd state: started enabled: yes
Http hyzmatyny duruzmak üçin, saklanan atributdan geçiň.
--- - name: Stop httpd service hosts: webservers tasks: - service: name: httpd state: stopped
Http hyzmatyny täzeden açmak üçin täzeden başlanan atributdan geçiň.
--- - name: Restart httpd service hosts: webservers tasks: - service: name: httpd state: restarted
Ulgam dolandyryjylarynyň ýerine ýetirýän başga bir möhüm meselesi, gorag diwaryny dolandyrmakdyr. “Ansible” oýun kitaplarynda firewalld we ufw modullary bilen bu has aňsatlaşdyryldy. Porta ýa-da hyzmat ýa-da çeşme salgysyna rugsat bermek ýa-da blokirlemek üçin gorag diwaryny sazlap bilersiňiz.
Geliň, birnäçe mysallara seredeliň:
--- - name: Allow port 80 hosts: webservers tasks: -firewalld: port: 80/tcp permanent: yes state: enabled
Aboveokardaky oýun kitabynda, diwar diwaryndan 80-nji porta rugsat berilýär.
hemişelik: hawa
opsiýasy gorag diwarynyň düzgünini ýerine ýetirýär we ony täzeden açmakda dowam etdirýär. Şeýle-de bolsa, bu düzgün derrew ulanylmaýar. Diňe gaýtadan açylandan soň güýje girýär. Düzgüni derrew ýerine ýetirmek üçin derrew opsiýasyny ulanyň: hawa
.
Rugsat berlen salgylary kesgitlemek üçin çeşmäni ulanyň: 0.0.0.0/0 jümlesi.
- firewalld: source: 192.168.0.0/24 zone: public state: enabled
Port opsiýasyny aşakdaky ýaly ulanmaga rugsat berilýän portlaryň bir toparyny kesgitlemek üçin:
- firewalld: port: 213-567/udp permanent: yes state: enabled
Porty blokirlemek üçin döwlet opsiýasyny görkezilişi ýaly ýapyň:
-firewalld: port: 80/tcp permanent: yes state: disabled
Porty goşmak/blokirlemekden başga-da, şol bir düzgüni bir hyzmata hem ulanyp bilersiňiz. Bu gaty ýönekeý. Diňe hyzmat modulyny ulanyň we goşuljak hyzmaty goşuň we döwlet opsiýasynyň açykdygyny anyklaň.
- firewalld: service: https permanent: true state: enabled
Hyzmaty petiklemek üçin döwlet opsiýasyny ýapyň.
- firewalld: service: https permanent: true state: disabled
Arhiwlemek, faýlyň ýa-da bukjanyň aňsatlyk bilen göterip bolýan we ululygy kiçeldilen formata gysylmagyny aňladýar. Arhiw diýilýän modully gämiler. Faýly gysmak näçe aňsat bolsa. Gerek zat, faýlyň çeşme ýoluny we gysylan faýlyň barjak ýerini kesgitlemek.
Aşakdaky playbook compress.yml serediň.
--- - hosts: webservers tasks: • name: Compress a folder archive: path: /opt/data/web dest: /tmp/web.gz
Aboveokardaky oýun kitaby/opt/data/web katalogyny gysýar we /tmp/web.gz sahypasyna ýazdyrýar.
Adaty gysyş formaty .gz
, ýöne bu format atributyny ulanyp kesgitlenip bilner. Indiki Playbook-dan nusga alyň.
--- - hosts: webservers Tasks: - name: Create a zip archive archive: path: /opt/data/web dest: /tmp/web format: zip
Aboveokardaky oýun kitaby /tmp/web.zip salgysyna opt/data/web katalogyny gysýar.
Şeýle hem, arhiw atributyny ulanyp gysylan faýly gysyp bilersiňiz. Aşakdaky oýun kitabyna serediň.
--- - hosts: webservers tasks: - name:Uncompress /tmp/web.gz to/opt directory on Ansible controller unarchive: src: /tmp/web.bz2 dest: /opt/
Aboveokardaky oýun kitaby/Ansible kontrolleýeri saýlamak/saýlamak üçin /opt/data/web.gz faýlyny gysýar.
Uzakdaky çeşme ulgamyny kesgitlemek üçin remote_src=hawa
opsiýasyny ulanyň.
--- - hosts: webservers tasks: - name:Uncompress /tmp/web.bz2 to/opt on remote host unarchive: src: /tmp/web.bz2 dest: /opt/ remote_src=yes
Aboveokardaky oýun kitaby uzakdaky düwündäki /tmp/web.bz2 faýlyny/opt/katalogyna gysýar.
Kron moduly “Ansible Playbooks” -daky işleri meýilleşdirmäge kömek edýär.
Aşakdaky oýun kitabyna serediň.
--- - hosts: webservers tasks: - name: Create a scheduled task cron: name: Run employee attendance job: sh /opt/scripts/attendace.sh month: 4 day: 5 hour: 17 minute: 00
Oýnawaç kitaby 5-nji aprelde agşam sagat 5: 00-a gatnaşýar.
Bu ýazgyny diňe 5-nji apreliň duşenbe güni işlemegi meýilleşdirmek isleseňiz, dynç güni: 1 atributyny ulanyň. 0 ýekşenbäni, 6 kron belligine görä şenbe gününi aňladýar.
month: 4 day: 5 hour: 17 minute: 00 weekday: 1
Bu meýdanlaryň haýsydyr birinde ýyldyzjyk (*) islendik bahany görkezýär.
Işi 5-nji aprelde agşam sagat 5: 00-da, iş gününiň nämedigine garamazdan, wagt parametrlerini görkezilişi ýaly ulanyň.
month: 4 day: 5 hour: 17 minute: 00 weekday: *
Kron işini her aýyň 5-nji güni agşam sagat 5: 00-da ýerine ýetirmek üçin aşakdaky sazlamalary ulanyň.
month: * day: 5 hour: 17 minute: 00 weekday: *
Kron işini her gün agşam 5: 00-da ýerine ýetirmek üçin wagt sazlamalaryny görkezilişi ýaly düzüň:
month: * day: * hour: 17 minute: 00 weekday: *
Kron işini her 5 sagatdan ýerine ýetirmek üçin ädim bahasyny görkezilişi ýaly */5
ulanyň.
month: * day: * hour: */5 minute: * weekday: *
Şeýle hem, “Ansible” oýun kitaplarynyň içindäki ulanyjylary we toparlary gaty kyn dolandyryp bilersiňiz.
Täze ulanyjy döretmek üçin ulanyjy modulyny görkezilişi ýaly ulanyň.
--- - hosts: webservers tasks: - name: Create a new user user: name: Jack
Şeýle hem, UID, toparlar ýaly goşmaça wariantlary goşup bilersiňiz.
- name: Create a new user user: name: Jack comment: Jack Peters uid: 1002 group: administrators shell: /bin/bash
Ulanyjyny aýyrmak üçin aýyrmak: hawa
jümlesini ulanyň.
- name: Remove the user 'Jack' user: name: Jack state: absent remove: yes
Täze topar döretmek üçin topar modulyny ulanyň.
- name: Create a group group: name: developers
Katalog faýllaryny döretmek üçin faýl modulyny ulanyň.
Mysal üçin, täze katalog döretmek üçin.
--- - hosts: webservers tasks: - name: Create a new directory file: path: /opt/app state: directory
Eýesi, topar we faýl rugsatlary ýaly beýleki atributlary goşup bilersiňiz.
- hosts: webservers tasks: - name: Create a new directory file: path: /opt/web state: directory owner: www-data group: www-data mode: 0644
Mundan başga-da, gaýtalanýanlary ulanyp, kataloglary yzygiderli döredip bilersiňiz: hawa jümlesi.
--- - hosts: webservers tasks: - name: Create directories recursively file: path: /opt/web/app state: directory owner: www-data group: www-data mode: 0644 recurse: yes
Faýl döretmek üçin ýagdaýy: degmek
opsiýasyny ulanyň.
--- - hosts: webservers tasks: - name: Create a new file file: path: /opt/web/index.html state: touch owner: www-data group: www-data mode: 0644
Lvg moduly LVM göwrümlerini we toparlaryny düzmek üçin ulanylýar.
Aşakdaky oýun kitabyna serediň:
--- - hosts: webservers tasks: • name: Create lVM volume group lvg: vg: vg1 pvs: /dev/sda1 pesize: 32
Fiziki ululygy 32 MB bolan /dev/sda1
bölüminiň üstünde ses topary döredýär.
Döredilenden soň, görkezilişi ýaly logiki ses döretmek üçin lvol modulyny ulanyň
--- - hosts: webservers tasks: - name: Create lVM volume lvol: vg: vg1 lv: lvol1 pvs: /dev/sda1
Blok enjamynda faýl ulgamyny döretmek üçin faýl ulgamy modulyny ulanyň.
Aşakdaky oýun kitaby blok göwrüminde xfs faýl ulgamynyň görnüşini döredýär.
--- - hosts: webservers tasks: - name: Create a filesystem filesystem: fstype: xfs dev: /dev/vg1/lvol1
Indiki oýun kitabynda görkezilişi ýaly gurnama modulyny ulanyp, blok sesini gurnap bilersiňiz:
--- - hosts: webservers tasks: - name: Mount a filesystem mount: fstype: xfs src: /dev/vg1/lvol1 path: /opt/web state: mounted
Bu mowzugy tamamlaýar. “Ansible Playbooks” -da ýörite gurlan modullar arkaly ýerine ýetirip boljak dürli ulgam dolandyryş meselelerini öz içine aldyk.