Ansible Academy · Oppitunti

Käsittelijöiden määrittäminen ja uudelleenkäynnistysmallit

Kirjoittakaa uudelleenkäytettäviä palvelun uudelleenkäynnistyksen käsittelijöitä.

Oppitunti 2/413 vaihetta

Käsittelijöiden määrittäminen ja uudelleenkäynnistysmallit on ilmainen Ansible Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/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.

Missä handlerit sijaitsevat

Handlerit sijoitetaan playn omaan handlers-osioon erilleen tavallisista tehtävistä. Näin reaktiiviset toiminnot pysyvät selkeästi ryhmiteltyinä.

tasks:
  - name: Deploy config
    ansible.builtin.template:
      src: app.conf.j2
      dest: /etc/app.conf
    notify: Restart app
handlers:
  - name: Restart app
    ansible.builtin.service:
      name: app
      state: restarted

Handler on tehtävä

Handler käyttää täsmälleen samaa syntaksia kuin tehtävä: nimi ja moduulikutsu. Ainoa ero on, että se odottaa ilmoitusta.

Nimi on sopimus

Handlerin nimi on merkkijono, johon muut tehtävät viittaavat notify-arvossaan. Käsitelkää sitä vakaana ja täsmällisenä tunnisteena, jota käytätte uudelleen.

Uudelleenkäynnistys servicellä

Klassinen uudelleenkäynnistyshandler käyttää service-moduulia, jonka tilaksi asetetaan restarted. Se pysäyttää ja käynnistää yksikön yhdellä vaiheella.

- name: Restart nginx
  ansible.builtin.service:
    name: nginx
    state: restarted

Uudelleenlataus vastaan uudelleenkäynnistys

Suosikaa tilaa reloaded, kun palvelu tukee sitä. Uudelleenlataus lukee asetukset uudelleen katkaisematta yhteyksiä, toisin kuin täydellinen uudelleenkäynnistys.

- name: Reload nginx
  ansible.builtin.service:
    name: nginx
    state: reloaded

Käyttäkää systemdiä suoraan

systemd-moduuli tarjoaa systemd-isännissä tarkemman hallinnan, mukaan lukien daemon_reload-toiminnon yksikkötiedoston muuttamisen jälkeen.

- name: Restart app
  ansible.builtin.systemd:
    name: app
    state: restarted
    daemon_reload: true

Pitäkää handlerit yleiskäyttöisinä

Kirjoittakaa yksi uudelleenkäytettävä Käynnistä nginx uudelleen -handler ja ilmoittakaa sille useista tehtävistä. Välttäkää saman uudelleenkäynnistyslogiikan kopioimista kaikkialle.

Handlerit suoritetaan määritysjärjestyksessä

Kun useita handlereita on jonossa, ne suoritetaan siinä järjestyksessä, jossa ne on määritetty, ei siinä järjestyksessä, jossa niille ilmoitettiin. Suunnitelkaa järjestys etukäteen.

Järjestyksellä on merkitystä riippuvuuksien kannalta

Jos uudelleenlatauksen on tapahduttava ennen uudelleenkäynnistystä, määritelkää ne tässä järjestyksessä handlers-listassa, jotta jono suoritetaan oikein.

Handlerit rooleissa

Roolissa handlerit sijaitsevat tiedostossa handlers/main.yml. Roolin tehtävät ilmoittavat niille nimen perusteella aivan kuten tavallisessa playbookissa.

Selkeyttä nimillä

Käyttäkää toimintoa kuvaavia nimiä, kuten Käynnistä nginx uudelleen tai Lataa sshd uudelleen. Selkeät nimet tekevät tulosteesta helposti luettavan ja notify-riveistä ilmeisiä.

Pikatarkistus

Muokkasitte asetuksia ja haluatte käynnissä olevan palvelun ottavan ne käyttöön katkaisematta yhteyksiä. Mikä tila on paras?

Kertaus

Osaatte nyt määrittää handlerit handlers-osiossa, valita uudelleenkäynnistyksen ja uudelleenlatauksen välillä sekä hyödyntää määritysjärjestyksen mukaista suorittamista. 🎯

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 ”Käsittelijöiden määrittäminen ja uudelleenkäynnistysmallit” ilmainen?

Kyllä – oppitunnin ”Käsittelijöiden määrittäminen ja uudelleenkäynnistysmallit” 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 ”Käsittelijöiden määrittäminen ja uudelleenkäynnistysmallit”?

Kirjoittakaa uudelleenkäytettäviä palvelun uudelleenkäynnistyksen käsittelijöitä. 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 2/4.

Kuinka kauan ”Käsittelijöiden määrittäminen ja uudelleenkäynnistysmallit”-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. Käsittelijän ilmoittaminen muutoksen yhteydessä
  2. Käsittelijöiden määrittäminen ja uudelleenkäynnistysmallit
  3. Milloin käsittelijät suoritetaan ja flush_handlers
  4. Listen: yksi käynnistin, monta käsittelijää
← Takaisin: Ansible Academy