Předpoklady
Povolení úložiště EPEL na počítačích CentOS 7 nebo CentOS 8 s Ansible:
- Musíte mít v počítači nainstalován Ansible.
- Musíte mít počítače CentOS 7 nebo CentOS 8 nakonfigurované pro automatizaci Ansible.
Existuje mnoho článků o LinuxHint věnovaných instalaci Ansible a konfiguraci hostitelů pro automatizaci Ansible. Možná budete chtít tyto články pro své účely zkontrolovat, pokud je to nutné.
Povolení úložiště EPEL na hostitelích CentOS
Nejprve vytvořte adresář projektu ~ / projekt s následujícím příkazem:
$ mkdir -pv ~ / project / playbooks
Přejděte na ~ / projekt adresář s následujícím příkazem:
$ cd ~ / projekt
Vytvořte nový soubor hostitelé v adresáři projektu a otevřete jej pomocí nano textového editoru následujícím způsobem:
$ nano hostitelé
Prázdný soubor hostitelé by měl být vytvořen a otevřen pomocí nano textového editoru.
Zadejte IP adresy nebo názvy DNS cílových počítačů CentOS 7 a CentOS 8 (kde chcete povolit úložiště EPEL) do centos část hostitelé soubor takto:
[centos]192.168.20.169
192.168.20.222
Tady, 192.168.20.169 je IP adresa mého virtuálního stroje CentOS 8 a 192.168.20.222 je IP adresa mého virtuálního stroje CentOS 7. Ty se pro vás budou lišit. Nezapomeňte od nynějška nahradit vzorové adresy IP vlastním seznamem.
POZNÁMKA: Adresy IP hostitelů CentOS najdete pomocí následujícího příkazu:
$ hostname -I
Pokud mají vaši hostitelé CentOS nakonfigurované názvy DNS, měli byste být schopni je vyhledat pomocí následujícího příkazu:
$ hostname -A
Finále hostitelé soubor by měl vypadat, jak je znázorněno na následujícím obrázku.
Nyní uložte soubor hostitelů stisknutím
Vytvořte konfigurační soubor Ansible zodpovědný.srov jak následuje:
$ nanoodpovědný.srov
Napište následující řádky do ansible.soubor CFG:
[výchozí]inventář =./ hostitelé
Po dokončení tohoto kroku uložte soubor stisknutím
Nyní vytvořte nový scénář hry Ansible enable_epel_repo.yaml v knihy o hře / adresář takto:
$ nano playbooks / enable_epel_repo.yaml
Dále zadejte následující kódy do enable_epel_repo.yaml soubor:
- hostitelé: centosuživatel: odpovědný
úkoly:
- name: Povolit úložiště EPEL v CentOS 8
dnf:
název: epel-release
stát: nejnovější
stát se: Pravda
když: ansible_facts ['os_family'] == 'RedHat' a ansible_facts
['distribution_major_version'] == '8'
- name: Povolit úložiště EPEL v CentOS 7
Mňam:
název: epel-release
stát: nejnovější
stát se: Pravda
když: ansible_facts ['os_family'] == 'RedHat' a ansible_facts
['distribution_major_version'] == '7'
V tomto kódu:
hostitelé: centos, vybere pouze hostitele v souboru centos skupina z hostitelé soubor.
uživatel: odpovědný, uživatelské jméno SSH hostitelů (kde Ansible bude spouštět úkoly) bude zodpovědný.
Definoval jsem 2 úkoly tady. Jeden pro hostitele CentOS 8 a jeden pro hostitele CentOS 7. Důvod, proč jsem to udělal tímto způsobem, je ten, že výchozí správce balíčků pro CentOS 8 je DNF a CentOS 7 je YUM. Jeden úkol (první úkol) bude používat správce balíčků DNF a bude spuštěn pouze na hostitelích CentOS 8. Druhý úkol (poslední úkol) bude používat správce balíčků YUM a bude spuštěn pouze na hostitelích CentOS 7.
Tyto dva úkoly jsou téměř totožné. Jedinými rozdíly jsou moduly správce balíčků (dnf a Mňam) použitý v úkolech a kód kontroly verze CentOS.
dnf a Mňam Možné moduly přijímají stejné parametry.
Tady, název: epel-release, balíček, který se má nainstalovat, je uvolňování epelů.
stát: nejnovější, balík uvolňování epelů by měl být nainstalován. Pokud je balíček již nainstalován a je k dispozici aktualizovaná verze, bude balíček aktualizován.
kdy: podmínka, pokud stav je skutečný, poté bude úloha spuštěna. Jinak se úloha nespustí.
ansible_facts, slouží k přístupu k proměnným hostitele Ansible.
ansible_facts ['os_family'] == 'RedHat', zkontroluje, zda je hostitelským OS CentOS nebo RedHat.
ansible_facts ['distribution_major_version'] == '8', zkontroluje, zda je verze hostitelského OS 8 (v tomto případě CentOS 8 nebo RedHat 8).
ansible_facts ['distribution_major_version'] == '7', zkontroluje, zda je verze hostitelského OS 7 (v tomto případě CentOS 7 nebo RedHat 7).
Poté uložte enable_epel_repo.yaml soubor stisknutím
Nyní můžete spustit scénář hry Ansible následujícím způsobem:
$ ansible-playbook playbooks / enable_epel_repo.yaml
Playbook by měl běžet bez jakýchkoli chyb a úložiště EPEL by mělo být povoleno na hostitelích CentOS 7 i CentOS 8.
Jak vidíte, úložiště EPEL je povoleno v mém hostiteli CentOS 8.
Jak vidíte, úložiště EPEL je v mém hostiteli CentOS 7 povoleno.
Takto povolíte úložiště EPEL na CentOS pomocí Ansible. Děkujeme za přečtení tohoto článku.