Hvordan installere Ansible på Centos 8

Hvordan installere Ansible på Centos 8
Ansible er en brukt til å administrere og administrere flere servere fra en sentral datamaskin. Det er et serveradministrasjonsverktøy. Ansible trenger ikke noen konfigurasjon på serversiden som kokk eller dukke. Du installerer bare Ansible på datamaskinen din og administrerer eller administrerer servere via SSH. Det er veldig enkelt og enkelt å bruke. I denne artikkelen skal jeg vise deg hvordan du installerer og bruker Ansible på Centos 8. Så la oss komme i gang.

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.