Hálózati topológia:
Itt a linuxhint-711ea egy Ubuntu 20.04 LTS gép, ahova telepítem az Ansible-t.
Ezután konfigurálom a gazdagépeket host1 (IP-cím 192.168.20.162) és host2 (IP-cím 192.168.20.153) az Ansible automatizáláshoz, és futtasson rajtuk parancsokat az Ansible from the segítségével linuxhint-711ea gép.
Egyszerűen felhívom host1 és host2 mint Ansible hostok ebben a cikkben.
Az Ansible telepítése:
Könnyedén telepítheti az Ansible-t az Ubuntu 20-ra.04 LTS az Ubuntu hivatalos csomagtárából.
Először frissítse az APT csomagtárház gyorsítótárát a következő paranccsal:
$ sudo apt frissítés
Frissíteni kell az APT csomagtárház gyorsítótárát.
Most telepítse az Ansible parancsot a következő paranccsal:
$ sudo apt install ansible
A telepítés megerősítéséhez nyomja meg a gombot Y majd nyomja meg
Ansible-t kell telepíteni.
Most futtassa a következő parancsot annak ellenőrzéséhez, hogy az ansible megfelelően működik-e.
$ ansible --verzióAmint láthatja, elérhető parancs működik és megfelelően működik.
SSH-kulcs generálása:
Most létre kell hoznia egy SSH kulcsot azon a számítógépen, ahová telepítette az Ansible programot.
SSH-kulcs előállításához futtassa a következő parancsot:
$ ssh-keygen
Most nyomja meg
nyomja meg
nyomja meg
SSH kulcsot kell létrehozni.
Az Ubuntu-házigazdák beállítása az automatizáláshoz:
Ebben a részben megmutatom, hogyan kell konfigurálni az Ubuntu gazdagépet (host1) az Ansible automatizáláshoz. Ha egynél több gazdagépet szeretne automatizálni az Ansible használatával, ismételje meg ugyanazt a folyamatot mindegyik gépen.
Az Ubuntu Ansible gazdagépeknek (amelyeket konfigurálni kell az Ansible automatizáláshoz) telepíteni kell az SSH szerver csomagot.
Először frissítse az APT csomagtárház gyorsítótárát a következő paranccsal:
$ sudo apt frissítés
Ezután telepítse az OpenSSH szervert a következő paranccsal:
$ sudo apt install openssh-server -y
Esetemben az OpenSSH szerver csomag már telepítve van. Ha az Ön esetében nincs telepítve, akkor telepíteni kell.
Most ellenőrizze, hogy a sshd szolgáltatás a következő paranccsal fut:
$ sudo systemctl status sshdMint láthatja, a sshd szolgáltatás aktív (futás) és engedélyezve (automatikusan elindul a rendszer indításakor).
Ha a sshd szolgáltatás nem aktív (futás) esetén indítsa el manuálisan a következő paranccsal:
$ sudo systemctl start sshdHa a sshd szolgáltatás nem engedélyezve (nincs hozzáadva a rendszer indításához), adja hozzá manuálisan a rendszer indításához a következő paranccsal:
$ sudo systemctl enable sshdMost állítsa be a tűzfalat az SSH-hozzáférés engedélyezéséhez a következő paranccsal:
$ sudo ufw engedélyezi az ssh-t
Létre kell hoznia egy lehetséges felhasználót, és engedélyezze a jelszó nélküli sudo hozzáférést a lehetséges felhasználó.
Annak létrehozásához lehetséges felhasználó futtassa a következő parancsot:
$ sudo adduser ansible
Írja be a jelszót a lehetséges felhasználót, és nyomja meg a gombot
Írja be újra a jelszót, és nyomja meg a gombot
Most nyomja meg
Most nyomja meg
Most nyomja meg
Most nyomja meg
Most nyomja meg
Írja be y majd nyomja meg
An lehetséges felhasználót kell létrehozni.
Most konfigurálja a jelszó nélküli sudo hozzáférést a lehetséges felhasználó a következő paranccsal:
$ echo "ansible ALL = (ALL) NOPASSWD: ALL" | sudo tee / etc / sudoers.d / ansible
Most keresse meg az Ansible hoszt IP-címét (host1) a következő paranccsal:
$ hostname -IItt az IP-cím az én esetemben az 192.168.20.162. Neked más lesz. Tehát mindenképpen cserélje le most a saját űrlapjára.
Másolja át az SSH nyilvános kulcsot az Ansible hosztra abból a számítógépről, ahová telepítette az Ansible programot (host1) alábbiak szerint:
$ ssh-copy-id ansible @ 192.168.20.162
Begépel Igen és nyomja meg
Írja be a lehetséges felhasználót, és nyomja meg a gombot
A nyilvános SSH kulcsot át kell másolni host1.
Most tiltsa le a jelszó alapú bejelentkezést a lehetséges felhasználó a következő paranccsal:
$ sudo usermod -L ansible
Most csak SSH-t lehet bevinni az Ansible hosztba (host1) mint lehetséges felhasználó jelszó nélkül abból a számítógépről, ahonnan átmásolta az SSH nyilvános kulcsot (ebben az esetben az a számítógép, amelyre telepítette az Ansible programot). De az SSH nem lesz képes az Ansible gazdagépre (host1) mint lehetséges bármely más számítógépről. Biztonsági okokból konfiguráltam az Ansible hosztokat így. Mivel a lehetséges felhasználónak nincs szüksége jelszóra az adminisztrációs parancsok futtatásához, ezért kockázatos engedélyezni a jelszó alapú bejelentkezést a lehetséges felhasználó.
Most már képesnek kell lennie arra, hogy az SSH-t az anable hostba be tudja vezetni host1 abból a számítógépről, ahová az Ansible programot telepítette, az alábbiak szerint:
$ ssh ansible @ 192.168.20.162
Mint láthatja, hozzáférhetek az Ansible hoszthoz (host1), mint jelszó nélküli lehetséges felhasználó. Tehát, az Ansible host (host1) készen áll az Ansible automatizálásra.
Ha valamilyen oknál fogva engedélyezni szeretné a jelszó alapú bejelentkezést a lehetséges ismét futtassa a következő parancsot az Ansible hostban (host1):
$ sudo usermod -U ansible
Az Ansible automatizáláshoz ugyanannyit állíthat be, amennyit csak akar.
Ebben a cikkben csak 2 gazdagépet konfiguráltam, host1 és host2 a tüntetéshez.
Tesztelés lehetséges:
Most hozzon létre egy új projekt könyvtárat ~ / ansible-demo / azon a számítógépen, ahová az Ansible programot telepítette, az alábbiak szerint:
$ mkdir ~ / ansible-demo
Most keresse meg a ~ / ansible-demo / könyvtárat az alábbiak szerint:
$ cd ~ / ansible-demo /
Most hozzon létre egy újat otthont ad fájl a projekt könyvtárban az alábbiak szerint:
$ nano házigazdák
Írja be az Ansible hosts IP-címeit vagy DNS-neveit (host1 és host2 esetemben) a otthont ad fájl az alábbiak szerint:
192.168.20.162192.168.20.153
Most mentse el a fájlt a megnyomásával
Most próbálja meg pingelni az összes gazdagépet az Ansible használatával az alábbiak szerint:
$ ansible all -i ./ hosts -u ansible -m pingJEGYZET: Itt az -u opcióval megadható az a felhasználónév (ebben az esetben lehetséges), amelyet az Ansible SSH-re fog használni a gazdagépeken.
Mint látható, az összes hoszt pingelhető. Tehát a gazdagépek készen állnak az Ansible automatizálásra.
Ugyanígy az Ansible használatával bármelyik parancs futtatható a gazdagépeken:
$ ansible all -i ./ hosts -u ansible -m shell -a 'echo "$ (hostname) - $ (hostname -I)"'
Amint láthatja, a parancs sikeresen futott az egyes gazdagépeken, és megjelenik a kimenet.
Így telepíti az Ansible-t az Ubuntu 20-ra.04 LTS és konfigurálja az Ubuntu 20-at.04 LTS hosztok az Ansible automatizáláshoz. Köszönjük, hogy elolvasta ezt a cikket.