Az Ansible egy központi számítógépről több szerver kezelésére és adminisztrálására szolgál. Ez egy szerver menedzsment eszköz. Az Ansible nem igényel semmilyen konfigurációt a szerveroldalon, mint a Chef vagy a Puppet. Csak telepíti az Ansible-t a számítógépére, és SSH-n keresztül kezeli vagy adminisztrálja a szervereket. Nagyon egyszerű és könnyen használható. Ebben a cikkben megmutatom, hogyan kell telepíteni és használni az Ansible-t CentOS 8 rendszeren. Tehát kezdjük el.

Az Ansible telepítése:

Az Ansible elérhető a CentOS 8 EPEL tárolójában. Így könnyedén telepíthetjük az Ansible-t a CentOS 8-ra.

Először frissítse a DNF csomagtároló gyorsítótárát a következő paranccsal:

$ sudo dnf makecache

Most, az EPEL-tároló engedélyezéséhez telepítse az epel-release csomagot a következő paranccsal:

$ sudo dnf install epel-release

A telepítés megerősítéséhez nyomja meg az Y billentyűt, majd nyomja meg az <Enter> billentyűt.

az epel-release csomagnak telepítve kell lennie, és az EPEL adattárnak engedélyezve kell lennie.

Most frissítse újra a DNF csomagtároló gyorsítótárát a következő paranccsal:

$ sudo dnf makecache

Most telepítse az Ansible-t a következő paranccsal:

$ sudo dnf install ansible

A telepítés megerősítéséhez nyomja meg az Y billentyűt, majd nyomja meg az <Enter> billentyűt.

ADNF-nek el kell kezdenie az összes szükséges csomag letöltését az internetről.

Elképzelhető, hogy az EPEL tároló GPG kulcsának elfogadását kérik. Nyomja meg az Y billentyűt, majd az <Enter> billentyűt az elfogadáshoz.

ADNF-nek el kell kezdenie az összes letöltött csomag telepítését.

Az Ansible-nak ezen a ponton telepítve kell lennie.

Most futtassuk a következő parancsot:

$ ansible –version

Mint látható, az Ansible 2-t futtatom.9.3-at, és tökéletesen működik.

Kiszolgálók konfigurálása az Ansible-hoz:

A szerverek Ansible segítségével történő kezeléséhez vagy adminisztrálásához SSH-kiszolgálót kell telepíteni és futtatni a szervereken. A szerverek SSH portjának nyitva kell lennie, és a szervereknek elérhetőnek kell lenniük az Ansible állomásról. Ez az egyetlen követelmény az Ansible használatához.

Ez a cikk 4 virtuális gépet (VM) fog használni (2 Ubuntu Server 18.04 LTS VM és 2 Debian 10 VM) az Ansible szerver kezelés és adminisztráció alapjainak bemutatásához.

A 4 VM a következő:

linuxhint-f1a46 – 192.168.20.161
linuxhint-8ee7a – 192.168.20.166
linuxhint-s40 – 192.168.20.171
linuxhint-s41- 192.168.20.170

A szerverek IP-címét használhatja a szerverek kezeléséhez vagy adminisztrálásához az Ansible segítségével. Használhatja a szerverek DNS-neveit is.

Ebben a cikkben a VM-ek IP-címének DNS-feloldásához az /etc/hosts fájlt fogom használni.

Ha szeretnéd követni, nyisd meg az /etc/hosts fájlt a vi szövegszerkesztővel a következőképpen:

$ sudo vi /etc/hosts

Most add hozzá az alábbi képernyőképen jelölt sorokat, és mentsd el a fájlt.

Most generáljon egy SSH-kulcsot a CentOS 8 Ansible állomáson az alábbiak szerint:

$ ssh-keygen

nyomja meg a <Enter>.

nyomja meg a <Enter>.

NYomja meg a <Enter>.

Az SSH kulcsnak létre kell jönnie.

Most, fel kell töltenie az SSH kulcsot az összes olyan szerverre, amelyet az Ansible segítségével szeretne kezelni.

Az SSH kulcsot a vm1.linuxhintre kell másolni.local szerverre, futtassa a következő parancsot:

$ ssh-copy-id [email protected]

Most írja be, hogy yes, majd nyomja meg a <Enter> billentyűt.

Most írja be a vm1.linuxhint.local VM-hez, majd nyomja meg a <Enter> billentyűt.

Az SSH-kulcsnak át kell másolódnia.

Tegye ugyanezt a vm2.linuxhint.local, vm3.linuxhint.local és vm4.linuxhint.local szerverrel.

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

Ha már átmásolta az SSH kulcsot a VM-ekre, be kell tudni lépni SSH-n jelszó nélkül, ahogy az alábbi képernyőképen is látható.

Most futtassa a következő parancsot mindegyik szerveren, hogy engedélyezze a sudo hozzáférést jelszó nélkül a bejelentkező felhasználó számára. Ez szükséges ahhoz, hogy az Ansible bármilyen root parancsot futtathasson.

$ echo “$(whoami) ALL=(ALL) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/$(whoami)

Az összes szerver most már készen áll arra, hogy az Ansible segítségével konfiguráljuk vagy kezeljük.

Az Ansible használata:

Az Ansible egy inventory fájlban tartja az összes általa kezelt állomás listáját. Az Ansible inventory fájl csak egy egyszerű egyszerű szöveges fájl.

Létrehozunk először egy új Ansible projektkönyvtárat ~/ansible/, majd létrehozzuk az inventory fájlunkat.

$ mkdir ~/ansible

Most navigáljunk a ~/ansible könyvtárba.

$ cd ~/ansible

Most hozzunk létre egy Ansible inventory fájlt a következőképpen. Ezt a fájlt bárhogyan hívhatod. Én hosts-nak fogom hívni.

$ vi hosts

Most, a következőképpen adhatod hozzá a szervereidet. Itt az ansible_user opciót használjuk annak a felhasználónak a meghatározására, akit az Ansible használni fog a parancsok futtatására ezeken a szervereken. Ez általában a szerver bejelentkezési felhasználója.

A szerverek IP-címét és DNS nevét is keverheti az inventory fájlban.

A szervereket csoportosíthatja is. Itt 2 csoportom van, a webszerver és a dbserver.

A webszerver csoportba a vm1 és vm2 szervereket tettem. A dbserver csoportban vm3 és vm4 szervereket adtam hozzá.

Mihelyt a leltárfájl elkészült, az Ansible -i opciójával használhatja a leltárfájlt.

A leltárfájlból az összes hosztot a következőképpen listázhatja ki:

$ ansible -i hosts –list-hosts all

Az összes hoszt aktív-e a következőképpen ellenőrizheti:

$ ansible -i hosts –list-hosts -m ping all

Amint láthatjuk, minden hoszt aktív.

Az egyetlen csoportban lévő összes hosztot is pingelheti.

$ ansible -i hosts –list-hosts -m ping webserver

Az Ansible segítségével shell parancsokat futtathatunk az alábbiak szerint:

$ ansible -i hosts -m shell -a ‘command’ <all|groupName>

A shell parancsokat (sudo jogosultságokkal) a következőképpen is futtathatod.

$ ansible -i hosts -b –become-method=sudo -m shell -a ‘command’ &lt;all
|groupName&gt;

Az Ansible segítségével például a következőképpen frissítheti az APT csomagtároló gyorsítótárát a webserver csoportba tartozó hosztokon:

$ ansible -i hosts -b –become-method=sudo -m shell -a ‘apt update’ webserver

Amint láthatja, az APT csomagtár cache-je frissül a webserver csoport összes állomásán.

Próbáljuk meg telepíteni az Apache 2 webkiszolgálót a webkiszolgáló csoport összes állomásán.

$ ansible -i hosts -b –become-method=sudo -m shell -a
‘apt install -y apache2’ webserver

Apache webszervert a webszerver csoport összes hostjára telepíteni kell.

Amint látható, az Apache webszerver a webszerver csoport összes hosztján működik.

$ ansible -i hosts -b –become-method=sudo -m shell -a ‘curl -sI
http://localhost’ webserver

Így a dbserver csoport összes hostján futtathatunk bármilyen parancsot.

$ ansible -i hosts -m shell -a ‘lsb_release -a’ dbserver

A szerverek egyszerűbb kezelésére is használhatja az Ansible Playbookot. Az Ansible Playbook nem tartozik ennek a cikknek a tárgykörébe. Az Ansible Playbookkal kapcsolatos további információkért olvassa el az Ansible dokumentációját.

Köszönjük, hogy elolvasta ezt a cikket.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.