Võrgu topoloogia:
Siin, linuxhint-711ea on Ubuntu 20.04 LTS-masin, kuhu installin Ansible.
Seejärel konfigureerin hostid host1 (IP-aadress 192.168.20.162) ja host2 (IP-aadress 192.168.20.153) Ansible automatiseerimise jaoks ja käivitage neile käsud, kasutades rakendust Ansible linuxhint-711ea masin.
Helistan lihtsalt host1 ja host2 selles artiklis Ansible hostidena.
Ansible'i installimine:
Ansible'i saate hõlpsalt installida Ubuntu 20-le.04 LTS Ubuntu ametlikust paketihoidlast.
Kõigepealt värskendage APT paketi hoidla vahemälu järgmise käsuga:
$ sudo apt värskendus
APT-paketi hoidla vahemälu tuleks uuendada.
Nüüd installige Ansible järgmise käsuga:
$ sudo apt install ansible
Installimise kinnitamiseks vajutage Y ja seejärel vajutage
Ansible peaks olema paigaldatud.
Nüüd käivitage järgmine käsk, et kontrollida, kas ansible töötab õigesti.
$ ansible --versioonNagu näete, on võimalik käsk saadaval ja töötab õigesti.
SSH-võtme genereerimine:
Nüüd peate genereerima SSH-võtme arvutisse, kuhu olete Ansible installinud.
SSH-võtme genereerimiseks käivitage järgmine käsk:
$ ssh-keygen
Nüüd vajutage
Vajutage
Vajutage
Tuleks luua SSH-võti.
Ubuntu hostide konfigureerimine võimalikuks automatiseerimiseks:
Selles jaotises näitan teile, kuidas konfigureerida Ubuntu host (host1) Ansible automatiseerimise jaoks. Kui teil on rohkem kui üks hosti, mida soovite Ansible abil automatiseerida, korrake sama protsessi kõigi hostide puhul.
Ubuntu Ansible hostides (mille soovite konfigureerida Ansible automatiseerimiseks) peab olema installitud SSH-serveripakett.
Kõigepealt värskendage APT paketi hoidla vahemälu järgmise käsuga:
$ sudo apt värskendus
Seejärel installige OpenSSH-server järgmise käsuga:
$ sudo apt install openssh-server -y
Minu puhul on OpenSSH serveripakett juba installitud. Kui teie puhul pole seda installitud, tuleks see installida.
Nüüd kontrollige, kas sshd teenus töötab järgmise käsuga:
$ sudo systemctl olek sshdNagu näete, sshd teenus on aktiivne (jooksmine) ja lubatud (käivitub automaatselt süsteemi käivitamisel).
Kui sshd teenus ei ole aktiivne (töötab), käivitage see käsitsi järgmise käsuga:
$ sudo systemctl start sshdKui sshd teenus ei ole lubatud (pole süsteemi käivitusse lisatud), lisage see käsitsi süsteemi käivitusse järgmise käsuga:
$ sudo systemctl lubab sshdNüüd konfigureerige tulemüür SSH-i lubamiseks järgmise käsuga:
$ sudo ufw lubab ssh-i
Samuti peaksite looma võimalik kasutaja ja lubage paroolivaba sudo juurdepääs sellele võimalik kasutaja.
Et luua võimalik kasutaja, käivitage järgmine käsk:
$ sudo adduser on võimalik
Nüüd tippige võimalik ja vajutage
Nüüd tippige parool uuesti ja vajutage
Nüüd vajutage
Nüüd vajutage
Nüüd vajutage
Nüüd vajutage
Nüüd vajutage
Sisestage nüüd y ja seejärel vajutage
An võimalik kasutaja tuleks luua.
Nüüd konfigureerige paroolivaba sudo juurdepääs võimalik kasutaja järgmise käsuga:
$ echo "ansible ALL = (KÕIK) NOPASSWD: KÕIK" | sudo tee / etc / sudoers.d / ansible
Nüüd leidke Ansible host IP-aadress (host1) järgmise käsuga:
$ hostinimi -ISiin on minu puhul IP-aadress 192.168.20.162. Teie jaoks on see erinev. Niisiis, asendage see kohe oma vormiga.
Nüüd kopeerige arvutist, kuhu olete Ansible installinud, avalik SSH-võti hostile Ansible (host1) järgnevalt:
$ ssh-copy-id ansible @ 192.168.20.162
Trüki sisse jah ja vajutage
Nüüd tippige võimalik ja vajutage
Avalik SSH-võti tuleks kopeerida host1.
Keelake nüüd paroolipõhine sisselogimine võimalik kasutaja järgmise käsuga:
$ sudo usermod -L ansible
Nüüd saate SSH-d kasutada ainult Ansible hostis (host1) as võimalik kasutaja ilma paroolita arvutist, kust olete SSH avaliku võtme kopeerinud (antud juhul arvutist, kuhu olete Ansible installinud). Kuid te ei saa SSH-d hostida Ansible'i (host1) as võimalik kasutaja mis tahes muust arvutist. Ma olen turvakaalutlustel Ansible hostid sellisel viisil konfigureerinud. Nagu võimalik kasutaja ei vaja administraatori käskude käivitamiseks parooli, on riskantne lubada paroolipõhine sisselogimine võimalik kasutaja.
Nüüd peaksite olema võimeline SSH-d kasutatavasse hostisse viima host1 arvutist, kuhu olete Ansible installinud, järgmiselt:
$ ssh ansible @ 192.168.20.162
Nagu näete, on mul juurdepääs hostile Ansible (host1) kui paroolita võimalik kasutaja. Niisiis, Ansible host (host1) on valmis Ansible automatiseerimiseks.
Kui soovite mingil põhjusel lubada paroolipõhise sisselogimise võimalik uuesti, käivitage järgmine käsk ansible hostis (host1):
$ sudo usermod -U ansible
Samamoodi saate Ansible automatiseerimise jaoks konfigureerida nii palju masinaid kui soovite.
Selles artiklis olen konfigureerinud ainult 2 hosti, host1 ja host2 meeleavalduseks.
Testimine on võimalik:
Nüüd looge uus projektikataloog ~ / ansible-demo / arvutisse, kuhu olete Ansible installinud, toimige järgmiselt
$ mkdir ~ / ansible-demo
Nüüd navigeerige jaotisesse ~ / ansible-demo / kataloogi järgmiselt:
$ cd ~ / ansible-demo /
Nüüd looge uus võõrustajad fail projekti kataloogis järgmiselt:
$ nano hostid
Nüüd tippige Ansible hosts IP-aadressid või DNS-i nimed (host1 ja host2 minu puhul) võõrustajad faili järgmiselt:
192.168.20.162192.168.20.153
Nüüd salvestage fail, vajutades
Proovige nüüd pingutada kõiki masinaid, kasutades Ansible'i, järgmiselt:
$ ansible kõik -i ./ hosts -u ansible -m pingMÄRGE: Siin kasutatakse suvandit -u, et määrata kasutajanimi (antud juhul võimalik), mida Ansible kasutab SSH-is hostides.
Nagu näete, saab kõiki masinaid pingida. Niisiis, hostid on Ansible'i automatiseerimiseks valmis.
Samamoodi saate käivitada mis tahes käsu hostides, kasutades Ansible'i järgmiselt:
$ ansible kõik -i ./ hosts -u ansible -m kest -a 'echo "$ (hostinimi) - $ (hostinimi -I)" "
Nagu näete, käsk käitus edukalt igas hostis ja kuvatakse väljund.
Nii installite Ansible Ubuntu 20-sse nii.04 LTS ja konfigureerige Ubuntu 20.04 LTS-i hostid automatiseeritud automatiseerimiseks. Täname selle artikli lugemise eest.