Preduvjeti
Da biste omogućili EPEL spremište na CentOS 7 ili CentOS 8 strojevima s Ansible:
- Na računalu morate imati instaliran Ansible.
- Morate imati CentOS 7 ili CentOS 8 strojeve konfigurirane za Ansible automatizaciju.
Na LinuxHintu postoji mnogo članaka posvećenih Instaliranju Ansible i konfiguriranju hostova za Ansible automatizaciju. Ako želite, možda ćete htjeti provjeriti ove članke u svoje svrhe.
Omogućavanje spremišta EPEL na CentOS hostovima
Prvo izradite direktorij projekta ~ / projekt sa sljedećom naredbom:
$ mkdir -pv ~ / project / playbooks
Idite na ~ / projekt direktorij sa sljedećom naredbom:
$ cd ~ / projekt
Stvorite novu datoteku domaćini u direktoriju projekta i otvorite ga s uređivačem nano teksta kako slijedi:
$ nano domaćini
Prazna datoteka domaćini treba stvoriti i otvoriti pomoću nano uređivača teksta.
Upišite IP adrese ili DNS imena ciljanih CentOS 7 i CentOS 8 strojeva (tamo gdje želite omogućiti EPEL spremište) u centos odjeljak domaćini datoteka, kako slijedi:
[centos]192.168.20.169
192.168.20.222
Ovdje, 192.168.20.169 je IP adresa mog virtualnog stroja CentOS 8 i 192.168.20.222 je IP adresa mog virtualnog stroja CentOS 7. To će za vas biti drugačije. Od sada pazite da zamijenite uzorak IP adresa vlastitim popisom.
BILJEŠKA: IP adrese vaših CentOS hostova možete pronaći pomoću sljedeće naredbe:
$ hostname -I
Ako vaši CentOS domaćini imaju konfigurirana DNS imena, trebali biste ih moći pronaći pomoću sljedeće naredbe:
$ hostname -A
Konačni domaćini datoteka bi trebala izgledati kao što je prikazano na snimci zaslona u nastavku.
Sada spremite datoteku domaćina pritiskom na
Stvorite konfiguracijsku datoteku Ansible ansible.usp kako slijedi:
$ nano ansible.usp
Utipkajte sljedeće redove u ansibl.cfg datoteka:
[zadane postavke]inventar =./ domaćini
Nakon što završite ovaj korak, spremite datoteku pritiskom na
Sada izradite novu knjigu s odgovorima Ansible enable_epel_repo.yaml u igraonice / direktorij kako slijedi:
$ nano playbooks / enable_epel_repo.yaml
Zatim unesite sljedeće kodove u enable_epel_repo.yaml datoteka:
- domaćini: centoskorisnik: ansible
zadaci:
- ime: Omogućiti EPEL spremište na CentOS 8
dnf:
naziv: epel-release
stanje: najnovije
postati: Istina
kada: ansible_facts ['os_family'] == 'RedHat' i ansible_facts
['distribucija_major_verzija'] == '8'
- ime: Omogućite EPEL spremište na CentOS 7
njam:
naziv: epel-release
stanje: najnovije
postati: Istina
kada: ansible_facts ['os_family'] == 'RedHat' i ansible_facts
['version_major_version'] == '7'
U ovom kodu:
domaćini: centos, odabire samo domaćine u centos skupina iz domaćini datoteka.
korisnik: ansible, bit će SSH korisničko ime domaćina (gdje će Ansible izvoditi zadatke) ansible.
Definirao sam 2 zadaci ovdje. Jedan za CentOS 8 domaćine i jedan za CentOS 7 domaćine. Razlog zbog kojeg sam to učinio je taj što je zadani upravitelj paketa za CentOS 8 DNF, a CentOS 7 YUM. Jedan zadatak (prvi zadatak) koristit će upravitelj paketa DNF i pokrenut će se samo na CentOS 8 domaćinima. Drugi će se zadatak (zadnji zadatak) koristiti upraviteljem paketa YUM i pokrenut će se samo na CentOS 7 hostovima.
Ova su dva zadatka gotovo identična. Jedine razlike su moduli upravitelja paketa (dnf i njam) koji se koristi u zadacima i kodu za provjeru verzije CentOS.
dnf i njam Odgovorni moduli prihvaćaju iste parametre.
Ovdje, naziv: epel-release, paket koji treba instalirati je epel-oslobađanje.
stanje: najnovije, paket epel-oslobađanje treba instalirati. Ako je paket već instaliran i dostupna je ažurirana verzija, tada će se paket ažurirati.
kada: stanje, ako je stanje je pravi, tada će se zadatak pokrenuti. U suprotnom, zadatak se neće pokrenuti.
ansible_facts, koristi se za pristup varijablama hosta Ansible.
ansible_facts ['os_family'] == 'RedHat', provjerava je li OS domaćin CentOS ili RedHat.
ansible_facts ['version_major_version'] == '8', provjerava je li verzija OS-a domaćina 8 (u ovom slučaju CentOS 8 ili RedHat 8).
ansible_facts ['version_major_version'] == '7', provjerava je li verzija OS-a domaćina 7 (u ovom slučaju CentOS 7 ili RedHat 7).
Zatim, spremi enable_epel_repo.yaml datoteku pritiskom na
Sada možete pokrenuti knjigu odgovora Ansible na sljedeći način:
$ ansible-playbook playbooks / enable_epel_repo.yaml
Priručnik bi trebao raditi bez grešaka, a spremište EPEL trebalo bi biti omogućeno i na CentOS 7 i na CentOS 8 domaćinima.
Kao što vidite, EPEL spremište je omogućeno na mom CentOS 8 hostu.
Kao što vidite, EPEL spremište je omogućeno na mom CentOS 7 hostu.
Dakle, na taj način omogućavate EPEL spremište na CentOS-u pomoću programa Ansible. Hvala što ste pročitali ovaj članak.