Oman Ansible-moduulin luominen

Vince Sesto

Seuraa

Maaliskuu 20, 2019 – 4 min read

>

Joka päivä Ansible-moduulien määrä jatkaa kasvuaan, ja niihin lisätään lisätukea sovelluksen käytön myötä. Miksi sinun siis pitäisi luoda omia Ansible-moduuleja. Syitä on useita, mutta mielestäni pätevin niistä on se, että voit saada käsityksen siitä, miten moduulit toimivat. Vaikka tämä uusi taito ei ehkä tulekaan esiin kovin usein, on todennäköisempää, että joudut korjaamaan virheitä tai ongelmia olemassa olevissa Ansible-moduuleissa, joten se, että tiedät, miten kaikki toimii, voi olla arvokas taito.

On myös muistettava, että organisaatiossasi saattaa olla paljon vanhempia vanhoja sovelluksia tai sisäisiä sovelluksia, joilla ei ole omia moduuleja. On muitakin vaihtoehtoja ottaa nämä sovellukset käyttöön Ansiblen kautta ja tarjota malleja niiden konfigurointiin, mutta voi olla helpompaa luoda oma moduuli näitä sovelluksia varten. Oli miten oli, seuraavasta asiakirjasta saat tiedot, joiden avulla pääset alkuun ja voit toivottavasti laajentaa sitä edelleen.

Jos etsit loistavaa tapaa oppia lisää Ansibesta, seuraa linkkiä uusimpaan kirjaamme, Ansible Answers

Tämä on melko yksinkertainen esimerkki, mutta toivon, että huomaat, että tarvitset vain hieman Python-tietämystä, yhdistettynä Ansible-taitoihisi, ja voit alkaa luoda omia Ansible-moduuleja…Älä huoli, jos tietosi ovat hieman puutteelliset kummassakin, kaikki selitetään, kun käymme sen yhdessä läpi.

Käsittelemme vain perus ”Hello World” -moduulin, jotta näet kuinka helppoa tämä on. Tässä postauksessa ei käsitellä Ansiblen asennusta ja perusteita, joten tutustu rohkeasti aiempiin postauksiimme saadaksesi lisätietoja.

1. Aloita pääsemällä työympäristöösi, johon on jo asennettu Ansible. Luo hakemistoon, jossa työskentelet, kirjastohakemisto:

mkdir library

2.Luo kirjastohakemiston sisällä uusi moduulitiedosto nimeltä hello_module.py:

touch library/hello_module.py

3. Tee uusi moduuli. Avaa uusi tiedosto suosikkitekstieditorillasi ja lisää siihen seuraava koodi(Vasemmalla olevat numerot ovat vain viitteellisiä, eikä niitä pidä lisätä tiedostoon):

Tässä ei ole mitään liian monimutkaista, mutta jos Python ei ole sinulle tuttu, tässä on jokaisen rivin erittely. Rivillä 1 määritetään, että on käytettävä paikallisesti asennettua Python-versiota. Rivillä 3 tuodaan tietyt moduulit, jotka toimivat Ansiblen kanssa. Rivit 5-8 ovat funktio, joka suoritetaan osana moduuliasi, erityisesti rivi 6 tarjoaa AnsibleModule-luokan, jonka avulla voimme käsitellä saapuvia parametreja ja poistua ohjelmasta, jolloin vastaus on ”hello” ja sitten ”world!” rivillä 7. Rivillä 10 ja 11 suoritetaan sitten funktio, kun moduulia kutsutaan.

4. Voimme nyt luoda pelikirjan moduulin suorittamista varten. Luo työhakemistoosi tiedosto newmodule_test.yml:

touch newmodule_test.yml

5.Voit nyt käynnistää tekstieditorisi ja lisätä seuraavat tiedot, jotta playbookisi toimii

 1 ---
2 - hosts: 127.0.0.1
3 tasks:
4 - name: testing our new module
5 hello_module:
6 register: result
7
8 - debug: var=result

Jos et ole aiemmin työskennellyt Ansiben kanssa, ylläoleva koodi pystyy määrittämään rivillä 2 olevan isännän olevan se, jossa työskentelet. Rivillä 3-6 ajetaan uusi moduuli, jossa rivillä 4 nimetään tehtävä, rivillä 5 kutsutaan moduulia ja rivillä 6 rekisteröidään tulos muuttujaksi nimeltä result. Sitten lopuksi rivi 8 käyttää debug-funktiota tulostamaan tulokset osoittaakseen, että kaikki toimi.

6. Voimme nyt ajaa uuden pelikirjan seuraavalla komennolla:

ansible-playbook newmodule_test.yml

Joka saa seuraavan tulosteen:

Jos kaikki meni hyvin, sinun pitäisi nähdä edellä mainittu tuloste, joka antaa sinulle mukavan ”hei”: ”world!” tulosteena.

Okei, olemme olleet aika nopeita ja likaisia tässä ja se oli postauksen tavoite, mutta kaikki mitä tarvitset on laajentaa tietämystäsi Pythonista ja pystyt myös laajentamaan mitä moduulisi voivat tehdä.

Löysitkö tämän postauksen hyödylliseksi? Napauta ystävällisesti taputuspainiketta alla! 🙂

Tekijästä

Jätä kommentti