Ansiblen avulla voidaan hallita ja hallinnoida useita palvelimia keskitetystä tietokoneesta. Se on palvelinten hallintatyökalu. Ansible ei tarvitse mitään konfigurointia palvelinpuolella kuten Chef tai Puppet. Asennat vain Ansiblen tietokoneellesi ja hallitset tai hallinnoit palvelimia SSH:n kautta. Se on hyvin yksinkertainen ja helppokäyttöinen. Tässä artikkelissa näytän, miten Ansible asennetaan ja käytetään CentOS 8 -käyttöjärjestelmässä. Aloitetaan siis.
Ansiblen asentaminen:
Ansible on saatavilla CentOS 8:n EPEL-arkistossa. Voit siis helposti asentaa Ansiblen CentOS 8:aan.
Päivitä ensin DNF-pakettivaraston välimuisti seuraavalla komennolla:
Nyt otat EPEL-varaston käyttöön asentamalla epel-release-paketin seuraavalla komennolla:
Vahvista asennus painamalla Y ja paina sitten <Enter>.
epel-release-paketin pitäisi olla asennettu ja EPEL-tietovaraston pitäisi olla käytössä.
Päivitä nyt DNF-pakettivaraston välimuisti uudelleen seuraavalla komennolla:
Asenna nyt Ansible seuraavalla komennolla:
Vahvista asennus painamalla Y ja paina sitten <Enter>.
DNF:n pitäisi aloittaa kaikkien tarvittavien pakettien lataaminen internetistä.
Sinua saatetaan pyytää hyväksymään EPEL-arkiston GPG-avain. Hyväksy se painamalla Y ja paina sitten <Enter>.
DNF:n pitäisi aloittaa kaikkien ladattujen pakettien asentaminen.
Tässä vaiheessa Ansiblen pitäisi olla asennettuna.
Jatka nyt seuraava komento:
Kuten näet, minulla on käytössä Ansible 2.9.3 ja se toimii hienosti.
Palvelimien konfigurointi Ansiblea varten:
Palvelimien hallitsemiseksi tai hallinnoimiseksi Ansibella, sinun on asennettava SSH-palvelin ja sen on oltava käynnissä palvelimilla. Palvelimien SSH-portin on oltava auki ja palvelimiin on päästävä käsiksi Ansible-isännästä. Tämä on ainoa vaatimus Ansiblen käytölle.
Tässä artikkelissa käytän neljää virtuaalikonetta (VM) (2 Ubuntu Server 18.04 LTS VM:ää ja 2 Debian 10 VM:ää) Ansible-palvelinten hallinnan ja ylläpidon perusteiden esittelyyn.
4 VM:ää ovat:
linuxhint-8ee7a – 192.168.20.166
linuxhint-s40 – 192.168.20.171
linuxhint-s41- 192.168.20.170
Palvelimien IP-osoitteita voit käyttää niiden hallintaan tai hallinnointiin Ansibella. Voit myös käyttää palvelimien DNS-nimiä.
Tässä artikkelissa käytän /etc/hosts-tiedostoa VM:ien IP-osoitteiden DNS-resoluutioon.
Jos haluat seurata mukana, avaa /etc/hosts-tiedosto vi-tekstieditorilla seuraavasti:
Lisää nyt alla olevassa kuvakaappauksessa merkityt rivit ja tallenna tiedosto.
Luo nyt SSH-avain CentOS 8 Ansible -isäntäsi seuraavasti:
Paina <Enter>.
Paina <Enter>.
Paina <Enter>.
SSH-avaimen pitäisi olla luotu.
Jatkossa sinun on ladattava SSH-avain kaikille palvelimille, joita haluat hallita Ansibella.
Kopioida SSH-avain vm1.linuxhint.local-palvelimelle, suorita seuraava komento:
Kirjoita nyt yes ja paina <Enter>.
Kirjoita nyt kirjautumissalasana vm1.linuxhint.local VM ja paina <Enter>.
SSH-avaimen pitäisi olla kopioitu.
Tee sama vm2.linuxhint.local, vm3.linuxhint.local ja vm4.linuxhint.local palvelimelle.
Kun olet kopioinut SSH-avaimen VM-tietokoneisiin, sinun pitäisi pystyä käyttämään SSH:ta ilman salasanaa, kuten näet alla olevasta kuvakaappauksesta.
Suorita nyt seuraava komento jokaisella palvelimella salliaksesi sudo-oikeudet ilman salasanaa kirjautuvalle käyttäjälle. Tämä vaaditaan, jotta Ansible voi suorittaa kaikki root-komennot.
Kaikki palvelimet ovat nyt valmiita konfiguroitaviksi tai hallittaviksi Ansibella.
Ansiblen käyttäminen:
Ansible pitää luetteloa kaikista hallinnoimistaan isännöintilaitteista inventaariotiedostossa. Ansiblen inventaariotiedosto on vain yksinkertainen tavallinen tekstitiedosto.
Luotaan ensin uusi Ansible-projektin hakemisto ~/ansible/, jonka jälkeen luodaan inventaariotiedostomme.
Siirry nyt hakemistoon ~/ansible.
Luo nyt Ansible inventaariotiedosto seuraavasti. Voit kutsua tätä tiedostoa miksi tahansa. Minä kutsun sitä nimellä hosts.
Nyt voit lisätä palvelimesi seuraavasti. Tässä käytetään ansible_user-vaihtoehtoa määrittämään käyttäjä, jota Ansible käyttää komentojen suorittamiseen näillä palvelimilla. Se on yleensä palvelimen kirjautumiskäyttäjä.
Voit myös sekoittaa palvelimien IP-osoitteet ja DNS-nimet inventaariotiedostoon.
Voit myös ryhmitellä palvelimia. Tässä minulla on 2 ryhmää, webserver ja dbserver.
Webserver-ryhmään olen lisännyt vm1- ja vm2-palvelimet. dbserver-ryhmään olen lisännyt vm3- ja vm4-palvelimet.
Kun inventaariotiedosto on luotu, voit käyttää inventaariotiedostoa Ansiblen -i-vaihtoehdolla.
Voit listata kaikki isännät inventaariotiedostosta seuraavasti:
Voit tarkistaa, ovatko kaikki isännät aktiivisia seuraavasti:
Kuten näet, kaikki hostit ovat aktiivisia.
Voit myös pingata kaikki yhden ryhmän hostit.
Voit ajaa Shell-komentoja Ansiblen avulla seuraavasti:
Voit myös ajaa shell-komentoja (sudo-oikeuksilla) seuraavasti.
|groupName>
Voit esimerkiksi päivittää APT-pakettivaraston välimuistin webserver-ryhmään kuuluvilla isännillä Ansiblea käyttäen seuraavasti:
Kuten näet, APT-pakettivaraston välimuisti päivittyy kaikille webserver-ryhmän hosteille.
Yritetään asentaa Apache 2 -verkkopalvelin kaikille webserver-ryhmän isännille.
’apt install -y apache2’ webserver
Apache-verkkopalvelimen pitäisi olla asennettuna kaikkiin webserver-ryhmän hosteihin.
Kuten näet, Apache-verkkopalvelin toimii kaikilla webserver-ryhmän isännillä.
http://localhost’ webserver
Samalla tavalla voit suorittaa minkä tahansa komennon kaikilla dbserver-ryhmän hosteilla.
Voit myös käyttää Ansible Playbookia palvelinten hallintaan helpommin. Ansible Playbook ei kuulu tämän artikkelin aihepiiriin. Lue Ansiblen dokumentaatiosta lisätietoja Ansible Playbookista.
Kiitos, että luit tämän artikkelin.