Pogoji
Če želite omogočiti repozitorij EPEL na strojih CentOS 7 ali CentOS 8 z Ansible:
- V računalniku morate imeti nameščen Ansible.
- Za avtomatizacijo Ansible morate imeti konfigurirane naprave CentOS 7 ali CentOS 8.
V LinuxHintu je veliko člankov, namenjenih namestitvi programa Ansible in konfiguriranju gostiteljev za avtomatizacijo Ansible. Te članke boste morda želeli preveriti za svoje namene.
Omogočanje repozitorija EPEL na gostiteljih CentOS
Najprej ustvarite imenik projekta ~ / projekt z naslednjim ukazom:
$ mkdir -pv ~ / project / playbooks
Pomaknite se do ~ / projekt imenik z naslednjim ukazom:
$ cd ~ / projekt
Ustvari novo datoteko gostitelji v imeniku projekta in ga odprite z urejevalnikom besedil nano, kot sledi:
$ nano gostitelji
Prazna datoteka gostitelji je treba ustvariti in odpreti z urejevalnikom besedil nano.
Vnesite naslove IP ali imena DNS ciljnih strojev CentOS 7 in CentOS 8 (kjer želite omogočiti repozitorij EPEL) v centos odsek gostitelji datoteka, kot sledi:
[centos]192.168.20.169
192.168.20.222
Tukaj, 192.168.20.169 je naslov IP mojega navideznega stroja CentOS 8 in 192.168.20.222 je naslov IP mojega virtualnega računalnika CentOS 7. Te bodo drugačne za vas. Vzorčne naslove IP odslej zamenjajte s svojim seznamom.
OPOMBA: Naslove IP gostiteljev CentOS najdete z naslednjim ukazom:
$ hostname -I
Če imajo gostitelji CentOS nastavljena imena DNS, jih boste lahko našli z naslednjim ukazom:
$ hostname -A
Konec gostitelji datoteka naj bo videti tako, kot je prikazano na spodnjem posnetku zaslona.
Zdaj shranite datoteko gostitelja s pritiskom na
Ustvarite konfiguracijsko datoteko Ansible ansible.prim kot sledi:
$ nano ansible.prim
Vtipkajte v vrstico naslednje vrstice.cfg datoteka:
[privzeto]zaloga =./ gostitelji
Ko končate ta korak, datoteko shranite s pritiskom na
Zdaj ustvarite novo knjigo Ansible enable_epel_repo.yaml v igralne knjige / imenik, kot sledi:
$ nano playbooks / enable_epel_repo.yaml
Nato vnesite naslednje kode v enable_epel_repo.yaml mapa:
- gostitelji: centosuporabnik: ansible
naloge:
- ime: Omogoči repozitorij EPEL na CentOS 8
dnf:
ime: epel-release
stanje: najnovejše
postati: Resnično
kdaj: ansible_facts ['os_family'] == 'RedHat' in ansible_facts
['Distribution_major_version'] == '8'
- ime: Omogoči repozitorij EPEL na CentOS 7
njam:
ime: epel-release
stanje: najnovejše
postati: Resnično
kdaj: ansible_facts ['os_family'] == 'RedHat' in ansible_facts
['Distribution_major_version'] == '7'
V tej kodi:
gostitelji: centos, izbere samo gostitelje v centos skupina iz gostitelji mapa.
uporabnik: ansible, uporabniško ime SSH gostiteljev (kjer bo Ansible zagnal naloge) ansible.
Določil sem 2 naloge tukaj. Enega za gostitelje CentOS 8 in enega za gostitelje CentOS 7. Razlog, da sem to storil na ta način, je ta, da je privzeti upravitelj paketov za CentOS 8 DNF, CentOS 7 pa YUM. Ena naloga (prva naloga) bo uporabljala upravitelja paketov DNF in se bo izvajala samo na gostiteljih CentOS 8. Druga naloga (zadnja naloga) bo uporabljala upravitelja paketov YUM in se bo izvajala samo na gostiteljih CentOS 7.
Ti dve nalogi sta skoraj enaki. Edine razlike so moduli upravljalnika paketov (dnf in njam), ki se uporablja pri opravilih in kodo za preverjanje različice CentOS.
dnf in njam Odgovorni moduli sprejemajo enake parametre.
Tukaj, ime: epel-release, paket, ki ga je treba namestiti, je epel-sprostitev.
stanje: najnovejše, paket epel-sprostitev namestiti. Če je paket že nameščen in je na voljo posodobljena različica, bo paket posodobljen.
kdaj: stanje, če je stanje je prav, potem se bo naloga zagnala. V nasprotnem primeru se naloga ne bo zagnala.
ansible_facts, za dostop do spremenljivk gostitelja Ansible.
ansible_facts ['os_family'] == 'RedHat', preveri, ali je gostiteljski OS CentOS ali RedHat.
ansible_facts ['različica_major_verzije'] == '8', preveri, ali je različica gostiteljskega OS 8 (v tem primeru CentOS 8 ali RedHat 8).
ansible_facts ['distribu_major_version'] == '7', preveri, ali je različica gostiteljskega OS 7 (v tem primeru CentOS 7 ali RedHat 7).
Nato shranite enable_epel_repo.yaml s pritiskom na
Zdaj lahko igrate knjigo Ansible na naslednji način:
$ ansible-playbook playbooks / enable_epel_repo.yaml
Predstava naj deluje brez napak, skladišče EPEL pa mora biti omogočeno na gostiteljih CentOS 7 in CentOS 8.
Kot lahko vidite, je v mojem gostitelju CentOS 8 omogočeno skladišče EPEL.
Kot lahko vidite, je v mojem gostitelju CentOS 7 omogočeno skladišče EPEL.
Torej, tako omogočite repozitorij EPEL na CentOS s pomočjo programa Ansible. Hvala, ker ste prebrali ta članek.