ansible tutorial installation
Praktický tutoriál Ansible s inštaláciou, použitím a konfiguráciou programu Ansible s modulmi Ansible:
Diskutovali sme o AWS Elastic Beanstalk v našom predchádzajúcom návode.
ZOZNAM tutoriálov v tejto sérii Ansible:
Výukový program č. 1: Možná inštalácia a moduly
Výukový program č. 2: Možné príručky a úložiská
Výukový program č. 3: Možné úlohy a integrácia s Jenkinsom
Ansible je nástroj s otvoreným zdrojom, ktorý pomáha pri automatizácii úloh, nasadení aplikácií, poskytovaní cloudu a správe konfigurácií.
Prečítajte si tiež => Zoznam výučbových kurzov DevOps
Hovoríme teda o orchestrácii IT, kde sa úlohy spúšťajú postupne na niekoľkých rôznych strojoch alebo serveroch.
Ansible to robí pripojením na viac strojov cez SSH a spúšťa úlohy, ktoré boli nakonfigurované v knihách o hre, a používa jednoduchý jazyk s názvom YAML (ešte ďalší značkovací jazyk) .
Čo sa dozviete:
Prehľad možností
Najdôležitejšie je, že Ansible nepoužíva agenta na automatizáciu úloh na rôznych počítačoch.
Ansible zaisťuje udržiavanie presných verzií a aktuálnych informácií k softvérovým balíkom.
Napríklad , ak chcete nainštalovať JDK 8 alebo Tomcat alebo akýkoľvek iný softvérový balík na 10 alebo 20 rôznych počítačov, nie je v skutočnosti možné prejsť na všetky počítače a nainštalovať ich, radšej použite Ansible na automatizáciu inštalácie alebo dokonca nasadenia softvéru pomocou príručiek a inventára napísané veľmi jednoduchým jazykom.
Takže možné je:
- Zadarmo a otvorený zdroj
- Udržiavaný Redhatom
- V podstate ide o konfiguráciu servera
- Správa konfigurácie
V tejto 3 časti série Ansible Tutorial sa budeme zaoberať praktickým prístupom k nasledujúcim témam:
- Proces inštalácie a konfigurácie
- Inventarizácia
- Možné moduly
- Príkazy ad-hoc,
- Automatizácia úloh pomocou kníh na čítanie
- Možné roly
- Možný trezor
- Ansible a AWS
Možný proces inštalácie
Ansible je možné nainštalovať a spustiť z ľubovoľného počítača.
Spravidla budete potrebovať a Ovládací stroj pre inštaláciu, ktorým by mal byť Linux. Stroj Windows nepodporuje funkciu riadiaceho stroja. Riadiaci stroj bude riadiť ostatné vzdialené stroje. Ako už bolo spomenuté, program Ansible používa SSH na správu vzdialených počítačov.
V celom tomto výučbe budem na ukážku príkladov používať inštancie AWS EC2. Použil som 2 inštancie (jeden riadiaci stroj a druhý ako cieľ na automatizáciu úloh) a Redhat Linux 7.5.
Či už v lokálnych alebo cloudových inštanciách budete musieť porty vhodne otvoriť na základe automatizovaných úloh. Nasledujúce porty mám otvorené ako súčasť skupiny zabezpečenia pre inštancie EC2, aby som demonštroval príklady uvedené v tomto návode.
Na vyššie uvedenej obrazovke som spomenul otvorenie portu 8080, keď ukážem automatizáciu automatizácie nasadenia softvéru pomocou Tomcat, ktorá bude z hľadiska DevOps užitočná, najmä počas procesu nepretržitého doručovania.
Inštalácia Ansible pomocou YUM
Ako už bolo spomenuté, budem používať jeden riadiaci stroj a cieľový stroj. Ak chcete začať s inštaláciou, na oboch zariadeniach vykonajte kroky uvedené nižšie.
do) Vytvorte spoločné ID na oboch strojoch pre Príklad , zodpovedné s oprávneniami SUDO. Toto ID sa použije na komunikáciu medzi všetkými zapojenými strojmi na automatizáciu úloh.
# useradd ansible # passwd ansible
b) Upravte / etc / ssh / sshd_config spis na riadiaci stroj a odkomentujte riadky pre PasswordAuthentication a PermitRootLogin
Vyššie uvedené kroky vykonajte na oboch strojoch. Po dokončení reštartujte sshd servis na oboch strojoch.
# systemctl restart sshd
c) Na úplnú automatizáciu úloh budeme potrebovať autentifikáciu SSH bez hesla, inak sa celý proces nepoužije, ak budete musieť heslo zadávať zakaždým.
Ak teda spustíme príkaz ssh a ssh, odošleme zmeny vykonané vyššie, budeme musieť zadávať heslo zakaždým, čo nie je správny postup na vykonávanie úloh Ansible.
d) Ak chcete povoliť autentifikáciu bez hesla, postupujte podľa krokov uvedených nižšie. Najskôr pridajte používateľa zodpovedné do / etc / sudoers súbor na oboch strojoch, ktorý umožní používateľovi prístup zodpovedné spustiť akýkoľvek príkaz, ktorý vyžaduje oprávnenie root.
Po pridaní používateľa súbor uložte a ukončite.
je) Do budúcnosti budeme používať používateľa zodpovedné vykonať všetky kroky. Prepnite teda na používateľa zodpovedné.
Riadiaci stroj možné a Cieľový stroj prípustný
Riadiaci stroj ssh-keygen
Cieľový stroj ssh-keygen
otvorte súbory .jar Windows 10
Skopírujte ssh kľúč na cieľový stroj a naopak.
Riadiaci stroj ssh-copy-id
Cieľový stroj ssh-copy-id
Teraz sa môžeme prihlásiť bez zadania hesla. Po odhlásení z ssh konektivity na oboch strojoch buďte prihlásený ako zodpovedný používateľ.
Ovládací stroj: ssh ansible @
Cieľový stroj: ssh ansible @
f) Nainštalujte si wget, ak nie je nainštalovaný na oboch počítačoch.
$ sudo yum install wget -y
g) Teraz môžeme nainštalovať zodpovedné iba na riadiacom stroji povolením EPEL repo z Fedory, ktorá poskytuje doplnkové softvérové balíčky. Pri inštalácii vykonajte nasledujúce kroky NEMOŽNÉ.
$ wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ sudo rpm -ivh epel-release-latest-7.noarch.rpm $ sudo yum install ansible -y $ ansible --version
Použitá zodpovedajúca verzia je 2.5.3
h) Upravte ansible.cfg súbor a povoľte parameter zásobového súboru na riadiacom prístroji.
$ sudo vi /etc/ansible/ansible.cfg
i) Ansible používa koncept inventára na správu a sledovanie cieľových strojov. Predvolene sa tento súbor nachádza v priečinku / etc / ansible / hosts a je možné ich tiež zmeniť. Hostiteľský súbor sa skladá zo skupín pre lepšiu klasifikáciu a viacerých počítačov v rámci skupiny. Do týchto skupín je možné pridať všetky požadované stroje.
Každá skupina je označená hranatou zátvorkou a názvom skupiny v rámci. Server môže skutočne existovať vo viacerých skupinách.
Upravte súbor inventára / etc / ansible / hosts a pridajte všetky servery, ktoré je potrebné spravovať.
j) Ak chcete otestovať pripojenie serverov v skupine webového servera, spustite zodpovedný ping príkaz, ako je to znázornené. Tu ping je modul, ktorý vykonáva konkrétnu funkciu na otestovanie, či môžu byť hostitelia pripojení tak, ako je definované v inventárnom súbore, alebo nie. Viac o rôznych moduloch a ich príkladoch uvidíme v nasledujúcej časti.
$ ansible webservers –m ping
Ak chcete zobraziť zoznam hostiteľov v súbore inventára, môžete spustiť nasledujúci príkaz
$ ansible webservers --list-hosts
Možné použitie
Ansible sa skladá z 3 hlavných komponentov
- Riadiaci stroj
- Inventarizácia
- Playbook
Riadiaci stroj riadi vykonávanie príručky. Môže byť nainštalovaný na vašom notebooku alebo na akomkoľvek stroji na internete.
Súbor Inventory poskytuje kompletný zoznam všetkých cieľových počítačov, na ktorých sú spustené rôzne moduly vykonaním ssh pripojenia a nainštalovaním potrebného softvéru.
Príručka sa skladá z krokov, ktoré bude riadiaci mechanizmus vykonávať na serveroch definovaných v súbore inventára.
Tu je veľmi dôležité pochopiť, že Ansible interaguje so všetkými servermi definovanými v inventári prostredníctvom protokolu SSH, čo je bezpečná metóda vzdialeného prihlásenia. Každá operácia sa vykoná a prenos súborov je šifrovaný.
Takže ako ste videli v predchádzajúcej časti, program Ansible nepoužíva na inštaláciu žiadny druh databázy a inštalácia je veľmi jednoduchá, teraz pokračujeme v skutočnom použití programu Ansible, počnúc modulmi, ktoré sú hlavným stavebným prvkom.
Možné moduly
Moduly sú hlavnými stavebnými kameňmi programu Ansible a sú to v podstate opakovane použiteľné skripty, ktoré sa používajú v hracích knihách Ansible. Ansible prichádza s množstvom opakovane použiteľných modulov. Patria sem funkcie pre kontrolu služieb, inštaláciu softvérového balíka, prácu so súbormi a adresármi atď.
Pri spúšťaní ad-hoc príkazov, ktoré pomáhajú pri vykonávaní jednotlivých alebo jednoduchých úloh iba raz, a ktoré už nie je potrebné spustiť, je syntax nasledovná. Pre Napr. inštalácia Tomcat na všetky servery.
ansible hostORgroup -m module_name -a 'arguments' -u username --become
Pozrime sa na niektoré z najpopulárnejších modulov Ansible a ich použitie prostredníctvom príkazov ad hoc a neskôr v príručke.
# 1) Inštalačný modul
Ak chcete získať informácie o sieti alebo hardvéri alebo verzii operačného systému alebo informáciách týkajúcich sa pamäte, inštalačný modul vám pomôže zhromaždiť to isté o cieľových počítačoch. Na ovládacom prvku stroj spustí nasledujúci príkaz.
$ ansible webservers –m setup
# 2) Príkazový modul
Príkazový modul jednoducho vykoná konkrétny príkaz na cieľovom počítači a poskytne výstup.
Niektoré z príkladov sú uvedené nižšie
$ ansible webservers –m command - an ‘uptime’ $ ansible webservers –m command –a ‘hostname’
# 3) Shell modul
Na vykonanie ľubovoľného príkazu v shelli podľa vášho výberu môžete použiť modul Shell. Príkazy modulu shellu sa spúšťajú v priečinku / bin / sh a môžete použiť operátory ako „>“ alebo „|“ (symbol potrubia alebo dokonca premenné prostredia.
Rozdiel medzi modulom Shell a príkazom je teda primárne v tom, že ak skutočne nepotrebujete používať operátory, ako sú tí uvedení, môžete použiť príkazový modul.
$ ansible webservers -m shell -a 'ls -l > temp.txt'
Na strojoch pod skupinou webových serverov vyhľadajte vytvorený súbor a spustením príkazu zobrazte textový súbor.
$ ansible webservers –m command -a ‘cat temp.txt’
# 4) Užívateľský modul
Pomocou tohto modulu je možné vytvárať alebo mazať používateľov.
Ak chcete pridať používateľa
$ ansible webservers -m user -a 'name=user1 password=user1' --become
Odstrániť používateľa
$ ansible webservers -m user -a 'name=user1 state=absent' --become
Možnosti:
- stať sa - Oprávnenie superusera na spustenie príkazu
- stav = neprítomný na vymazanie používateľa
# 5) Súborový modul
Tento modul sa používa na vytváranie súborov, adresárov, nastavovanie alebo zmenu povolení a vlastníctva súborov atď
Príklad 1: Vytvorte súbor
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=touch mode=600 owner=ansible group=ansible'
Príklad 2: Vytvorte adresár
Ak chcete vytvoriť adresár pomocou modulu súborov, musíte nastaviť dva parametre.
- Cesta (alias - meno, cieľ) - Toto je absolútna cesta k adresáru, ktorý sa má vytvoriť.
- Stav - hodnotu by ste mali zadať ako adresár. V predvolenom nastavení je to hodnota „súbor“.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=directory mode=755'
Príklad 3: Odstrániť súbor
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=absent'
Príklad 4: Odstráňte adresár
Adresár môžete vymazať nastavením hodnoty parametra stavu na neprítomný . Adresár a všetok jeho obsah sa vymaže.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=absent'
# 6) Kopírovať modul
Používa sa na kopírovanie súborov do viacerých cieľových počítačov.
$ ansible webservers -m copy -a 'src=sample.txt dest=/home/ansible/sample.txt'
# 7) Správa softvérových balíkov
Ak potrebujete inštalovať softvérové balíčky pomocou príkazov „yum“ alebo „apt“, môžete použiť nasledujúce príkazy.
Príklad 1: Nainštalujte GIT
$ ansible webservers –m yum -a “name=git state=present” --become
V pravom okne môžete vidieť, či nie je nainštalovaný git, ktorý dá príkaz nenájdený a po nainštalovaní zobrazí výstup.
V tomto príkaze stav = prítomný skontroluje, či je balík nainštalovaný alebo nie, a ak nie je nainštalovaný, nainštaluje sa najnovšia verzia.
Príklad 2: Skontrolujte, či je balík nainštalovaný, a aktualizujte ho na najnovšiu verziu.
$ ansible webservers -m yum -a “name=git state=latest”
Vo vyššie uvedenom príkaze stav = najnovší aktualizuje balík iba na najnovšiu verziu.
Príklad 3: Nainštalujte si webový server Apache
$ ansible webservers -m yum -a 'name=httpd state=present' –become
Príklad 4: Skontrolujte, či je Maven nainštalovaný alebo nie.
$ ansible webservers -m yum -a 'name=maven state=absent' –become
# 8) Správa modulu služieb
Na správu služieb s povolením ansible používame modul „Služba“.
Spustenie služby
$ ansible webservers -m service -a “name=httpd state=started” --become
Zastavenie služby
$ ansible webservers -m service -a “name=httpd state=stopped” --become
Reštartovanie služby
$ ansible webservers -m service -a “name=httpd state=restarted --become
Kliknite tu získate zoznam Kompletný modul.
Zhrnutie
V tomto výučbe som vám predstavil základné pojmy a komponenty programu Ansible a tiež sme videli viac o inštalácii, konfigurácii a používaní programu Ansible pomocou modulov Ansible, ktoré sú hlavnou súčasťou vykonávania programu Ansible.
V našom nadchádzajúcom tutoriáli sa zameriame na veľmi dôležitý aspekt písania príručiek pre automatizáciu úloh a trezorov Ansible, aby sa v šifrovaných súboroch uchovávali citlivé údaje.
Výukový program PREV | NEXT Tutorial
Odporúčané čítanie
- Hĺbkové návody pre zatmenie pre začiatočníkov
- Možné úlohy, integrácia s Jenkinsom v moduloch DevOps a EC2
- Automatizácia úloh pomocou Ansible Playbooks a Ansible Vaults s príkladmi
- Podrobná inštalácia a nastavenie aplikácie Appium Studio
- Úvod do programovacieho jazyka Java - videonávod
- Celé nastavenie a inštalácia WebDriver s výučbou Eclipse - Selenium č. 9
- Stiahnutie a inštalácia Jira s nastavením licencie Jira
- Proces predstavenia a inštalácie Pythonu