Sužinokite apie galimą užduočių automatizavimo knygą

Sužinokite apie galimą žaidimų knygą, kad būtų galima automatizuoti užduotis.


Anksčiau aptarėme galimą įvadą, diegimo vadovą, o po to pakalbėkime apie „Playbook“ ir jo sudedamąsias dalis.

Kas yra įmanoma grojaraštis?

Sąsiuvinis yra įmanoma automatikos kalba. Tai paprastas failas su instrukcijų rinkiniu. Būtent sąsiuviniuose mes apibrėžiame, ką mes galime padaryti. Grojaraščiuose yra žaidimų, kuriuose vykdomos užduotys, ir šių užduočių vykdymo moduliai. Jų užduotys vykdomos nuosekliai.

Pvz., Tai gali būti taip paprasta, kaip paleisti komandų seką skirtinguose serveriuose iš eilės ir paleisti iš eilės tuos serverius. Arba tai gali būti taip sudėtinga, kaip diegti ir aprūpinti šimtus VM viešajame ir privačiame debesyje, įskaitant jų apkrovos balansavimą, stebėjimą, tinklo sąrankas.

Grojaraščio kalba

Grojaraščiai yra paprasti failai, parašyti „YAML“ kodu.

YAML yra duomenų serinimo kalba. Tai žmonėms suprantama ir mašinų skaitoma. YAML kodams rašyti nereikia jokių specialių kodavimo įgūdžių. Galite pagalvoti apie duomenų nuoseklumo kalbą kaip vertėją, norėdami suskaidyti visą savo duomenų struktūrą ir surinkti juos iš eilės tvarka tokia tvarka, kuri vėl gali būti rekonstruota vėlesniam naudojimui. Šią rekonstruotą duomenų struktūrą galite naudoti toje pačioje aplinkoje ar net kitoje aplinkoje.

Žemiau yra „YAML“ failo pavyzdys, skirtas įdiegti „MySQL“:


– vardas: Įdiekite „MySQL“
šeimininkai: „geekflare-mysql-service“
užduotys:
– vardas: Įdiekite „MySQL“
veiksmas: $ ansible_pkg_mgr pkg = mysql-serverio būsena = įdiegta
– vardas: Pridėti „Python MySQL DB“
veiksmas: $ ansible_pkg_mgr pkg = python-mysqldb state = install

Galimi grojaraščio pagrindai

Šioje straipsnio dalyje pateikiamos pagrindinės „Galimos“ sąvokos, kad būtų galima daugiau sužinoti apie „Ansible Playbook“.

Šeimininkai ir vartotojai

Galimi poreikiai yra skirti mašinoms, esančioms infrastruktūroje, kurioje turi būti dislokuojami žaidimai, iš „Galimos žaidimų knygos“. Pagrindiniai kompiuteriai pridedami prie galimos inventorizacijos per jų IP adresus. Pagrindiniai kompiuteriai yra vienos ar daugiau grupių arba priimančiosios struktūros sąrašas, atskirtas dvitaškiu. „Remote_user“ nurodo vartotojo abonemento pavadinimą.


– prieglobos: „ProdServers“
remote_user: geekflare

Kintamieji

Kintamieji suteikia galimybę pakeisti, kaip veikia sąsiuvinis. Jie gali būti naudojami beveik visur, vadovėlyje, ir gali būti paveldimi iš inventoriaus, aiškiai nustatyto vykdymo metu, aptinkama programos sudarymo pradžioje. Kintamojo vardą galite apibrėžti raidėmis, skaičiais ir pabraukimais, tačiau jis turi prasidėti tik raide.

Pavyzdžiui, port_01 yra tinkamas kintamasis, o 01_post yra neteisingas kintamasis. Čia pateikiami kintamųjų pavyzdžiai, kuriuos galima pateikti galimoje žaidimų knygoje:

Varšos:
http_portas: 80
max_klientai: 200

Atsargos

Norėdami paleisti planų knygą, jums reikia tikslų, kuriuos norite valdyti automatizavimo, sąrašą. Tai daro inventorius. Inventorizacijos sąrašus galima kurti ir saugoti keliais skirtingais būdais, įskaitant statinius failus, t.y., galimus prieglobos failus. Arba tai gali būti dinamiškai sugeneruotas naudojant inventoriaus scenarijų, kuris sudarys išorinio šaltinio pagrindinių kompiuterių sąrašą.

Taip pat galite nurodyti kintamąjį kaip atsargų sąrašo dalį. Atsargos yra sąrašas dalykų, kuriuos norite automatizuoti.

[internetiniai serveriai]
192.168.20.1
192.168.20.2
192.168.20.4
[dbserveriai]
172.17.1.56
172.17.1.57

Užduotys

Žaidžia pagal įmanomas lenktynių vykdymo užduotis. Užduotis yra atsakinga už įmanomų modulių vykdymą. Vienu metu gali būti vykdoma tik viena užduotis, o užduotys vykdomos seka. Jų užduotys yra parašytos YAML, kuri yra panaši į anglų kalbą.

Pavyzdžiai: įdiekite paketo_pavadinimas, atnaujinkite programinės įrangos_pavadinimas ir tt Žemiau pateikiamas užduoties pavyzdys, esantis „Galimas žaidimų knygoje“, norint įdiegti „httpd“:

užduotys:
– pavadinimas: Įdiekite „httpd“ paketą
yum: vardas = httpd būsena = vėliausia

Prižiūrėtojai

Prižiūrėtojai yra ypatinga užduotis.

Juos gali sukelti užduotis ir jie paleidžiami vieną kartą pasibaigus žaidimui. Jis naudojamas pranešimams, jei pasikeitė konfigūracijos failas, siųsti, pavyzdžiui, pranešti tarnybai, kad būtų paleista „apache“, kai tik ji bus įdiegta. „Pranešti“ sintaksė naudojama skambinant tvarkytojams. Žemiau pateiktas tvarkyklės, iš naujo paleidžiančios „afache“, pavyzdys:


– šeimininkai: visi
užduotys:
– vardas: įsitikinkite, kad naujausia versija yra apašta
yum: vardas = httpd būsena = vėliausia
pranešti:
– paleisti afišą iš naujo
– vardas: įsitikinkite, kad veikia afaša (ir įgalinkite ją paleisdami)
paslauga: vardas = httpd būsena = pradėta įjungti = taip
prižiūrėtojai:
– vardas: paleisti afišą iš naujo
paslauga: vardas = httpd būsena = paleista iš naujo

Sukurkite ir paleiskite savo pirmą galimą grojaraštį

Leisk man papasakoti, kaip parašyti sąsiuvinį. Kiekvienas bukletas prasideda trimis brūkšneliais (-) viršuje.

Pirmas dalykas, kurį paminėjote „Ansible Playbook“ yra pagrindinės mašinos, kuriomis norite paleisti grojaraštį.

Tada galite paminėti kintamuosius, rinkdami faktus; tada galite paminėti skirtingas užduotis, kurias norite atlikti. Dabar atminkite, kad užduotis vykdoma ta pačia tvarka, kaip jūs jas rašėte. Pvz., Pirmiausia norite įdiegti programinę įrangą A, o tada programinę įrangą B, įsitikinkite, kad pirmoji užduotis, parašyta sąsiuvinyje, bus įdiegti programinę įrangą A, o kita užduotis galėtų įdiegti programinę įrangą B.

Tada jūs turite prižiūrėtojų apačioje. Prižiūrėtojai taip pat yra užduotys, tačiau skirtumas yra tas, kad vykdydami prižiūrėtojus, jums reikia tam tikrų suaktyvintojų užduočių sąraše, kad paleistų prižiūrėtojus..

Leiskite parodyti jums, kaip sukurti įmanomą žaidimų knygą, kad galėtumėte įdiegti ir paleisti „nginx“ pagrindiniame kompiuteryje ir paleisti.

Sukurkite .yml failą, kuriame įdėsite savo YAML kodus, kad galėtumėte sukurti galimą žaidimų knygą.

„gedit nginx.yml“

Įdėkite žemiau esantį YAML kodą į šį failą ir išsaugokite failą.


– šeimininkai: klientas
sudo: taip
Varšos:
– serverio portas: 8080

užduotys:
– name: Įdiegia „nginx“ žiniatinklio serverį
apt: pkg = nginx būsena = įdiegta atnaujinimo talpykla = tiesa
pranešti:
– pradėti nginx

prižiūrėtojai:
– vardas: pradžia nginx
paslauga: vardas = nginx būsena = pradėta

Aukščiau pateiktas YAML failas prasideda kompiuteriais, noriu paleisti šią žaidimų knygą kliento kompiuteryje (Client). Kliento IP adresas jau yra išsaugotas faile / etc / ansible / hosts.

Kita eilutė leidžia vykdyti užduotis sudo teisėmis.

Tada šioje žaidimų knygoje apibrėžiau server_port kaip kintamąjį.

Tada ateina mano pirmoji užduotis šioje įmanomoje žaidimų knygoje įdiegti „Nginx“ žiniatinklio serverį. Ši užduotis taip pat turi pranešimo parametrą, o tai reiškia, kad po šios užduoties atlikėjas bus paleistas.

Galiausiai parašiau prižiūrėtoją, kad paleistų „nginx“ kliento kompiuteryje.

Dabar, kai jums yra aiškūs YAML kodai galimoje sąsiuvinyje, paleiskime sąsiuvinį. Žemiau yra sintaksė, kad būtų galima paleisti įmanomą žaidimų knygą:

„ansible-playbook file_name.yml“

Dabar paleisiu galimą sąsiuvinį, kurį sukuriu norėdamas įdiegti ir paleisti „nginx“.

[apsaugotas el. paštu]: / namai / geekflare # ansible-playbook nginx.yml

ŽAISTI [Klientas] *********************************************** ********************

UŽDUOTIS [Faktų rinkimas] ***************************************************** ************
gerai: [node1]

UŽDUOTIS [Įdiegti „nginx“ interneto serverį] *************************************************** ****

pakeista: [node1]

BĖGIMO RANKININKAS [pradžia nginx] *************************************************** ******
gerai: [node1]

PLAY RECAP ******************************************************** **********************
mazgas1: ok = 3 pakeistas = 1 nepasiekiamas = 0 nepavyko = 0 praleistas = 0 išgelbėtas = 0 ignoruotas = 0

Vykdykite žemiau pateiktą komandą, kad patikrintumėte, ar „nginx“ serveris buvo įdiegtas ir tinkamai paleistas pagal galimą grojaraštį.

[apsaugotas el. paštu]: / namai / geekflare # ps waux | grep nginx
šaknis 3021 0,0 0,0 77676 1516? Ss 15:27 0:00 nginx: pagrindinis procesas / usr / sbin / nginx -g demonas įjungtas; pagrindinis procesas;

Išvada

Tai buvo apie galimą žaidimų knygą. Tikiuosi, kad šis straipsnis padėjo jums sužinoti, kaip galite sukurti ir paleisti „Ansible“ sąsiuvinį. Patikrinkite tai Kursas, jei norite išmokti išplėstines temas „Ansible“, įskaitant vaidmenis, „Jinja2“, peržvalgas, filtrą, pasirinktinius modulius.

ŽENKLAI:

  • Galima

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map