Forutsetninger
For å aktivere EPEL -depot på CentOS 7 eller Centos 8 -maskiner med Ansible:
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.