Lai veiktu automatizētu uzdevumu attālajā resursdatorā ar Ansible, ir jāaizpilda un jāstrādā ar noteiktiem mainīgajiem, kā paredzēts. Piemēram, šāda veida uzdevums ir nepieciešams, lai tiešsaistē izveidotu attālo resursdatoru, atļautu pieteikšanās un lietotāja privilēģijas un iestatītu Python vidi.
Ir iespējams SSH ievadīt attālā resursdatorā un pārbaudīt, vai resursdators atbilst visiem kritērijiem. Tomēr kā automatizācijas rīks Ansible nodrošina moduļus, kas ļauj veikt šos nogurdinošos un laikietilpīgos uzdevumus vienā komandrindā.
Šī apmācība parāda, kā izmantot iebūvēto ping moduli Ansible, lai veiktu dažādus kopējos mainīgos attālajos resursdatoros. Ansible ping pieprasījums ir vienkāršs, tomēr noderīgs rīks, kuru varat izmantot, lai pārbaudītu attālo resursdatoru pieejamību un praktiskumu.
Tagad mēs rūpīgāk apskatīsim, kā darbojas Ansible ping.
PIEZĪME: Šī sadaļa ir nedaudz teorētiska. Ja jums nepieciešama tikai raksta tehniskā daļa, varat izlaist šo sadaļu. Pat ja tā, iesakām izlasīt šo sadaļu, jo tā sniedz noderīgu ieskatu un informāciju par ping moduli.
Ņemot to vērā, mēs tagad turpināsim ieviest ping moduli.
Par Ansible ping moduli
Ansible ping pieprasījums pārbauda attālo resursdatoru. Šis modulis īpaši pārbauda:
- Vai attālais resursdators ir pieejams un pieejams.
- Vai Python vide var veiksmīgi palaist nepieciešamās atskaņošanas grāmatas.
- Lietotāja pieteikšanās un privilēģijas.
Pēc ping pieprasījuma nosūtīšanas attālajam resursdatoram modulis atgriež vērtību, kas norāda, vai ping bija veiksmīgs. Pēc noklusējuma ping modulis atgriež virkni “pong”, ja tas ir veiksmīgs, un izņēmumu par neveiksmi (ja norādīts).
PRO PADOMS: Lai nodrošinātu, ka mērķa attālajos resursdatoros neizdodas neizpildāmās atskaņošanas grāmatas, izmantojiet ping moduli, lai pārbaudītu, vai prasības ir izpildītas, un veiciet uzdevumus tikai tad, ja tiek iegūts veiksmīgs rezultāts.
Ansible ping moduļa iezīmes
Pinga modulis ir diezgan vienkāršs, un tālāk ir sniegts šī moduļa piedāvāto funkciju saraksts:
- Nav ICMP ping; drīzāk tas ir mazs modulis, kura tālvadības resursdatoros nepieciešama derīga Python vide.
- Windows attālajiem saimniekiem tā vietā jāizmanto modulis win_ping.
- Nodrošina tīkla ierīču net_ping moduli.
- Pieņem tikai vienu parametru, lai radītu izņēmumu.
- Pēc noklusējuma tiek izmantots, izsaucot ansible komandu direktorijā / usr / bin / ansible, lai pārbaudītu pieteikšanās atļaujas un derīgu Python vidi.
- Atgriež virkni “pong” par panākumiem.
Kā izmantot Ansible ping moduli
Tagad mēs aplūkosim dažus piemērus, kas izmanto Ansible ping moduli.
Izmantojot AD HOC ping komandu
Vienkāršākais veids, kā palaist Ansible ping moduli, ir palaist vienkāršu AD HOC komandu terminālā.
AD HOC komanda ir šāda:
ansible all -m ping -vIepriekš minētā komanda sākas ar zvanu Ansible, kam seko īpašais resursdatora paraugs. Šajā gadījumā mēs vēlamies pingēt “visus” resursdatorus. Nākamā daļa “-m” norāda moduli, kuru mēs vēlamies izmantot. “-V” apzīmē verbose.
Gūstot panākumus, jūs iegūsiet tādu rezultātu kā parādīts zemāk:
Izmantojot / etc / ansible / ansible.cfg kā konfigurācijas fails 35.222.210.12| PANĀKUMI =>
"ansible_facts":
"discover_interpreter_python": "/ usr / bin / python",
"mainīts": nepatiesa,
"pingpongs"
Ja attālie resursdatori nav pieejami (iespējams, tie ir bezsaistē), iegūsiet tādu izvadi kā parādīts zemāk:
Izmantojot / etc / ansible / ansible.cfg kā konfigurācijas fails 35.222.210.12| NEPIEEJAMA! =>
"mainīts": nepatiesa,
"msg": "Neizdevās izveidot savienojumu ar resursdatoru, izmantojot ssh: ssh: izveidot savienojumu ar 35 resursdatoru.222.210.12. ports 22: savienojuma noildze ",
"nesasniedzams": taisnība
Ping moduļa izmantošana Playbooks
Atskaņošanas grāmatas iekšpusē varat izmantot arī ping moduli. Vairumā gadījumu jūs neveidosit atskaņošanas grāmatu, kas veic tikai ping pieprasījumu. Tomēr visus uzdevumus varat ietvert ping pieprasījuma apstākļos.
Apsveriet šo vienkāršo spēļu grāmatu:
- saimnieki: visikļūt: jā
uzdevumi:
- ping
Jūs, iespējams, pamanīsit, ka iepriekš minētajā spēļu grāmatā es iekļāvu direktīvu “kļūt”. Tā nav prasība, taču esmu saskāries ar gadījumiem, kad ping lietotājs neizdodas standarta lietotājam. Tagad varat palaist atskaņošanas grāmatu un pārbaudīt, vai resursdatora serveris atbilst veiksmīgas “tenisa” atbildes prasībām.
ansible-playbook ping.ymlJa ping neizdodas, tiks parādīta šāda kļūda “nesasniedzama”:
letāls: [35.222.210.12]: NEREDZAMA! => "izmainīts": false, "msg": "Neizdevās izveidot savienojumu ar resursdatoru, izmantojot ssh: ssh: izveidot savienojumu ar resursdatoru 35.222.210.12. ports 22: noildze savienojumam "," nesasniedzams ": patiessIzmantojot paaugstināšanas izņēmumu ar ping moduli
Datus var norādīt arī kā avāriju, lai izraisītu izņēmumu. Tas maina noklusējuma atgriešanos no “pong” uz “crash”."
Apsveriet šo spēļu grāmatu:
- saimnieki: visikļūt: jā
uzdevumi:
- ping:
avārija: dati
Palaižot playbook ar izņēmumu, jāatgriež šāda vērtība:
ansible-playbook ping_except.yml
Secinājums
Šī apmācība parādīja daudzveidīgo ping moduļa lietderību. Lai gan šajā modulī nav tādu sarežģītu parametru kā lielākā daļa Ansible moduļu, tas tomēr satur jaudīgas iespējas. Piemēram, varat izmantot ping moduli, lai pārbaudītu, vai kļūdas cēlonis ir trūkstoša Python vide, un izveidojiet uzdevumu nepieciešamās vides instalēšanai attālajā resursdatorā.