Förutsättningar
Så här aktiverar du EPEL-förvar på CentOS 7- eller CentOS 8-maskiner med Ansible:
- Du måste ha Ansible installerat på din dator.
- Du måste ha CentOS 7- eller CentOS 8-maskiner konfigurerade för Ansible-automatisering.
Det finns många artiklar om LinuxHint tillägnad Installera Ansible och konfigurera värdar för Ansible-automatisering. Du kanske vill kolla in dessa artiklar om det behövs för dina ändamål.
Aktivera EPEL Repository på CentOS Hosts
Skapa först en projektkatalog ~ / projekt med följande kommando:
$ mkdir -pv ~ / project / playbooks
Navigera till ~ / projekt katalog med följande kommando:
$ cd ~ / projekt
Skapa en ny fil värdar i projektkatalogen och öppna den med nano-textredigeraren enligt följande:
$ nano värdar
En tom fil värdar bör skapas och öppnas med nano-textredigeraren.
Skriv in IP-adresserna eller DNS-namnen på mål CentOS 7- och CentOS 8-maskiner (där du vill aktivera EPEL-förvar) i centos avsnittet i värdar fil, enligt följande:
[centos]192.168.20.169
192.168.20.222
Här, 192.168.20.169 är IP-adressen till min virtuella maskin CentOS 8 och 192.168.20.222 är IP-adressen till min virtuella maskin CentOS 7. Dessa kommer att vara olika för dig. Se till att byta ut IP-adresserna med din egen lista från och med nu.
NOTERA: Du hittar IP-adresserna till dina CentOS-värdar med följande kommando:
$ värdnamn -I
Om dina CentOS-värdar har konfigurerat DNS-namn bör du kunna hitta dem med följande kommando:
$ värdnamn -A
Den slutliga värdar filen ska se ut som visas på skärmdumpen nedan.
Spara nu värdfilen genom att trycka på
Skapa en Ansible-konfigurationsfil ansible.cfg som följer:
$ nano ansible.cfg
Skriv följande rader i ansible.CFG-fil:
[standard]inventering =./ värdar
När du har slutfört detta steg sparar du filen genom att trycka på
Skapa nu en ny Ansible-spelbok enable_epel_repo.yaml i spelböcker / katalog enligt följande:
$ nano playbooks / enable_epel_repo.yaml
Skriv sedan följande koder i enable_epel_repo.yaml fil:
- värdar: centosanvändare: ansible
uppgifter:
- namn: Aktivera EPEL Repository på CentOS 8
dnf:
namn: epel-release
state: senaste
bli sann
när: ansible_facts ['os_family'] == 'RedHat' och ansible_facts
['distribution_major_version'] == '8'
- namn: Aktivera EPEL Repository på CentOS 7
yum:
namn: epel-release
state: senaste
bli sann
när: ansible_facts ['os_family'] == 'RedHat' och ansible_facts
['distribution_major_version'] == '7'
I den här koden:
värdar: centos, väljer bara värdarna i centos grupp från värdar fil.
användare: ansible, SSH-användarnamnet för värdarna (där Ansible kommer att köra uppgifterna) kommer att vara ansible.
Jag har definierat 2 uppgifter här. En för CentOS 8-värdar och en för CentOS 7-värdar. Anledningen till att jag har gjort det på det här sättet är att standardpakethanteraren för CentOS 8 är DNF och CentOS 7 är YUM. En uppgift (första uppgift) använder DNF-pakethanteraren och körs endast på CentOS 8-värdar. Den andra uppgiften (sista uppgiften) använder YUM-pakethanteraren och körs endast på CentOS 7-värdar.
Dessa två uppgifter är nästan identiska. De enda skillnaderna är pakethanteringsmodulerna (dnf och yum) används i uppgifterna och CentOS-versionskontrollkoden.
dnf och yum Ansible-moduler accepterar samma parametrar.
Här, namn: epel-release, paketet som ska installeras är epel-release.
state: senaste, paketet epel-release bör installeras. Om paketet redan är installerat och en uppdaterad version finns tillgänglig kommer paketet att uppdateras.
när: tillstånd, om tillstånd är Sann, då körs uppgiften. Annars körs inte uppgiften.
ansible_facts, används för att komma åt Ansible-värdvariablerna.
ansible_facts ['os_family'] == 'RedHat', kontrollerar om värd OS är CentOS eller RedHat.
ansible_facts ['distribution_major_version'] == '8', kontrollerar om värd OS-versionen är 8 (CentOS 8 eller RedHat 8, i det här fallet).
ansible_facts ['distribution_major_version'] == '7', kontrollerar om OS-värdversionen är 7 (i detta fall CentOS 7 eller RedHat 7).
Spara sedan enable_epel_repo.yaml fil genom att trycka på
Nu kan du köra Ansible-spelboken enligt följande:
$ ansible-playbook playbooks / enable_epel_repo.yaml
Spelboken ska köras utan några fel och EPEL-förvaret bör vara aktiverat på både CentOS 7- och CentOS 8-värdarna.
Som du kan se är EPEL-arkivet aktiverat i min CentOS 8-värd.
Som du kan se är EPEL-arkivet aktiverat i min CentOS 7-värd.
Så det är så du aktiverar EPEL-förvar på CentOS med Ansible. Tack för att du läste den här artikeln.