Pats programų kūrimas yra labai sudėtingas ir sudėtingas darbas, jau nekalbant apie konfigūracijų valdymą, diegimą ir sistemos priežiūrą keliuose serveriuose. IT aplinkai vis sudėtingėjant, pramonės šakoms ir technologijoms plečiantis, įmonės nuolat patenka į apmokestinamąjį aprūpinimo, kūrimo, diegimo ir kt.

Viena svarbi priemonė, dėl kurios visa tai atrodė kaip pasivaikščiojimas parke, yra Ansible. Jis yra galingas, naudingas, atvirojo kodo ir universalus, kai dirbama su keliais serveriais ir tiekėjais. Pagrindinis jo tikslas yra automatizuoti pasikartojančius ir apmokestinamus procesus, tokius kaip pirmiau minėti. Kadangi ją labai paprasta valdyti ir ji siūlo lanksčią be agentų architektūrą, ji palaipsniui tampa kūrėjo vadovu arba daugelio užduočių vadovu. Dabar aptarsime žaidimų knygeles, užduotis, inventorius ir modulius Galimos plėtros paslaugos.

Ansible architektūra: apžvalga

„Ansible“ veikia naudojant „push“ pagrįstą modelį, ty siunčia komandas tiesiai į sistemas, kurias norite valdyti per SSH (arba „WinRM“, skirtą „Windows“). Kadangi Ansible nereikalauja agentų, išvengiama sudėtingos papildomos programinės įrangos įdiegimo valdomuose mazguose, todėl jis idealiai tinka mastelio keitimui daugelyje serverių.

Kritiniai Ansible architektūros komponentai

  • Valdymo mazgas: mašina arba sistema, kurioje įdiegta Ansible. Ansible atlieka arba vykdo komandas iš čia.
  • Valdomus mazgus sudaro serveriai arba įrenginiai, kurie bus konfigūruojami, valdomi arba automatizuojami.
  • Atsargos: failų rinkimo dokumentai, kuriuose galima apibrėžti ir iš anksto nustatyti tvarkomus užrašus.
  • Moduliai: iš anksto nustatyti darbo vienetai arba nustatytos užduotys, kurios patenka į Ansible ir reikalaujančios veiksmų.
  • Žaidimų knygos: YAML failai yra atsakingi už automatizavimo užduotis.
  • Užduotys: atskiri veiksmai, atlikti arba atlikti valdomuose mazguose.

Pagrindinių sąvokų supratimas: žaidimų knygelės, užduotys, inventorius ir moduliai

Playbooks: The Heart of Ansible Automation

Žodis knygoje dažnai yra gana aiškus, tačiau, kad skaitytojams būtų lengviau tai padaryti, tai yra automatizavimo darbo eigos procesas arba apibrėžimas. Paprastai tai yra žmogaus skaitomi failai arba dokumentai, parašyti YAML, kurie veikia kaip vadovas, nurodantis būtinus veiksmus, kurių reikia norint pasiekti norimą sistemos būseną. Jame yra keletas spektaklių, skirtų šeimininkams ir grupėms.

Pagrindinės žaidimų knygos struktūros pavyzdys:

– pavadinimas: įdiekite „Nginx“ žiniatinklio serveriuose

šeimininkai: žiniatinklis

tapti: taip

užduotys:

– pavadinimas: Įdiekite Nginx

tinka:

Vardas: nginx

būsena: dabartis

– pavadinimas: įsitikinkite, kad Nginx veikia

paslauga:

Vardas: nginx

būsena: pradėta

Šis pavyzdys akivaizdžiai parodo:

  • pavadinimas: pjesės aprašymas.
  • hosts: Nurodo tikslinę serverių grupę (šiuo atveju žiniatinklį).
  • tapti: Suteikia privilegijų eskalavimą (kaip sudo „Linux“).
  • Užduotys: analizuoja arba apibrėžia veiksmus, kurie turi būti vykdomi pagrindiniuose kompiuteriuose.

Uždaviniai: Individualių veiksmų apibrėžimas

Užduotis, kaip minėta, yra veiksmas arba veiksmų vienetas, kurį reikės atlikti valdomuose mazguose, nes jie žymi modulius, nuosekliai vykdomus Ansible. Užduotyse paaiškinamas modulis ir jo argumentai.

Užduoties pavyzdys:

– pavadinimas: Įdiekite „Apache“.

skanus:

pavadinimas: httpd

būsena: dabartis

Šioje užduotyje:

  • Yum modulis įdiegia httpd paketą (Apache) serveriuose, kuriuose veikia CentOS arba RHEL.
  • būsena: esama užtikrina pakuotės įrengimą.

Užduotys gali apimti programinės įrangos diegimą, failų kopijavimą, paslaugų paleidimą iš naujo ir daugybę kitų veiksmų.

Atsargos: valdomų prieglobų tvarkymas

Galimas atsargų valdymas leidžia grupuoti arba suskirstyti pagrindinius kompiuterius į skirtingas kategorijas, todėl kiekvienai atskirtai serverių grupei lengva pritaikyti skirtingas konfigūracijas. Atsargos gali būti dviejų tipų: statinės, kurios yra tekstiniame faile, ir dinaminės, kurios gaunamos iš išorinio šaltinio.

Pagrindinio inventoriaus pavyzdys:

(žiniatinklis)

192.168.1.10

192.168.1.11

(db)

192.168.1.12

Šiame inventoriaus faile:

  • (web) ir (db) yra priimančiosios grupės.
  • IP adresai (arba pagrindinio kompiuterio pavadinimai) yra kiekvienos grupės serveriai.

Ansible turi nurodyti šį inventorių žaidimų knygoje.

Pavyzdys, taikymas pagal grupę:

– pavadinimas: konfigūruoti žiniatinklio serverius

šeimininkai: žiniatinklis

užduotys:

– pavadinimas: Įdiekite „Nginx“.

tinka:

Vardas: nginx

būsena: dabartis

Manoma, kad šis vadovas skirtas tik žiniatinklio grupės serveriams, kad būtų atlikti veiksmai.

Moduliai: statybiniai blokai arba Ansible stuburas

Galimi moduliai yra įrankiai arba pagalbiniai agentai, kurie atliks reikiamus veiksmus arba užduotis tam tikrame valdomų mazgų rinkinyje. Jie atlieka tokius veiksmus kaip programinės įrangos diegimas ir failų kopijavimas. Ansible turi daugybę integruotų modulių, tačiau prireikus galite sukurti ir savo pritaikytus modulius.

Dažniausiai naudojami moduliai

  • apt arba yum: tvarkykite paketų diegimus („Debian“ / „Ubuntu“ ir „RHEL“ / „CentOS“).
  • paslauga: paleiskite, sustabdykite arba paleiskite iš naujo paslaugas.
  • Kopijuoti: nukopijuokite failus į nuotolinius serverius.
  • vartotojas: kurkite arba tvarkykite vartotojo paskyras.
  • failas: Tvarkyti leidimų klaidos Ansible ir failo atributai.

Modulio pavyzdys:

– pavadinimas: nukopijuokite HTML failą į žiniatinklio serverį

kopija:

src: /local/path/index.html

dest: /var/www/html/index.html

Ši specifinė užduotis naudoja kopijavimo modulį, kad perkeltų arba perkeltų failą iš valdymo mazgo į tikslinį serverį.

Viską sudėti: visas pavyzdys

Pavyzdys: žiniatinklio serverio (Apache) diegimas Ubuntu:

yaml

Nukopijuokite kodą

– pavadinimas: nustatykite „Apache“ žiniatinklio serverį

šeimininkai: žiniatinklis

tapti: taip

užduotys:

– pavadinimas: atnaujinti apt paketo indeksą

tinka:

update_cache: taip

– pavadinimas: Įdiekite „Apache“.

tinka:

vardas: apache2

būsena: dabartis

– pavadinimas: įsitikinkite, kad veikia „Apache“.

paslauga:

vardas: apache2

būsena: pradėta

– pavadinimas: kopijuoti svetainės failus

kopija:

src: /local/path/website/

dest: /var/www/html/

– pavadinimas: atidarykite 80 prievadą ugniasienėje

ufw:

taisyklė: leisti

prievadas: 80

proto: tcp

Paaiškinimas:

  • Žaidimų knygelė skirta žiniatinklio grupei.
  • Jis atlieka šias užduotis: atnaujina paketo indeksą, įdiegia „Apache“ ir palaiko paslaugos veikimą bei veikimą.
  • Kopijavimo užduotis diegia svetainės statinius failus į serverį.
  • Ugniasienė (ufw) atnaujinta HTTP srautui 80 prievade.

Galite paleisti šią knygelę naudodami žemiau esančią komandą:

ansible-playbook -i inventory.ini apache-setup.yml

Išplėstinės sąvokos: vaidmenys ir plano organizavimas

Kadangi jūsų žaidimų knygelės yra sudėtingesnės, turite jas suskirstyti į vaidmenis, kurie iš esmės yra daugkartinio naudojimo komponentai. Vaidmenys padeda supakuoti užduotis, kintamuosius ir tvarkykles, kad būtų lengviau pakartotinai naudoti.

Vaidmenų struktūros pavyzdys:

vaidmenys/

└── žiniatinklio serveris

├── užduotys

│ └── pagrindinis.yml

├── tvarkytojai

│ └── pagrindinis.yml

├── šablonai

│ └── index.html.j2

└── numatytosios nuostatos

└── pagrindinis.yml

Vaidmenys išlaiko viską modulinį ir surūšiuotą, net ir didelėje aplinkoje.

Išvada

Iki šiol surinkome ir supratome pagrindinius Ansible vienetus ir pagrindus bei jų vaidmenį automatizuojant pasikartojančias užduotis, tokias kaip diegimas, plėtra ir aprūpinimas. Ansible yra paprasčiausias būdas padėti atlikti svarbiausias užduotis, susijusias su programų kūrimu. Tai taip pat padeda mums suvokti svarbų automatizavimo vaidmenį infrastruktūros valdyme ir konfigūracijose. Jums tereikia giliai ir nuodugniai suprasti žaidimo knygas, užduotis, inventorių ir modulius.

Tik supratę tikrąjį ir tikrąjį šių pagrindinių komponentų ir savybių reikšmingumą ir vertę galite inicijuoti išankstinių IT užduočių automatizavimą. Tai ne tik sumažins klaidų, kurias sukelia rankinis įsikišimas, skaičių, bet ir išlaikys operacijų nuoseklumą ir vienodumą. Nesvarbu, ar valdote kelis serverius, ar šimtus įvairiose aplinkose, Ansible pateikia atsakymus dėl lengvo mastelio. Norėdami pasinaudoti šiuo ištekliu ir neįkainojamu įrankiu, susisiekite su mumis adresu (apsaugotas el. paštu) o visa kita palikite mums.





Source link

Draugai: - Marketingo paslaugos - Teisinės konsultacijos - Skaidrių skenavimas - Fotofilmų kūrimas - Karščiausios naujienos - Ultragarsinis tyrimas - Saulius Narbutas - Įvaizdžio kūrimas - Veidoskaita - Nuotekų valymo įrenginiai -  Padelio treniruotės - Pranešimai spaudai -