Hvernig á að nota Ansible einingar fyrir kerfisstjórnunarverkefni - Hluti 6
Í þessum hluta 6 af fáum Ansible einingum í fyrri efnisatriðum munum við nú fara dýpra og uppgötva viðbótareiningar sem eru gagnlegar við að framkvæma fjölda kerfisstjórnunarverkefna.
Þú munt fá grunnhugmynd um hverja einingu og skoða valkostina sem eru í boði til að framkvæma ákveðin verkefni.
- Hafa umsjón með hugbúnaðarpökkum og geymslum í Ansible
- Stjórna þjónustu með Ansible
- Stjórna eldvegg með Ansible
- Skilja skrár eða möppur með Ansible
- Tímasettu verkefni með Ansible
- Stjórnaðu notendum og hópum með Ansible
- Búðu til skrár og möppur með Ansible
- Stjórna geymslu með Ansible
- Stjórna skráarkerfum með Ansible
Þegar pakkar eru settir upp á Linux kerfum koma mismunandi dreifingar með mismunandi pakkastjóra. Fyrir RedHat dreifingar höfum við viðeigandi.
Ansible kemur með einingu sem kallast pakki, sem útilokar þörfina á að nota mismunandi pakkastjóra fyrir mismunandi kerfi. Það notar sjálfkrafa samsvarandi pakkastjóra hýsilkerfisins og auðveldar þar með vinnuna.
Til dæmis, til að setja upp htop í hópi gestgjafa sem samanstanda af bæði Debian & RedHat dreifingum, notaðu pakkaeininguna eins og sýnt er í install_htop.yml leikbókinni hér að neðan.
--- - name: Install htop on Ubuntu and CentOS hosts: all tasks: - package: name: htop state: installed
ATHUGIÐ: Pakkanöfn geta verið mismunandi frá einu stýrikerfi til annars. Til dæmis höfum við httpd í Redhat dreifingum og Apache2 fyrir Debian/Ubuntu kerfi sem öll tákna Apache vefþjóninn. Þess vegna ber að gæta mikillar varúðar við að gefa þessum pakkningum. Venjulega er best að nota breytur eða skilyrtar staðhæfingar.
Næst höfum við þjónustueiningu, sem er notuð til að stjórna þjónustu á Linux kerfum. Það er notað til að ræsa, stöðva eða endurræsa þjónustu. Þú getur líka notað það til að virkja þjónustu þannig að þegar kerfi ræsir ræsir það þjónustuna sjálfkrafa.
Til dæmis, til að ræsa og virkja Apache vefþjón á RHEL 8, notaðu þjónustuna eins og sýnt er.
--- - name: Start and enable httpd service hosts: webservers tasks: - service: name: httpd state: started enabled: yes
Til að stöðva httpd þjónustu skaltu fara framhjá eigindinni stoppað.
--- - name: Stop httpd service hosts: webservers tasks: - service: name: httpd state: stopped
Til að endurræsa httpd þjónustuna, sendu endurræst eigindina.
--- - name: Restart httpd service hosts: webservers tasks: - service: name: httpd state: restarted
Annað mikilvægt verkefni sem kerfisstjórar taka að sér er stjórnun eldveggsins. Í Ansible leikbókum hefur þetta verið gert mun auðveldara með eldvegg og ufw einingum. Þú getur stillt eldvegginn til að leyfa eða loka fyrir höfn eða þjónustu eða jafnvel upprunavistfang.
Við skulum stökkva inn og skoða nokkur dæmi:
--- - name: Allow port 80 hosts: webservers tasks: -firewalld: port: 80/tcp permanent: yes state: enabled
Í leikbókinni hér að ofan er höfn 80 leyfð yfir eldvegginn.
Valkosturinn varanleg: já
framfylgir eldveggsreglunni og gerir hana viðvarandi yfir endurræsingu. Þessi regla gildir þó ekki strax. Það tekur aðeins gildi eftir endurræsingu. Til að framfylgja reglunni strax skaltu nota valkostinn strax: já
.
Til að tilgreina heimilisföngin sem eru leyfð skaltu nota source:0.0.0.0/0 yfirlýsinguna.
- firewalld: source: 192.168.0.0/24 zone: public state: enabled
Til að tilgreina fjölda hafna sem mega nota hafnarvalkostinn sem hér segir:
- firewalld: port: 213-567/udp permanent: yes state: enabled
Til að loka fyrir höfnina skaltu breyta stöðuvalkostinum í óvirkan eins og sýnt er:
-firewalld: port: 80/tcp permanent: yes state: disabled
Fyrir utan að bæta við/loka höfn geturðu einnig beitt sömu reglum um þjónustu. Og það er frekar einfalt. Notaðu bara þjónustueininguna og bættu við þjónustunni sem á að bæta við og tryggðu að ástandsvalkosturinn sé virkur.
- firewalld: service: https permanent: true state: enabled
Til að loka fyrir þjónustuna skaltu stilla stöðuvalkostinn á óvirkan.
- firewalld: service: https permanent: true state: disabled
Skjalavistun vísar til þjöppunar á skrá eða möppu í snið sem er auðvelt að flytja og minni í stærð. Ansible skip með einingu sem kallast skjalasafn. Að þjappa skrá er um það bil eins auðvelt og það verður. Allt sem þarf er að tilgreina upprunaslóð skráarinnar og áfangastað þjöppuðu skráarinnar.
Íhugaðu leikbók compress.yml hér að neðan.
--- - hosts: webservers tasks: • name: Compress a folder archive: path: /opt/data/web dest: /tmp/web.gz
Ofangreind leikbók þjappar saman /opt/data/vefskránni og vistar hana á /tmp/web.gz.
Sjálfgefið þjöppunarsnið er .gz
, hins vegar er hægt að tilgreina þetta með sniðeigindinni. Sýndu næstu Playbook.
--- - hosts: webservers Tasks: - name: Create a zip archive archive: path: /opt/data/web dest: /tmp/web format: zip
Leikbókin hér að ofan þjappar /opt/data/vefskrá í /tmp/web.zip.
Þú getur líka afþjappað þjappaða skrá með því að nota unarchive eigindina. Skoðaðu leikbókina hér að neðan.
--- - hosts: webservers tasks: - name:Uncompress /tmp/web.gz to/opt directory on Ansible controller unarchive: src: /tmp/web.bz2 dest: /opt/
Leikbókin hér að ofan afþjappar skrána /opt/data/web.gz til að /opt á Ansible stjórnandanum.
Notaðu remote_src=yes
valmöguleikann til að tilgreina ytra upprunakerfið.
--- - hosts: webservers tasks: - name:Uncompress /tmp/web.bz2 to/opt on remote host unarchive: src: /tmp/web.bz2 dest: /opt/ remote_src=yes
Leikbókin hér að ofan afþjappar skrána /tmp/web.bz2 á ytri hnútnum í /opt/ möppuna.
Cron einingin hjálpar við að skipuleggja störf í Ansible Playbooks.
Skoðaðu leikbókina hér að neðan.
--- - 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
Leikbókin keyrir mætingarhandritið 5. apríl klukkan 17:00.
Ef þú vilt skipuleggja þetta handrit til að keyra aðeins ef 5. dagur apríl er mánudagur, notaðu þá eiginleikann vikudagur: 1. 0 táknar sunnudag og 6 táknar laugardag samkvæmt kórónuskrift.
month: 4 day: 5 hour: 17 minute: 00 weekday: 1
Stjarna (*) í einhverjum af þessum reitum gefur til kynna hvaða gildi sem er.
Til að keyra verkið 5. apríl kl. 17:00, sama hvaða virka dagur er, notaðu tímabreyturnar eins og sýnt er.
month: 4 day: 5 hour: 17 minute: 00 weekday: *
Til að framkvæma cron starfið á 5. degi hvers mánaðar klukkan 17:00 skaltu nota stillingarnar hér að neðan.
month: * day: 5 hour: 17 minute: 00 weekday: *
Til að framkvæma cron verkið daglega klukkan 17:00 skaltu stilla tímastillingarnar eins og sýnt er:
month: * day: * hour: 17 minute: 00 weekday: *
Til að framkvæma cron verkið á 5 klukkustunda fresti, notaðu þrepagildið */5
eins og sýnt er.
month: * day: * hour: */5 minute: * weekday: *
Þú getur líka stjórnað notendum og hópum inni í Ansible leikbókum alveg áreynslulaust.
Til að búa til nýjan notanda, notaðu notendaeininguna eins og sýnt er.
--- - hosts: webservers tasks: - name: Create a new user user: name: Jack
Þú getur líka bætt við viðbótarvalkostum eins og UID, hópum.
- name: Create a new user user: name: Jack comment: Jack Peters uid: 1002 group: administrators shell: /bin/bash
Til að fjarlægja notandann skaltu nota remove: yes
yfirlýsinguna.
- name: Remove the user 'Jack' user: name: Jack state: absent remove: yes
Til að búa til nýjan hóp, notaðu hópeininguna.
- name: Create a group group: name: developers
Til að búa til skrár af möppum, notaðu skráareininguna.
Til dæmis til að búa til nýja möppu.
--- - hosts: webservers tasks: - name: Create a new directory file: path: /opt/app state: directory
Þú getur bætt við öðrum eiginleikum eins og eiganda, hópi og skráarheimildum.
- hosts: webservers tasks: - name: Create a new directory file: path: /opt/web state: directory owner: www-data group: www-data mode: 0644
Að auki geturðu búið til möppur endurkvæmt með því að nota endurtekið: já yfirlýsinguna.
--- - hosts: webservers tasks: - name: Create directories recursively file: path: /opt/web/app state: directory owner: www-data group: www-data mode: 0644 recurse: yes
Til að búa til skrá, notaðu state: touch
valkostinn.
--- - 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 einingin er notuð til að stilla LVM bindi og hópa.
Skoðaðu leikbókina hér að neðan:
--- - hosts: webservers tasks: • name: Create lVM volume group lvg: vg: vg1 pvs: /dev/sda1 pesize: 32
Þetta býr til hljóðstyrkshóp ofan á /dev/sda1
skiptinguna með líkamlegri stærð upp á 32 MB.
Þegar búið er til skaltu nota lvol eininguna til að búa til rökrétt bindi eins og sýnt er
--- - hosts: webservers tasks: - name: Create lVM volume lvol: vg: vg1 lv: lvol1 pvs: /dev/sda1
Notaðu skráarkerfiseininguna til að búa til skráarkerfi á blokkunartæki.
Leikbókin hér að neðan býr til skráarkerfisgerð xfs á blokkarbindi.
--- - hosts: webservers tasks: - name: Create a filesystem filesystem: fstype: xfs dev: /dev/vg1/lvol1
Næst geturðu haldið áfram að festa hljóðstyrk blokkarinnar með því að nota festingareininguna eins og sýnt er í leikbókinni hér að neðan:
--- - hosts: webservers tasks: - name: Mount a filesystem mount: fstype: xfs src: /dev/vg1/lvol1 path: /opt/web state: mounted
Þetta lýkur umræðuefninu. Við höfum fjallað um ýmis kerfisstjórnunarverkefni sem hægt er að framkvæma með sérstökum innbyggðum einingum í Ansible Playbooks.