Installere Ansible:
Ansible er tilgjengelig i Epel Repository of Centos 8. Så du kan enkelt installere Ansible på Centos 8.
Oppdater først DNF Package Repository Cache med følgende kommando:
$ sudo dnf makecache
Nå, for å aktivere Epel -depot, installerer du Epel-Release Pakke med følgende kommando:
$ sudo dnf installer epel-release
For å bekrefte installasjonen, trykk Y Og trykk deretter .
Epel-Release Pakken skal installeres og EPEL -depotet skal være aktivert.
Oppdater nå DNF Package Repository Cache igjen med følgende kommando:
$ sudo dnf makecache
Nå, installer Ansible med følgende kommando:
$ sudo dnf installerer ansible
For å bekrefte installasjonen, trykk Y Og trykk deretter .
DNF bør begynne å laste ned alle nødvendige pakker fra Internett.
Du kan bli bedt om å godta GPG -nøkkelen til Epel -depotet. trykk Y Og trykk deretter å godta det.
DNF bør begynne å installere alle nedlastede pakker.
På dette tidspunktet bør Ansible installeres.
Kjør nå følgende kommando:
$ Ansible -Versjon
Som du ser, kjører jeg Ansible 2.9.3 Og det fungerer helt fint.
Konfigurere servere for Ansible:
For å administrere eller administrere servere med Ansible, må du ha SSH -server installert og kjørt på serverne. Serverne SSH -porten må være åpen og serverne skal være tilgjengelige fra Ansible -verten. Det er det eneste kravet å bruke Ansible.
I denne artikkelen skal jeg bruke 4 virtuelle maskiner (VMS) (2 Ubuntu Server 18.04 LTS VMS og 2 Debian 10 VM) for å demonstrere det grunnleggende om Ansible Server Management and Administration.
De 4 VM -ene er:
Linuxhint -F1A46 - 192.168.20.161
Linuxhint -8ee7a - 192.168.20.166
Linuxhint -S40 - 192.168.20.171
Linuxhint-S41- 192.168.20.170
Du kan bruke IP -adressene til serverne til å administrere eller administrere dem med Ansible. Du kan også bruke DNS -navn på serverne også.
I denne artikkelen vil jeg bruke /etc/verter fil for DNS -oppløsning av VMS IP -adressene.
Hvis du vil følge med, åpne din /etc/verter Fil med VI Text Editor som følger:
$ sudo vi /etc /verter
Legg nå linjene som er merket på skjermdumpen nedenfor og lagre filen.
Generer nå en SSH -nøkkel på CentOS 8 Ansible -verten som følger:
$ SSH-KeenGen
trykk .
trykk .
trykk .
SSH -tasten skal genereres.
Nå må du laste opp SSH -tasten til alle serverne du vil administrere med Ansible.
Å kopiere SSH -tasten til VM1.Linuxhint.lokal server, kjør følgende kommando:
$ ssh-copy-id [email protected]
Nå, skriv inn ja Og trykk deretter .
Skriv inn påloggingspassordet til VM1.Linuxhint.lokal VM og trykk .
SSH -tasten skal kopieres.
Gjør det samme for VM2.Linuxhint.lokal, VM3.Linuxhint.lokal og VM4.Linuxhint.lokal server.
$ ssh-copy-id [email protected]
$ ssh-copy-id [email protected]
$ ssh-copy-id [email protected]
Når du har kopiert SSH -tasten til VM -ene, bør du kunne SSH i den uten passord som du kan se på skjermdumpen nedenfor.
Kjør nå følgende kommando på hver server for å tillate SUDO -tilgang uten passord for påloggingsbrukeren. Dette er nødvendig for at Ansible skal kjøre noen rotkommandoer.
$ ekko "$ (whoami) alle = (alle) nopasswd: alle" | sudo tee /etc /sudoers.d/$ (whoami)
Alle serverne er nå klare til å konfigureres eller administreres fra Ansible.
Bruker Ansible:
Ansible holder en liste over alle vertene den administrerer i en fil som heter Inventory File. Ansible lagerfil er bare en enkel vanlig tekstfil.
La oss opprette en ny Ansible Project Directory ~/Ansible/ Først oppretter vi vår lagerfil.
$ mkdir ~/ansible
Naviger nå til ~/Ansible katalog.
$ CD ~/Ansible
Lag nå en Ansible Inventory -fil som følger. Du kan kalle denne filen hva som helst. Jeg vil kalle det verter.
$ VI -verter
Nå kan du legge til serverne dine som følger. Her, Ansible_user Alternativet brukes til å definere brukeren som Ansible vil bruke for å kjøre kommandoer på disse serverne. Det er vanligvis påloggingsbrukeren på serveren.
Du kan også blande IP -adresser og DNS -navn på serverne i inventarfilen.
Du kan også gruppere servere. Her har jeg 2 grupper, Internett server og dbserver.
I Internett server gruppe, har jeg lagt til VM1 og VM2 servere. I dbserver gruppe, har jeg lagt til VM3 og VM4 servere.
Når inventarfilen er opprettet, kan du bruke varelagerfilen ved å bruke -Jeg Alternativ for Ansible.
Du kan liste alle vertene fra inventarfilen som følger:
$ ansible -i hosts -list -hosts alle
Du kan sjekke om alle vertene er aktive som følger:
$ ansible -i hosts -list -hosts -m ping alle
Som du kan se, er alle vertene aktive.
Du kan også pinge alle vertene i en enkelt gruppe også.
$ ansible -Jeg verter -List -hosts -m ping webserver
Du kan kjøre skallkommandoer ved å bruke Ansible som følger:
$ ansible -Jeg vert -m Shell -a 'Kommando'
Du kan også kjøre Shell -kommandoer (med sudo -privilegier) som følger.
$ ansible -Jeg hosts -B - -BECOME -METHOD = SUDO -M SHELL -A 'KOMMAND'| GroupName>
For eksempel kan du oppdatere APT Package Repository Cache på vertene i WebServer Group ved å bruke Ansible som følger:
$ ansible -i hosts -b - -become -metod = sudo -m shell -a 'apt update' webserver
Som du kan se, blir den treffende pakkelagdebufferen oppdatert for alle vertene i Internett server gruppe.
La oss prøve å installere Apache 2 webserver på alle vertene til Internett server gruppe.
$ ansible -Jeg hosts -B - -BECOME -METHOD = SUDO -M SHELL -A
'Apt Install -y apache2' webserver
Apache Webserver bør installeres i alle vertene til Internett server gruppe.
Som du ser jobber Apache Web Server med alle vertene i Internett server gruppe.
$ ansible -i hosts -b - -beaMe -metod = sudo -m shell -a 'curl -si
http: // localhost 'webserver
På samme måte kan du kjøre hvilken som helst kommando på alle vertene i dbserver gruppe.
$ ansible -i hosts -m shell -a 'lsb_release -a' dbserver
Du kan også bruke Ansible Playbook for å administrere serverne dine lettere. Ansible Playbook er utenfor omfanget av denne artikkelen. Les dokumentasjonen av Ansible for mer informasjon om Ansible Playbook.
Takk for at du leste denne artikkelen.