Ansible Academy · Oppitunti

Web-, sovellus- ja tietokantakerrosten koordinointi

Järjestäkää monikerroksinen käyttöönotto.

Oppitunti 3/413 vaihetta

Web-, sovellus- ja tietokantakerrosten koordinointi on ilmainen Ansible Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/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.

Oikeissa sovelluksissa on tasoja

Tyypillinen pino jakautuu tasoihin: web-palvelimiin, sovelluspalvelimiin ja tietokantaan. Jokaisella tasolla on oma roolinsa ja oma käyttöönottamisjärjestyksensä. 🏗️

Järjestyksellä on merkitystä

Yleensä käynnistätte ensin tietokannan, sitten sovelluksen ja lopuksi web-tason. Tasojen määrittäminen väärässä järjestyksessä rikkoo käyttöönoton.

Yksi play kutakin tasoa kohti

Antakaa kullekin tasolle oma play yhdessä playbookissa. Playt suoritetaan ylhäältä alas, joten niiden järjestys määrittää käyttöönoton vaiheet.

- hosts: db
  roles: [postgres]

- hosts: app
  roles: [backend]

- hosts: web
  roles: [nginx]

Ryhmät vastaavat tasoja

Inventoryn ryhmät, kuten db, app ja web, vastaavat niitä isäntiä, joihin kukin play kohdistuu. Inventory muodostaa orkestroinnin perustan.

[db]
db01

[app]
app01
app02

[web]
web01
web02

Välittäkää tietoja tasojen välillä

Web-taso tarvitsee usein sovelluspalvelinten IP-osoitteet. Lukekaa ne hostvars-muuttujien ja ryhmien avulla, jotta voitte yhdistää yhden tason toiseen.

backends: "{{ groups['app'] | map('extract', hostvars, 'ansible_host') | list }}"

Odottakaa, että taso on valmis

Varmistakaa ennen sovelluksen käynnistämistä, että tietokannan portti on avoinna, käyttämällä wait_for-moduulia. Näin ette etene hitaamman palvelun edelle.

- ansible.builtin.wait_for:
    host: db01
    port: 5432
    timeout: 60

Suorittakaa migraatiot kerran

Tietokannan skeeman muutokset tulee suorittaa vain kerran. Yhdistäkää run_once delegointiin, jotta yksi sovellussolmu siirtää jaetun tietokannan uuteen skeemaan.

- ansible.builtin.command: ./migrate.sh
  run_once: true
  delegate_to: app01

Yltäkää tasojen yli delegate_to-avainsanalla

Sovelluksen play voi käsitellä web-tasoa delegoimalla tehtävän web-isännälle. Yksi playbook voi koordinoida kaikkia tasoja.

Merkitkää tasot kohdennettuja ajoja varten

Lisätkää playeihin tags-tunnisteita, kuten db, app ja web, jotta voitte ottaa yksittäisen tason uudelleen käyttöön --tags-valitsimella, kun vain yksi taso muuttui.

- hosts: web
  tags: web
  roles: [nginx]

Pysäyttäkää koko pino heti virheen sattuessa

Asettakaa any_errors_fatal, jotta db-tason virhe pysäyttää koko ajon ennen kuin app-taso otetaan käyttöön rikkinäisen tason päälle.

- hosts: db
  any_errors_fatal: true
  roles: [postgres]

Koko pino yhdessä tiedostossa

Usean playn playbookista tulee käyttöönoton ohje: kaikki tasot oikeassa järjestyksessä ja tasojen väliset yhteydet kuvattuna yhdessä paikassa.

Pikatarkistus

Tarkistetaan, miten tasot järjestetään.

Kertaus

Koordinoikaa tasoja yhdellä play-rakenteella kutakin kerrosta kohti oikeassa käyttöönottamisjärjestyksessä ja yhdistäkää ne ryhmien, hostvars-muuttujien, wait_for-asetuksen ja delegoinnin avulla. ✅

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 ”Web-, sovellus- ja tietokantakerrosten koordinointi” ilmainen?

Kyllä – oppitunnin ”Web-, sovellus- ja tietokantakerrosten koordinointi” 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 ”Web-, sovellus- ja tietokantakerrosten koordinointi”?

Järjestäkää monikerroksinen käyttöönotto. 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 3/4.

Kuinka kauan ”Web-, sovellus- ja tietokantakerrosten koordinointi”-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. Verkkolaitteiden automatisointi cli_commandilla
  2. delegate_to ja run_once orkestroinnissa
  3. Web-, sovellus- ja tietokantakerrosten koordinointi
  4. Kuormantasaajan tyhjennys ja uudelleenaktivointi
← Takaisin: Ansible Academy