Ansible Academy · Oppitunti

allow_duplicates ja roolien idempotenttisuus

Hallitkaa roolien toistuvaa suorittamista.

Oppitunti 4/413 vaihetta

allow_duplicates ja roolien idempotenttisuus on ilmainen Ansible Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Ansible Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Ansible Academy-kurssilla on yhteensä 4 oppituntia.

Roolit suoritetaan oletuksena kerran

Jos kaksi roolia riippuu samasta common-roolista, Ansible toimii älykkäästi: se suorittaa common-roolin yhden playn aikana vain kerran, ei kahdesti.

Miksi päällekkäisyyksien poisto on olemassa

Tämä deduplication estää yhteisiä alustustusrooleja toistamasta kallista työtä, kuten perusroolin koventamista jokaiselle sovellusroolille erikseen.

Sama rooli, samat parametrit

Ohitus koskee vain tilannetta, jossa roolia pyydetään samoilla parametreilla. Samanlaiset kutsut katsotaan jo käsitellyiksi.

Eri parametrit suorittavat roolin uudelleen

Kutsukaa samaa roolia eri muuttujilla, niin Ansible suorittaa sen uudelleen. Kahdella määrityksellä käytetty vhost-rooli otetaan käyttöön kahdesti, kuten on tarkoitus.

roles:
  - role: vhost
    vars: { name: site_a }
  - role: vhost
    vars: { name: site_b }

Tutustuminen allow_duplicates-asetukseen

meta/main.yml-tiedoston allow_duplicates-asetus hallitsee tätä toimintaa. Asettakaa sen arvoksi true, niin rooli voidaan suorittaa useita kertoja yhden playn aikana.

# meta/main.yml
allow_duplicates: true

Milloin päällekkäiset suoritukset sallitaan

Ottakaa asetus käyttöön rooleissa, jotka on tarkoitettu toistuvaan käyttöön, kuten useiden käyttäjien tai virtuaalipalvelimien luomiseen, kun jokainen kutsu tekee aidosti uutta työtä.

Oletusarvo on false

Oletuksena allow_duplicates on false, joten samanlaisilla parametreilla kutsuttu rooli suoritetaan vain kerran. Jättäkää asetus pois käytöstä kertaluonteisissa alustustusrooleissa.

Päällekkäisyyksien poisto ei ole idempotenssia

Päällekkäisen kutsun ohittaminen on suorituksenaikainen mukavuusominaisuus. Todellinen idempotenssi tarkoittaa, että jokainen tehtävä saavuttaa tavoitetilan riippumatta siitä, kuinka usein se suoritetaan.

Rakentakaa idempotentteja tehtäviä

Suosikaa roolissa tilapohjaisia moduuleja raakojen command-komentojen sijaan. Aidosti idempotentti rooli on turvallista suorittaa kahdesti ilman haittaa.

include_role suoritetaan aina uudelleen

Huomioikaa, että include_role ei noudata päällekkäisyyksien poistologiikkaa samalla tavalla. Dynaamisesti sisällytetty rooli suoritetaan joka kerta, kun sen kohdalle saavutaan.

Koostettava ja turvallinen

Yhdistämällä päällekkäisyyksien poiston, allow_duplicates-asetuksen ja idempotentit tehtävät voitte rakentaa roolien hierarkioita, jotka koostuvat siististi ja pysyvät turvallisina uudelleensuorituksessa.

Pikatarkistus

Muistakaa asetus, jonka avulla rooli voidaan suorittaa pelissä useammin kuin kerran.

Kertaus

Ansible poistaa identtiset roolikutsut kaksoiskappaleina; asettamalla allow_duplicates-asetukseksi true voitte toistaa yhden kutsun, ja pitämällä tehtävät idempotentteina voitte suorittaa ne turvallisesti uudelleen. ♻️

Aloita maksutta

Opi YAML tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”allow_duplicates ja roolien idempotenttisuus” ilmainen?

Kyllä – oppitunnin ”allow_duplicates ja roolien idempotenttisuus” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Ansible Academy-kurssin, päivitä CoddyKit PROhon. Ansible Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”allow_duplicates ja roolien idempotenttisuus”?

Hallitkaa roolien toistuvaa suorittamista. Harjoittelet Ansible Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Ansible Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Ansible Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”allow_duplicates ja roolien idempotenttisuus”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Ansible Academy-oppitunnilla?

Kyllä. Jokainen Ansible Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Roolien riippuvuudet tiedostossa meta/main.yml
  2. defaults ja vars: ohitusjärjestys
  3. include_role ja import_role ajon aikana
  4. allow_duplicates ja roolien idempotenttisuus
← Takaisin: Ansible Academy