Hvordan aktivere EPEL -depot på centos med Ansible

Hvordan aktivere EPEL -depot på centos med Ansible
I denne artikkelen vil jeg vise deg hvordan du aktiverer Epel -depot på CentOS ved hjelp av Ansible. Så la oss komme i gang.

Forutsetninger

For å aktivere EPEL -depot på CentOS 7 eller Centos 8 -maskiner med Ansible:

  1. Du må ha Ansible installert på datamaskinen din.
  2. Du må ha centos 7 eller centos 8 maskiner konfigurert for ansettbar automatisering.

Det er mange artikler om Linuxhint dedikert til å installere Ansible og konfigurere verter for Ansible Automation. Det kan være lurt å sjekke ut disse artiklene om nødvendig, for dine formål.

Aktivering av EPEL -depot på CentOS -verter

Lag først en prosjektkatalog ~/prosjekt med følgende kommando:

$ mkdir -pv ~/project/playbooks

Naviger til ~/prosjekt Katalog med følgende kommando:

$ CD ~/prosjekt

Lag en ny fil verter I prosjektkatalogen og åpne den med Nano Text Editor som følger:

$ Nano -verter

En tom fil verter Bør opprettes og åpnes med Nano Text Editor.

Skriv inn IP -adressene eller DNS -navnene på Target Centos 7 og Centos 8 -maskiner (hvor du vil aktivere Epel -depot) i centos delen av verter fil, som følger:

[Centos]
192.168.20.169
192.168.20.222

Her, 192.168.20.169 er IP -adressen til min centos 8 virtuelle maskin og 192.168.20.222 er IP -adressen til Centos 7 Virtual Machine. Disse vil være forskjellige for deg. Sørg for å erstatte eksemplet IP -adresser med din egen liste fra nå av.

MERK: Du kan finne IP -adressene til CentOS -vertene dine med følgende kommando:

$ hostname -i

Hvis CentOS -vertene dine har DNS -navn konfigurert, bør du kunne finne dem med følgende kommando:

$ vertsnavn -A

Finalen verter Filen skal se ut som vist på skjermdumpen nedenfor.

Lagre nå vertsfilen ved å trykke på + X etterfulgt av Y og .

Opprett en Ansible konfigurasjonsfil Ansible.CFG følgende:

$ Nano Ansible.CFG

Skriv inn følgende linjer i Ansible.CFG -fil:

[standardverdier]
Inventory =./verter

Når du har fullført dette trinnet, må du lagre filen ved å trykke på + X etterfulgt av Y og .

Lag nå en ny Ansible Playbook Enable_epel_repo.Yaml i Playbooks/ Katalog som følger:

$ nano playbooks/enable_epel_repo.Yaml

Deretter skriver du inn følgende koder i Enable_epel_repo.Yaml fil:

- Verter: Centos
Bruker: Ansible
oppgaver:
- Navn: Aktiver Epel Repository på CentOS 8
dnf:
Navn: Epel-Release
Stat: Siste
bli: sant
Når: Ansible_Facts ['OS_Family'] == 'Redhat' og Ansible_Facts
['Distribution_Major_Version'] == '8'
- Navn: Aktiver Epel Repository på CentOS 7
yum:
Navn: Epel-Release
Stat: Siste
bli: sant
Når: Ansible_Facts ['OS_Family'] == 'Redhat' og Ansible_Facts
['Distribution_Major_Version'] == '7'

I denne koden:

Verter: Centos, velger bare vertene i centos gruppe fra verter fil.

Bruker: Ansible, SSH -brukernavnet til vertene (der Ansible vil kjøre oppgavene) vil være Ansible.

Jeg har definert 2 oppgaver her. En for centos 8 verter og en for centos 7 verter. Årsaken til at jeg har gjort det på denne måten, er fordi standardpakkeansvarlig for CentOS 8 er DNF, og Centos 7 er Yum. Én oppgave (første oppgave) vil bruke DNF -pakkebehandleren og vil bare løpe på CentOS 8 -verter. Den andre oppgaven (siste oppgave) vil bruke Yum Package Manager og vil bare løpe på CentOS 7 -verter.

Disse to oppgavene er nesten identiske. De eneste forskjellene er Package Manager -modulene (dnf og yum) Brukes i oppgavene og CentOS -versjonen av kontrollkoden.

dnf og yum Ansible moduler godtar de samme parametrene.

Her, Navn: Epel-Release, pakken som skal installeres er Epel-Release.

Stat: Siste, pakken Epel-Release skal installeres. Hvis pakken allerede er installert og en oppdatert versjon er tilgjengelig, blir pakken oppdatert.

Når: Tilstand, Hvis betingelse er ekte, Da vil oppgaven løpe. Ellers vil ikke oppgaven løpe.

Ansible_facts, Brukes til å få tilgang til de som er vertsvariabler.

Ansible_facts ['OS_Family'] == 'Redhat', Sjekker om verten OS er Centos eller Redhat.

Ansible_Facts ['Distribution_Major_Version'] == '8', sjekker om verts OS -versjonen er 8 (Centos 8 eller Redhat 8, i dette tilfellet).

Ansible_Facts ['Distribution_Major_Version'] == '7', sjekker om verts OS -versjonen er 7 (Centos 7 eller Redhat 7, i dette tilfellet).

Så, lagre Enable_epel_repo.Yaml fil ved å trykke på + X etterfulgt av Y og .

Nå kan du kjøre Ansible Playbook som følger:

$ ansible-playbook playbooks/enable_epel_repo.Yaml

Playbooken skal kjøres uten feil, og Epel -depotet skal være aktivert på både Centos 7 og Centos 8 -verter.

Som du kan se, er Epel Repository aktivert i CentOS 8 -verten min.

Som du kan se, er Epel Repository aktivert i min CentOS 7 -vert.

Så det er slik du aktiverer EPEL -depot på CentOS ved hjelp av Ansible. Takk for at du leste denne artikkelen.