Tinklo topologija:
Čia, linuxhint-711ea yra „Ubuntu 20“.04 LTS mašina, kurioje įdiegsiu „Ansible“.
Tada sukonfigūruosiu pagrindinius kompiuterius šeimininkas1 (IP adresas 192.168.20.162) ir host2 (IP adresas 192.168.20.153) „Ansible“ automatizavimui ir paleiskite jiems komandas naudodami „Ansible“ iš linuxhint-711ea mašina.
Paprasčiausiai paskambinsiu šeimininkas1 ir host2 kaip „Ansible“ šeimininkai šiame straipsnyje.
Diegimas „Ansible“:
„Ansible“ galite lengvai įdiegti „Ubuntu 20“.04 LTS iš oficialios „Ubuntu“ paketų talpyklos.
Pirmiausia atnaujinkite APT paketų saugyklos talpyklą naudodami šią komandą:
$ sudo apt atnaujinimas
Reikėtų atnaujinti APT paketų saugyklos talpyklą.
Dabar įdiekite „Ansible“ naudodami šią komandą:
$ sudo apt install ansible
Norėdami patvirtinti diegimą, paspauskite Y tada paspauskite
Reikėtų įdiegti „Ansible“.
Dabar paleiskite šią komandą, kad patikrintumėte, ar ansible veikia tinkamai.
$ ansible --versijaKaip matote, prieinama komanda veikia ir veikia tinkamai.
SSH rakto generavimas:
Dabar kompiuteryje, kuriame įdiegėte „Ansible“, turite sugeneruoti SSH raktą.
Norėdami sugeneruoti SSH raktą, vykdykite šią komandą:
$ ssh-keygen
Dabar paspauskite
Paspauskite
Paspauskite
Reikėtų sugeneruoti SSH raktą.
„Ubuntu“ kompiuterių konfigūravimas galimai automatizavimui:
Šiame skyriuje parodysiu, kaip sukonfigūruoti „Ubuntu“ pagrindinį kompiuterį (šeimininkas1), skirtą Ansible automatizavimui. Jei turite daugiau nei vieną pagrindinį kompiuterį, kurį norite automatizuoti naudodami „Ansible“, pakartokite tą patį procesą kiekviename iš pagrindinių kompiuterių.
„Ubuntu Ansible“ pagrindiniuose kompiuteriuose (kuriuos norite sukonfigūruoti „Ansible Automation“) turi būti įdiegtas SSH serverio paketas.
Pirmiausia atnaujinkite APT paketų saugyklos talpyklą naudodami šią komandą:
$ sudo apt atnaujinimas
Tada įdiekite „OpenSSH“ serverį naudodami šią komandą:
$ sudo apt install openssh-server -y
Mano atveju „OpenSSH“ serverio paketas jau yra įdiegtas. Jei jūsų atveju jis nėra įdiegtas, jis turėtų būti įdiegtas.
Dabar patikrinkite, ar sshd tarnyba veikia su šia komanda:
$ sudo systemctl status sshdKaip matote, sshd paslauga yra aktyvus (bėgimas) ir įjungtas (bus automatiškai paleistas įkrovos metu).
Jei sshd paslauga nėra aktyvus (veikia) jūsų atveju paleiskite jį rankiniu būdu naudodami šią komandą:
$ sudo systemctl start sshdJei sshd paslauga nėra įjungtas (nepridėta prie sistemos paleisties), pridėkite jį prie sistemos paleisties rankiniu būdu naudodami šią komandą:
$ sudo systemctl įjungti sshdDabar sukonfigūruokite užkardą leisti SSH prieigai naudodami šią komandą:
$ sudo ufw leisti ssh
Taip pat turėtumėte sukurti įmanoma vartotojui ir leisti be slaptažodžio sudo prieigą prie įmanoma Vartotojas.
Norėdami sukurti įmanoma vartotojas, vykdykite šią komandą:
$ sudo adduser ansible
Dabar įveskite „“ slaptažodį įmanoma vartotojui ir paspauskite
Dabar dar kartą įveskite slaptažodį ir paspauskite
Dabar paspauskite
Dabar paspauskite
Dabar paspauskite
Dabar paspauskite
Dabar paspauskite
Dabar įveskite y tada paspauskite
An įmanoma vartotojas turėtų būti sukurtas.
Dabar sukonfigūruokite be slaptažodžio sudo prieigą prie įmanoma vartotojas su tokia komanda:
$ echo "ansible ALL = (VISI) NOPASSWD: VISI" | sudo tee / etc / sudoers.d / ansible
Dabar raskite „Ansible Host“ IP adresą (šeimininkas1) su tokia komanda:
$ pagrindinio kompiuterio vardas -IMano atveju IP adresas yra 192.168.20.162. Jums bus kitaip. Taigi, nepamirškite jo pakeisti savo forma.
Dabar iš kompiuterio, kuriame įdiegėte „Ansible“, nukopijuokite viešąjį SSH raktą į „Ansible“ pagrindinį kompiuterį (šeimininkas1) taip:
$ ssh-copy-id ansible @ 192.168.20.162
Įrašykite taip ir paspauskite
Dabar įveskite įmanoma vartotojui ir paspauskite
Reikėtų nukopijuoti viešąjį SSH raktą šeimininkas1.
Dabar išjunkite slaptažodžiu pagrįstą prisijungimą prie įmanoma vartotojas su tokia komanda:
$ sudo usermod -L ansible
Dabar SSH galite įvesti tik į „Ansible“ pagrindinį kompiuterį (šeimininkas1) kaip įmanoma vartotojas be slaptažodžio iš kompiuterio, iš kurio nukopijavote viešąjį SSH raktą (šiuo atveju - kompiuteryje, kuriame įdiegėte „Ansible“). Bet negalėsite SSH prisijungti prie „Ansible“ pagrindinio kompiuterio (šeimininkas1) kaip įmanoma vartotojas iš bet kurio kito kompiuterio. Aš sukonfigūravau „Ansible Host“ tokiu būdu saugumo sumetimais. Kaip įmanoma vartotojui nereikia jokių slaptažodžių vykdant administracines komandas, rizikinga leisti prisijungti prie slaptažodžio įmanoma Vartotojas.
Dabar turėtumėte sugebėti SSH prisijungti prie galimo pagrindinio kompiuterio šeimininkas1 iš kompiuterio, kuriame įdiegėte „Ansible“, taip:
$ ssh ansible @ 192.168.20.162
Kaip matote, aš galiu pasiekti „Ansible“ pagrindinį kompiuterį (šeimininkas1) kaip galimas vartotojas be jokio slaptažodžio. Taigi, „Ansible“ šeimininkas (šeimininkas1) yra pasirengusi automatizuoti.
Jei dėl kokių nors priežasčių norite leisti prisijungti slaptažodžiu įmanoma dar kartą paleiskite šią komandą „Ansible host“ (šeimininkas1):
$ sudo usermod -U ansible
Tuo pačiu būdu galite sukonfigūruoti tiek kompiuterių, kiek norite „Ansible“ automatizavimui.
Šiame straipsnyje sukonfigūravau tik 2 pagrindinius kompiuterius, šeimininkas1 ir host2 demonstracijai.
Testuoti negalima:
Dabar sukurkite naują projekto katalogą ~ / ansible-demo / kompiuteryje, kuriame įdiegėte „Ansible“, atlikite šiuos veiksmus:
$ mkdir ~ / ansible-demo
Dabar eikite į ~ / ansible-demo / katalogą taip:
$ cd ~ / ansible-demo /
Dabar sukurkite naują šeimininkai failą projekto kataloge taip:
$ nano šeimininkai
Dabar įveskite „Ansible Host“ IP adresus arba DNS pavadinimus (šeimininkas1 ir host2 mano atveju) šeimininkai failą taip:
192.168.20.162192.168.20.153
Dabar išsaugokite failą paspausdami
Dabar pabandykite pinguoti visus kompiuterius naudodami „Ansible“ taip:
$ ansible all -i ./ hosts -u ansible -m pingPASTABA: Čia parinktis -u naudojama nurodyti vartotojo vardą (šiuo atveju galima), kurį „Ansible“ naudos SSH į pagrindinius kompiuterius.
Kaip matote, visus kompiuterius galima pinguoti. Taigi, pagrindiniai kompiuteriai yra pasirengę „Ansible“ automatizavimui.
Taip pat galite paleisti bet kurią komandą pagrindiniuose kompiuteriuose naudodami „Ansible“ taip:
$ ansible all -i ./ hosts -u ansible -m apvalkalas -a 'echo "$ (hostname) - $ (hostname -I)"'
Kaip matote, komanda sėkmingai vykdė kiekvieną iš kompiuterių ir rodomas išėjimas.
Taigi, taip įdiegiate „Ansible“ „Ubuntu 20“.04 LTS ir sukonfigūruokite „Ubuntu 20“.04 LTS kompiuteriai, skirti automatizavimui. Dėkojame, kad perskaitėte šį straipsnį.