Topologija omrežja:
Tukaj linuxhint-711ea je Ubuntu 20.04 LTS stroj, kamor bom namestil Ansible.
Nato bom konfiguriral gostitelje gostitelj1 (Naslov IP 192.168.20.162) in gostitelj2 (Naslov IP 192.168.20.153) za avtomatizacijo Ansible in na njih zaženite ukaze z uporabo programa Ansible iz linuxhint-711ea stroj.
Preprosto poklical bom gostitelj1 in gostitelj2 kot odgovorni gostitelji v tem članku.
Namestitev Ansible:
Ansible lahko enostavno namestite v Ubuntu 20.04 LTS iz uradnega repozitorija paketov Ubuntu.
Najprej posodobite predpomnilnik repozitorija paketov APT z naslednjim ukazom:
$ sudo apt posodobitev
Predpomnilnik skladišča paketov APT je treba posodobiti.
Zdaj namestite Ansible z naslednjim ukazom:
$ sudo apt install ansible
Za potrditev namestitve pritisnite Y in nato pritisnite
Treba je namestiti Ansible.
Zdaj zaženite naslednji ukaz, da preverite, ali ansible deluje pravilno.
$ ansible --versionKot lahko vidite, je ukaz ansible na voljo in deluje pravilno.
Ustvarjanje ključa SSH:
Zdaj morate v računalniku, kjer ste namestili Ansible, ustvariti ključ SSH.
Če želite ustvariti ključ SSH, zaženite naslednji ukaz:
$ ssh-keygen
Zdaj pritisnite
Pritisnite
Pritisnite
Ustvariti je treba ključ SSH.
Konfiguriranje gostiteljev Ubuntu za Ansible Automation:
V tem poglavju vam bom pokazal, kako konfigurirati gostitelja Ubuntu (gostitelj1) za Ansible avtomatizacijo. Če imate več gostiteljev, ki jih želite avtomatizirati z uporabo Ansible, ponovite isti postopek na vsakem od gostiteljev.
Gostitelji Ubuntu Ansible (ki jih želite konfigurirati za avtomatizacijo Ansible) morajo imeti nameščen strežniški paket SSH.
Najprej posodobite predpomnilnik repozitorija paketov APT z naslednjim ukazom:
$ sudo apt posodobitev
Nato namestite strežnik OpenSSH z naslednjim ukazom:
$ sudo apt install openssh-server -y
V mojem primeru je strežniški paket OpenSSH že nameščen. Če v vašem primeru ni nameščen, ga morate namestiti.
Zdaj pa preverite, ali je sshd storitev se izvaja z naslednjim ukazom:
$ sudo systemctl status sshdKot lahko vidite, sshd storitev je aktivno (teče) in omogočeno (samodejno se zažene ob zagonu sistema).
Če je sshd storitev ni aktivno (teče) v vašem primeru ga zaženite ročno z naslednjim ukazom:
$ sudo systemctl start sshdČe je sshd storitev ni omogočeno (ni dodan ob zagonu sistema) v vašem primeru ga dodajte v zagon sistema ročno z naslednjim ukazom:
$ sudo systemctl omogoči sshdZdaj konfigurirajte požarni zid tako, da dovoli dostop SSH z naslednjim ukazom:
$ sudo ufw dovoli ssh
Prav tako bi morali ustvariti ansible uporabnika in omogočite dostop do sudo brez gesla ansible uporabnik.
Če želite ustvariti ansible uporabnik, zaženite naslednji ukaz:
$ sudo adduser ansible
Zdaj vnesite geslo za ansible uporabnika in pritisnite
Zdaj znova vnesite geslo in pritisnite
Zdaj pritisnite
Zdaj pritisnite
Zdaj pritisnite
Zdaj pritisnite
Zdaj pritisnite
Zdaj vnesite y in nato pritisnite
An ansible uporabnik bi moral biti ustvarjen.
Zdaj konfigurirajte dostop do sudo brez gesla ansible uporabnik z naslednjim ukazom:
$ echo "ansible ALL = (ALL) NOPASSWD: ALL" | sudo tee / etc / sudoers.d / ansible
Zdaj poiščite naslov IP gostitelja Ansible (gostitelj1) z naslednjim ukazom:
$ hostname -ITukaj je naslov IP v mojem primeru 192.168.20.162. Za vas bo drugače. Torej, ne pozabite ga nadomestiti z vašim obrazcem zdaj.
Zdaj iz računalnika, v katerem ste namestili Ansible, kopirajte javni ključ SSH na gostitelja Ansible (gostitelj1) kot sledi:
$ ssh-copy-id ansible @ 192.168.20.162
Vtipkaj ja in pritisnite
Zdaj vnesite geslo za ansible uporabnika in pritisnite
Javni ključ SSH je treba kopirati v gostitelj1.
Zdaj onemogočite prijavo na osnovi gesla za ansible uporabnik z naslednjim ukazom:
$ sudo usermod -L ansible
Zdaj lahko samo SSH v gostitelj Ansible (gostitelj1) kot ansible uporabnik brez gesla iz računalnika, iz katerega ste kopirali javni ključ SSH (v tem primeru računalnik, v katerem ste namestili Ansible). Toda SSH ne bo mogel vstopiti v gostitelj Ansible (gostitelj1) kot ansible uporabnik iz katerega koli drugega računalnika. Gostitelje Ansible sem tako konfiguriral iz varnostnih razlogov. Kot ansible uporabnik ne potrebuje nobenega gesla za izvajanje skrbniških ukazov, tvegati je, če dovolite prijavo na osnovi gesla za ansible uporabnik.
Zdaj bi morali imeti možnost SSH v ansible gostitelja gostitelj1 iz računalnika, v katerem ste namestili Ansible, kot sledi:
$ ssh ansible @ 192.168.20.162
Kot lahko vidite, lahko dostopam do gostitelja Ansible (gostitelj1) kot odgovorni uporabnik brez kakršnega koli gesla. Torej, gostitelj Ansible (gostitelj1) je pripravljen za avtomatizacijo Ansible.
Če iz nekega razloga želite dovoliti prijavo na osnovi gesla za ansible znova zaženite naslednji ukaz v gostitelju Ansible (gostitelj1):
$ sudo usermod -U ansible
Na enak način lahko nastavite poljubno število gostiteljev za avtomatizacijo Ansible.
V tem članku sem konfiguriral samo 2 gostitelja, gostitelj1 in gostitelj2 za predstavitev.
Testiranje odgovorno:
Zdaj ustvarite nov imenik projekta ~ / ansible-demo / v računalniku, kjer ste namestili Ansible, kot sledi:
$ mkdir ~ / ansible-demo
Zdaj se pomaknite do ~ / ansible-demo / imenik, kot sledi:
$ cd ~ / ansible-demo /
Zdaj ustvarite novo gostitelji datoteko v imeniku projekta, kot sledi:
$ nano gostitelji
Zdaj vnesite naslove IP ali imena DNS gostiteljev Ansible (gostitelj1 in gostitelj2 v mojem primeru) v gostitelji datoteka, kot sledi:
192.168.20.162192.168.20.153
Zdaj shranite datoteko s pritiskom na
Zdaj poskusite pingati vse gostitelje z uporabo programa Ansible, kot sledi:
$ ansible vse -i ./ gostitelji -u ansible -m pingOPOMBA: Tu se možnost -u uporablja za določitev uporabniškega imena (v tem primeru ansible), ki ga bo Ansible uporabil za SSH v gostiteljih.
Kot lahko vidite, so vsi gostitelji lahko pingirani. Torej, gostitelji so pripravljeni na avtomatizacijo Ansible.
Na enak način lahko v gostiteljih zaženete kateri koli ukaz z uporabo programa Ansible, kot sledi:
$ ansible vse -i ./ hosts -u ansible -m shell -a 'echo "$ (ime gostitelja) - $ (ime gostitelja -I)"'
Kot lahko vidite, se je ukaz uspešno zagnal v vsakem od gostiteljev in prikazan je izhod.
Torej, tako namestite Ansible na Ubuntu 20.04 LTS in konfigurirajte Ubuntu 20.04 LTS gostitelji za Ansible avtomatizacijo. Hvala, ker ste prebrali ta članek.