Võimalik

Kuidas kasutada võimalikku registrimoodulit

Kuidas kasutada võimalikku registrimoodulit
Rakenduses Ansible saate käivitada mis tahes shellikäskluse oma Ansible-hostides, hostides, mida konfigureerite Ansible-ga. Nendel shellikäskudel võib olla väljundeid. Vaikimisi ignoreeritakse väljundit. Kui soovite väljundi muutujasse salvestada ja seda hiljem kasutada, saate kasutada Ansible'i Registreeri moodul. See artikkel näitab teile, kuidas rakendust Ansible kasutada Registreeri moodul, et salvestada käsu väljund muutujasse ja pääseda sellele hiljem juurde oma Ansible playbooki.

Eeldused

Kui soovite proovida selles artiklis toodud näiteid, peate:

1) Laske oma arvutisse installida Ansible.

2] Laske Ubuntu host konfigureerida Ansible automatiseerimiseks.

LinuxHintis on palju artikleid, mis on pühendatud Ansible'i installimisele ja hostide konfigureerimisele Ansible'i automatiseerimiseks. Vajadusel võite neid artikleid vaadata.

Projektikataloogi seadistamine

Enne edasiliikumist looge uus projekti Ansible kataloog, et asjad oleksid natuke korraldatud.

Projektikataloogi loomiseks register-demo / ja kõik vajalikud alamkataloogid (teie praeguses töökataloogis), käivitage järgmine käsk:

$ mkdir -pv register-demo / playbooks

Kui projekti kataloog on loodud, navigeerige projekti kataloogi järgmiselt:

$ cd register-demo /

Loo võõrustajad varude toimik järgmiselt:

$ nano hostid

Lisage inventuuri faili oma Ubuntu hosti hosti IP või DNS-i nimi (üks hosti rea kohta), nagu on näidatud alloleval ekraanipildil.

Siin olen lisanud oma Ubuntu 20.04 LTS-i host vm3.nodekite.com aastal ubuntu20 Grupp.

Kui olete lõpetanud, salvestage fail, vajutades + X, järgneb Y ja .

Looge Ansible konfiguratsioonifail võimalik.vrd oma projekti kataloogis järgmiselt:

$ nano on võimalik.vrd

Järgmisena sisestage järgmised read võimalik.vrd fail:

[vaikimisi]
inventar = hostid
host_key_checking = Vale

Kui olete valmis, salvestage võimalik.vrd faili vajutades + X, järgneb Y ja .

Nüüd proovige oma Ubuntu hostit pingida järgmiselt:

$ ansible ubuntu20 -u ansible -m ping

Nagu näete, minu Ubuntu 20.04 peremees vm3.nodekite.com on ligipääsetav.

Näide 1: põhitõed

Selles näites näitan teile mõningaid Ansible'i põhitõdesid Registreeri moodul. Kasutan oma Ubuntu 20 juhusliku parooli loomiseks rakendust Ansible.04 host, kasutades pwgen käsk, salvestage parool muutujasse, kasutades Registreeri moodul ja printige ekraanile parool.

Kõigepealt looge uus mänguraamat genereerida.yaml aastal mänguraamatud / kataloogi järgmiselt:

$ nano playbooks / generaator_pass.yaml

Tippige väljale järgmised read genereerida.yaml fail:

- hostid: ubuntu20
kasutaja: ansible
muutunud: Tõsi
ülesanded:
- nimi: Veenduge, et pwgen oleks installitud
asjakohane:
nimi: pwgen
olek: kohal
update_cache: Tõsi
- nimi: genereerige parool
kest: pwgen-N 1 -s 30
register: mypass
- nimi: printige loodud parool
silumine:
msg: "Parool on mypass"

Kui olete lõpetanud, vajutage + X, järgneb Y ja , salvestada genereerida.yaml faili.

Järgmine rida annab Ansibleile käsu mängida raamatut genereerida.yaml igal hostil ubuntu20 Grupp. Minu puhul juhitakse mänguraamatut hostil vm3.nodekite.com.

Selles mänguraamatus määratlen kolm ülesannet.

Esimene ülesanne tagab, et pwgen pakett on installitud.

Teine ülesanne genereerib juhusliku 30-märgise parooli, kasutades pwgen käsk. Ma kasutan Registreeri moodul genereeritud parooli salvestamiseks mypass muutuv.

Kolmas ülesanne prindib mypass muutuja abil Ansible silumine moodul.

Käivitage mänguraamat genereerida.yaml järgmise käsu abil:

$ ansible-playbook playbooks / generaator_pääs.yaml

Nagu näete, jooksis mänguraamat edukalt. Samuti on loodud parool.

Aga miks muutuja tegi mypass printida nii palju esemeid?

Noh, muutuja mypass on objekt, mis sisaldab mõningaid olulisi omadusi.

Iga toote kõige olulisemad omadused Registreeri muutujad on järgmised:

cmd - Käsk, mis jooksis väljundi genereerimiseks.

stdout - Käsu väljund.

stderr - Käsu veaväljund.

algus - Kuupäev ja kellaaeg, mil käsku hakati täitma.

lõpp - Kuupäev ja kellaaeg, kui käsk on lõpetatud.

delta - Käsu käivitamiseks kulunud aeg. See on erinevus lõpp ja algus omadused.

stdout_lines - Massiiv, mis sisaldab käsu igat väljundrida. Sama nagu stdout, aga stdout eraldab read massiivide asemel uue rea (\ n) tähemärkidega.

stderr_lines -  Massiiv, mis sisaldab käsu iga vea väljundrida. Sama nagu stderr, aga stderr eraldab read massiivide asemel uue rea (\ n) märkidega.

Kui soovite lihtsalt paroolistringile printida / sellele juurde pääseda (mis on väga tõenäoline), võite printida / sellele juurde pääseda stdout vara mypass teie mänguraamatu muutuja, nagu on märgitud alloleval ekraanipildil.

$ nano playbooks / generaator_pass.yaml

Kui olete lõpetanud, käivitage mänguraamat genereerida.yaml uuesti. Trükitakse ainult paroolistring, nagu näete alloleval ekraanipildil.

See hõlmab Ansiblei põhitõdesid Registreeri moodul.

Näide 2: poekataloogi sisu

Selles näites näitan teile, kuidas kataloogi sisu muutuvasse salvestada, kasutades Ansible Registreeri ja kuidas neid korrata.

Kõigepealt looge uus mänguraamat get_dir_contents.yaml aastal mänguraamatud / kataloogi.

Esitusraamatud $ nano / get_dir_contents.yaml

Järgmisena sisestage järgmised read reale get_dir_contents.yaml mänguraamat:

- hostid: ubuntu20
kasutaja: ansible
muutunud: Tõsi
ülesanded:
- nimi: loetlege kõik failid ja kataloogid kataloogis / home / ansible
kest: ls / home / ansible
register: dir_contents
- nimi: printige kataloogi sisu silmuste abil
silumine:
msg: "item"
loop: "dir_contents.stdout_lines "

Kui olete lõpetanud, vajutage + X, järgneb Y ja , salvestada genereerida.yaml faili.

Selles mänguraamatus määratlen kaks ülesannet.

Esimene ülesanne loetleb kogu sisu / home / ansible kataloogi ja salvestab need dir_contents muutuv.

Teine ülesanne prindib dir_contents muutuv.

Käivitage get_dir_contents.yaml mänguraamat järgmiselt.

$ ansible-playbook playbooks / get_dir_contents.yaml

Nagu näete, stdout_lines atribuut salvestas kataloogi massiivi. The stdout atribuut salvestatakse ka kataloogi sisusse. Need omadused on eraldatud uue rea (\ n) märkidega. Selles näites stdout_lines vara on lihtne töötada.

Järgmisena itereerige kataloogi sisu silmuse abil.

Selleks avage get_dir_contents.yaml ja muutke teist ülesannet, nagu on märgitud alloleval ekraanipildil.

Esitusraamatud $ nano / get_dir_contents.yaml

Siin ma kordan dir_contents.stdout_lines massiivi abil silmus ja massiiviüksuste printimine, kasutades Ansible silumine moodul. Selles ülesandes on üksus muutuja on silmusmuutuja, mida kasutatakse massiivi elementide kordamiseks.

Käivitage get_dir_contents.yaml järgmine raamat:

$ ansible-playbook playbooks / get_dir_contents.yaml

Nagu näete, on / home / ansible kataloog trükitakse ekraanile.

Näide 3: kataloogi varundamine

Selles näites näitan teile, kuidas kataloogi Ansible abil varundada Registreeri, faili, ja koopia moodulid.

Kõigepealt looge uus mänguraamat backup_home_dir.yaml aastal mänguraamatud / kataloogi järgmiselt:

Esitusraamatud $ nano / backup_home_dir.yaml

Järgmisena sisestage järgmised read reale backup_home_dir.yaml faili.

- hostid: ubuntu20
kasutaja: ansible
muutunud: Tõsi
ülesanded:
- nimi: hankige kodukataloog / kodu / ansible sisu
kest: ls / home / ansible
register: dir_contents
- nimi: looge uus kataloog / tmp / ansible
fail:
tee: / tmp / ansible
riik: kataloog
- nimi: Varukoopia kodukataloog / home / ansible to / tmp / ansible
koopia:
src: / home / ansible / item
dest: / tmp / ansible /
remote_src: Tõsi
loop: "dir_contents.stdout_lines

Kui olete lõpetanud, vajutage + X, järgneb Y ja , salvestada backup_home_dir.yaml faili.

Selles mänguraamatus määratlen kolm ülesannet.

Esimene ülesanne salvestab / home / ansible kataloogis (kataloog, mida ma varundan) dir_contents muutuja abil Ansible Registreeri moodul.

Teise ülesandega luuakse uus kataloog / tmp / ansible kasutades Ansible faili moodul. See on kataloog, kuhu varukoopia salvestatakse.

Kolmas ülesanne viib läbi dir_contents.stdout_lines massiivi ja kasutab Ansible koopia moodul iga kataloogi kopeerimiseks / tmp / ansible / kataloogi.

Käivitage backup_home_dir.yaml järgmine raamat:

$ ansible-playbook playbooks / backup_home_dir.yaml

Nagu näete, minu Ubuntu 20-s.04 LTS-i host, varundamine õnnestus.

Näide 4: ülesannete käivitamine või vahelejätmine

Selles näites näitan teile, kuidas toiminguid käivitada või vahele jätta sõltuvalt registreeritud muutujast Registreeri moodul.

Kõigepealt looge uus mänguraamat register_tingimused.yaml aastal mänguraamatud / kataloogi järgmiselt:

$ nano playbooks / register_conditions.yaml

Järgmisena sisestage järgmised read reale register_tingimused.yaml faili.

- hostid: ubuntu20
kasutaja: ansible
muutunud: Tõsi
ülesanded:
- nimi: loendi kataloogi sisu
kest: ls / home / ansible / test3
register: dir_contents
- nimi: kontrollige, kas kataloog on tühi
silumine:
msgstr: "Kataloog on tühi."
millal: dir_contents.stdout == ""

Kui olete lõpetanud, vajutage + X, järgneb Y ja , salvestada register_tingimused.yaml faili.

Selles mänguraamatus olen määratlenud kaks ülesannet.

Esimene ülesanne salvestab / home / ansible / test3 kataloogis dir_contents muutuv.

Teine ülesanne kontrollib, kas dir_contents.stdout on tühi string või kataloog / home / ansible / test3 on tühi. Kui kataloog on tühi, kuvatakse teade Kataloog on tühi prindib.

Käivitage register_tingimused.yaml järgmine raamat:

$ ansible-playbooki mänguraamatud / register_conditions.yaml

Nagu näete, jooksis mänguraamat edukalt.

Kuna kataloog / home / ansible / test3 on tühi, printis teavik raamatusse Kataloog on tühi.

Järgmisena looge uus fail menüüsse / home / ansible / test3 kataloogi.

$ touch test3 / myfile

Kuna / home / ansible / test3 kataloog pole enam tühi, ülesanne Kontrollige, kas kataloog on tühi on vahele jäetud, nagu näete allolevalt ekraanipildilt.

$ ansible-playbooki mänguraamatud / register_conditions.yaml

Järeldus

Võimatu Registreeri moodul on serverite automatiseerimiseks väga kasulik. See artikkel näitas teile põhitõdesid Registreeri moodul, sealhulgas näited Ansible'i kasutamisest Registreeri moodul kataloogide salvestamiseks ja varundamiseks ning kataloogi ülesannete käivitamiseks.

Kuidas muuta hiirekursori ja kursori suurust, värvi ja skeemi Windows 10-s
Windows 10 hiirekursor ja kursor on operatsioonisüsteemi väga olulised aspektid. Seda võib öelda ka teiste opsüsteemide kohta, nii et tegelikult pole ...
Tasuta ja avatud lähtekoodiga mängumootorid Linuxi mängude arendamiseks
See artikkel hõlmab loetelu tasuta ja avatud lähtekoodiga mängumootoritest, mida saab kasutada 2D- ja 3D-mängude arendamiseks Linuxis. Selliseid mängu...
Tomb Raider for Linuxi õpetus
Shadow of the Tomb Raider on kaheteistkümnes täiendus seeria Tomb Raider - tegevus- ja seiklusmängude frantsiisile, mille on loonud Eidos Montreal. Ni...