Koristeći jednu od najnovijih tehnika upravljanja, 'Ansible', predstavljamo kako navodimo svako nadzirano računalo na uređaju. U Ansibleu koristimo dodatak 'inventory' za popis svih hostova u mreži.
Ključno je imati popis svih vaših host strojeva u Ansibleu. Održavanje datoteke inventara organiziranom jednako je važno kao i održavanje priručnika ili zadataka jer ćete se stalno nalaziti u stanju neizvjesnosti i pitati se s nekoliko zabrinutosti upravlja li se vašom datotekom inventara loše. Uz prethodno navedeno, definicija potrebne varijable u datoteci inventara minimizira sadržaj zadatka u knjigama i ubrzava tumačenja. Postoji grupa varijabli koje se mogu deklarirati u vašim igrama i datotekama inventara Ansible koje su odgovorne za povezivanje i konfiguriranje ponašanja povezivanja s glavnim strojem.
Preduvjeti:
Sljedeći su zahtjevi prije implementacije naredbe popisa hostova u Ansibleu:
- Za početak implementacije prvo nam je potreban softver koji se koristi za Ansible konfiguraciju koji je instaliran na serverskom uređaju s najnovijom verzijom. Ansible mora biti konfiguriran tako da možemo jednostavno ispisati sve hostove u našoj mreži.
- Za obavljanje bilo kojeg konfiguracijskog zadatka u Ansibleu potreban nam je glavni konfiguracijski upravitelj. U ovom vodiču koristimo poslužitelj kontrolera kao glavni kontroler.
- Da bismo implementirali bilo kakve promjene, moramo ciljati host poslužitelje u vodiču za inventar popisa hostova. Ovdje imamo dva ciljana udaljena računala.
Primjer: Inventar popisa hostova u stroju
Evo primjera koji implementiramo u alat Ansible za provjeru ili definiranje inventara popisa hostova. Zbog toga ćemo ovaj primjer napraviti u različitim koracima kako bismo lakše razumjeli rad i implementaciju ovog vodiča. Sljedeći su koraci:
Korak 1: Provjerite inventar popisa zadanih hostova u ciljnom udaljenom host uređaju
Prvo provjeravamo koliko hostova ima u inventaru Ansible alata. Za to koristimo naredbu “ansible” s “—list-hosts” kako bismo mogli prikazati zadane obrađene čvorove u inventaru.
[ korijen @ master ansible ] # ansible all --list-hosts
Evo izlaza nakon pisanja prethodne naredbe:
Ansible terminal prikazuje '0 hostova' kao što možete vidjeti u ponuđenom odgovoru jer nismo prijavili inventar. Generiramo inventar za popis inventara hosta u terminalu prije nego što to riješimo.
Zadani inventar:
Kada instaliramo Ansible u softver, Ansible gradi datoteku inventara koja se nalazi pisanjem sljedeće izjave u terminalu:
[ korijen @ master ansible ] # sudo nano /etc/ansible/hosts
Ishod se generira kada napišemo prethodni iskaz. Zatim od vas traži da unesete lozinku:
U ovoj snimci, zadana datoteka Ansible hosts pruža informacije o negrupiranim hostovima i hostovima grupe web poslužitelja. Ovi hostovi uključuju URL-ove i različite IP adrese.
Korak 2: Definirajte prilagođeni inventar u Ansibleu
U Ansibleu također možemo definirati naš inventar pisanjem više izjava u Ansible terminalu. Definiranje inventara prilikom pokretanja izjava i priručnika mudra je odluka koja sprječava sukobe hostova i neuspjeh pri povezivanju s hostovima.
Da bismo sami započeli s definiranjem inventara, prvo napišemo sljedeću izjavu kako bismo mogli izgraditi inventar u Ansibleu i popisati hostove u njemu kako bismo uspostavili vezu između Ansible kontrolera i ciljanih udaljenih hostova.
[ korijen @ master ansible ] # nano hosts.yml
Nakon pisanja prethodne izjave, inventar se kreira i pokreće u novom Ansible terminalu s naslovom “hosts.yml”. Zatim u inventaru navodimo ciljane hostove jednog po jednog. Prvi host s kojim se povezujemo je Linux host. Pružamo IP adresu Linux glavnog računala, Ansible korisnika, Ansible lozinku, vrstu veze i Ansible port broj. Isto radimo i s drugim ciljnim domaćinom. Drugi host koji koristimo je Ansible host. Svi hostovi koje smo naveli nalaze se pod parametrom Ansible u inventaru.
Ansible:domaćini:
Linux_Host:
ansible_host: 192.168.3.229
ansible_user: korijen
ansible_password: tpstps_22
ansible_connection: ssh
ansible_port: 22
Ansible_Host:
ansible_host: 192.168.7.10
ansible_user: iris
ansible_password: TpsTps_1
ansible_connection: ssh
ansible_port: 22
Nakon izrade datoteke inventara i pružanja hostova u njoj, sada prekidamo datoteku inventara i vraćamo se na glavni Ansible terminal.
Korak 3: Napravite Playbook u Ansibleu
Zatim kreiramo playbook u Ansible alatu tako da definiramo zadatke. Za to napišemo sljedeću naredbu u glavni terminal Ansible:
[ korijen @ master ansible ] # nano ansible_advanced_inventory.yml
Sada je playbook pokrenut na novom terminalu. Prvo pišemo naslov knjige. U sljedećem retku navodimo ciljni host. Koristimo opciju prikupljanja činjenica koja se koristi za dobivanje cjelokupnih informacija o domaćinima. Ali ovdje prolazimo 'ne' što znači da ne želimo dobiti sve podatke hostova.
Zatim navodimo zadatke u knjižici. Prvi zadatak koristi se za prikaz ciljanog hosta s imenom hosta. U sljedećem zadatku ispisujemo rezultate hosta.
- naziv: Ansible napredni host inventardomaćini: Ansible [ 0 ]
skup_činjenica: ne
zadaci:
- naziv: Get ime hosta upravljanog čvora
ljuska: 'ime glavnog računala'
registar: rezultat
- naziv: Print ime hosta
debug:
poruka: '{{result.stdout}}'
Sada želimo izvršiti priručnik zajedno s datotekom inventara. Dakle, prvo završavamo priručnik. Slijedi izjava koju koristimo za pokretanje naredbe:
[ korijen @ master ansible ] # ansible-playbook ansible_advanced_inventory.yml –i host.yml
Slijedi izlazni prikaz koji pokazuje da je veza uspješna. Budući da smo prošli Ansible[0] u priručniku, prvi host je prikazan u izlazu:
Zaključak
Imali smo detaljnu raspravu na Ansible inventaru tijekom ovog vodiča. Naučili smo kako izgraditi inventar u Ansibleu i zatim ih povezati s ciljnim udaljenim hostovima. Također smo implementirali primjer kako bismo lakše razumjeli koncepte Ansible inventara.