Vissza a bloghoz

Az Ansible telepítése és konfigurálása Ubuntu 20.04-en

Az Ansible telepítése és konfigurálása Ubuntu 20.04-en

Ha Ön rendszergazda, fontos, hogy egységes módon kezelje az összes használt szervert és számítógépet. A konfigurációkezelő rendszerek nagymértékben leegyszerűsíthetik ezt a folyamatot. Hatékonyan kezelik az összes rendszert egy központi helyről.

A Linux rendszeren több konfigurációkezelő rendszer is elérhető. Például a Puppet, Chef, Ansible, Bcfg2, Juju, CFEngine, stb. Míg az olyan eszközök, mint a Puppet és a Chef általában összetettebbek és fejlettebbek, az Ansible egyszerűséget és könnyű használhatóságot kínál. Nem kell semmilyen további kliensszoftvert telepítenie a csomópontokra ahhoz, hogy az Ansible működjön. Ehelyett az Ansible a(z) SSH protokollt használja a rendszerek kezelésére és automatizálására. Az Ansible egy nyílt forráskódú szoftver. Emellett rendkívül skálázható, konzisztens és megbízható.

Ez az útmutató bemutatja, hogyan kell telepíteni és konfigurálni az Ansible-t az Ubuntu 20.04-en.

Ansible Ubuntun

Az Ansible háromféle automatizálást képes végrehajtani:

  • Provisioning: Különböző szervereket képes létrehozni az infrastruktúra igényeinek megfelelően.

  • Configuration management: Képes elvégezni a szerverek különböző konfigurációs módosításait. Például szolgáltatások elindítása és leállítása, alkalmazások és frissítések telepítése, biztonsági irányelvek bevezetése stb.

  • Application deployment: Megkönnyíti a DevOps folyamatokat a saját fejlesztésű alkalmazások automatizált telepítésével az éles rendszerre.

Az Ansible szinte bármilyen informatikai környezetben tökéletesen működik – legyen szó hosztolt vagy hagyományos szerverekről, virtualizációs platformokról vagy a felhőről. Támogatja a különböző rendszerek, például adatbázisok, hálózatok, tűzfalak, tárolóeszközök és sok más egyéb kezelését is. A CloudSigma is támogatja az Ansible-t a felhőinfrastruktúránkhoz.

Előfeltételek

Ehhez az útmutatóhoz szükségünk van néhány gépre:

  • Control node: A vezérlőcsomópont az a központi csomópont, amely az összes gazdagéphez csatlakozik, feladatokat ad ki, és kezeli a rendszer különböző aspektusait. A vezérlőcsomópont bármi lehet – egy helyi gép vagy egy távoli szerver.

  • Host node: Az Ansible gazdagépek (hosts) azok a gépek, amelyeket az Ansible vezérlőcsomópont automatizálni tud.

Ahogy az útmutató címe is sugallja, ezeknek a gépeknek a várakozások szerint Ubuntu 20.04-gyel kell konfigurálva lenniük, a legújabb csomagokkal. Íme egy gyors útmutató a Ubuntu szerver beállításáról. Mivel az Ansible SSH-t használ a gépekhez való csatlakozáshoz, minden gazdagépen megfelelően be kell állítani az SSH-kulcsokat a vezérlőcsomóponthoz. Győződjön meg arról, hogy minden gazdagépen hozzá van adva a vezérlőcsomópont nyilvános SSH-kulcsa a authentication_keys fájlhoz. Kövesse az útmutatónkat, hogy megtudja, hogyan generálhat és adhat hozzá SSH-kulcsokat Linux szerverekhez.

1. lépés: Az Ansible telepítése

Ubuntu esetén nincs szükség további csomag- vagy repókonfigurációra. Az Ansible közvetlenül elérhető a hivatalos Ubuntu csomagszerverekről. Bármilyen rendszerszintű módosítás végrehajtásához adminisztrátori hozzáférés szükséges – a root felhasználó vagy egy sudo jogosultsággal rendelkező nem-root felhasználó. A sudoers fájl kezeli a felhasználók és csoportok sudo jogosultságait.

Először is telepítjük az Ansible-t azon a számítógépen, amely vezérlőcsomópontként fog szolgálni. Az Ansible telepítéséhez a vezérlőcsomóponton futtassa a következő parancsokat:

Control apt update

Install ansible

Ha jelszót fog használni SSH-hitelesítési mechanizmusként, akkor telepítenie kell a sshpass csomagot:

Install sshpass

2. lépés: Az Inventory fájl konfigurálása

Az Ansible-ben az inventory fájl információkat tartalmaz az összes gazdagépről, amelyet az ansible kezelni fog. Akár több tíz vagy több száz szerver is regisztrálva lehet az inventory fájlban. A szerverek csoportokra és alcsoportokra is oszthatók. Általában az inventory fájl arra szolgál, hogy olyan változókat határozzon meg, amelyek csak az adott gazdagépekre vagy csoportokra érvényesek. Ez egy hasznos technika a playbookok és sablonok írásakor. Bizonyos változók befolyásolhatják a playbook futtatásának módját is.

Az Ansible egy alapértelmezett inventory fájllal érkezik. Először nyissa meg a fájlt egy szövegszerkesztőben:

Ansible hosts file

Alapértelmezés szerint az inventory fájl különféle példákat tartalmaz referenciaként. Íme egy példa egy csoporttal, amelynek neve servers, amely három különböző szervert tartalmaz. A ansible_python_interpreter változó határozza meg a Python értelmezőt az összes hosts esetében, amelyek szerepelnek az inventory-ban. A ansible_user direktívával megadhatjuk azt a felhasználói fiókot, amellyel az Ansible csatlakozni fog:

Ansible hosts file updated

Ezután mentse el a fájlt, és zárja be a szerkesztőt. Az inventory ellenőrzéséhez futtassa a következő parancsot:

A kimenetnek valahogy így kell kinéznie:

Ansible inventory list

3. lépés: Kapcsolódás tesztelése

Az inventory fájl konfigurálása után tesztelnünk kell, hogy az Ansible képes-e SSH-n keresztül csatlakozni ezekhez a szerverekhez. Ezt megtehetjük az összes gazdagép egyszerű pingelésével. A control csomópontról, pingelje meg az összes host csomópontot:

A ping modul a következőket ellenőrzi:

  • Gazdagép elérhetősége

  • SSH hitelesítési adatok érvényessége

  • A gazdagépek képesek Ansible modulokat futtatni Python használatával

A kimenetnek valahogy így kell kinéznie:

Ansible ping all

Ha egy adott csomópont válasza pong, az azt jelenti, hogy a csomópont készen áll az Ansible parancsok és playbookok futtatására a szerveren.

4. lépés: Ad-hoc parancsok futtatása

Ez egy opcionális lépés. Hasznos lehet azonban az Ansible teljes funkcionalitásának ellenőrzésére a távoli szervereken. Ez a szakasz alapvető bevezetésként is szolgálhat a további Ansible használathoz és konfigurációhoz. Miután megerősítettük a kapcsolatot a csomópontokkal, elkezdhetjük az ad-hoc parancsok és playbookok futtatását. Bármely parancs, amelyet normál esetben a távoli szervereken futtatna, futtatható az Ansible segítségével az összes szerveren.

Futtassa a következő parancsot. Ez egyszerre ellenőrzi a lemezhasználatot az összes csomóponton:

Ansible all df cmd

Különböző Ansible modulokat is végrehajthatunk az ad-hoc parancs funkcióval, pontosan úgy, ahogy a ping modult futtattuk a teszteléshez. Például az apt modul az Ubuntu APT csomagkezelőjével működik. Képes kezelni a csomagokat egy távoli Ubuntu csomóponton. Vegye figyelembe, hogy a rendszerszintű módosításokhoz root jogosultság szükséges. A távoli csomópontnak engedélyeznie kell a root bejelentkezést, vagy a felhasználónak jogosultsággal kell rendelkeznie adminisztratív feladatok végrehajtására.

A következő példában az Ansible telepíti az Nginx szoftvert az összes gazdagép csomópontra:

Mit szólna ahhoz, ha csak egyetlen szerveren futtatna parancsokat? A szerver azonosítására a szerver becenevét fogjuk használni (amelyet az inventory fájlban rendeltünk hozzá):

Adhoc cmd df selected host

Több szervert is megadhatunk. Adja meg az egyes célszerverek becenevét kettősponttal elválasztva:

Adhoc cmd df multiple hosts

Záró gondolatok

Ebben az útmutatóban bemutattuk az Ansible telepítésének és egy inventory fájl konfigurálásának lépésről lépésre történő módszerét az ad-hoc parancsok futtatásához az Ansible vezérlő csomópontról. A konfigurálás után a vezérlő csomópont bármilyen parancsot vagy playbookot végrehajthat, amelyet a gazdagépeken futtatni szeretne.

Jó munkát!

author

Pranay Kapgate

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.