Jak włączyć repozytorium EPEL na centos z Ansible

Jak włączyć repozytorium EPEL na centos z Ansible
W tym artykule pokażę, jak włączyć repozytorium EPEL w centos za pomocą ansible. Więc zacznijmy.

Wymagania wstępne

Aby włączyć repozytorium EPEL na maszynach CentOS 7 lub CentOS 8 z Ansible:

  1. Musisz mieć zainstalowane na komputerze Ansible.
  2. Musisz mieć skonfigurowane maszyny CentOS 7 lub CentOS 8 do automatyzacji Ansible.

Istnieje wiele artykułów na temat Linuxhint poświęconych instalacji ansible i konfiguracji hostów do automatyzacji ansible. W razie potrzeby możesz sprawdzić te artykuły.

Włączanie repozytorium EPEL na hostach Centos

Najpierw utwórz katalog projektu ~/projekt Z następującym poleceniem:

$ mkdir -pv ~/projekt/podręczniki

Przejść do ~/projekt Katalog z następującym poleceniem:

$ cd ~/projekt

Utwórz nowy plik zastępy niebieskie W katalogu projektu i otwórz go z nano Text Editor w następujący sposób:

$ nano gospodarze

Pusty plik zastępy niebieskie powinien zostać utworzony i otwarty z edytorem tekstu Nano.

Wpisz w adresach IP lub nazwach DNS maszyn docelowych Centos 7 i Centos 8 (gdzie chcesz włączyć repozytorium EPEL) w Centos sekcja zastępy niebieskie Plik w następujący sposób:

[Centos]
192.168.20.169
192.168.20.222

Tutaj, 192.168.20.169 to adres IP mojej wirtualnej maszyny Centos 8 i 192.168.20.222 to adres IP mojej wirtualnej maszyny Centos 7. Te będą dla Ciebie inne. Odtąd zastąp przykładowe adresy IP własną listą.

NOTATKA: Adresy IP swoich hostów Centos można znaleźć za pomocą następującego polecenia:

$ hostName -i

Jeśli twoje hosty Centos mają skonfigurowane nazwy DNS, powinieneś być w stanie znaleźć je za pomocą następującego polecenia:

$ hostName -a

Finał zastępy niebieskie Plik powinien wyglądać jak pokazano na zrzucie ekranu poniżej.

Teraz zapisz plik hostów, naciskając + X śledzony przez Y I .

Utwórz plik konfiguracyjny Ansible Ansible.CFG następująco:

$ nano ansible.CFG

Wpisz następujące wiersze w Ansible.plik CFG:

[domyślne]
Inwentarz =./zastępy niebieskie

Po zakończeniu tego kroku zapisz plik, naciskając + X śledzony przez Y I .

Teraz stwórz nowy poradnik Ansible enable_epel_repo.Yaml w podręczniki/ katalog w następujący sposób:

$ nano boiska/enable_epel_repo.Yaml

Następnie wpisz następujące kody w enable_epel_repo.Yaml plik:

- Gospodarze: Centos
Użytkownik: Ansible
Zadania:
- Nazwa: Włącz repozytorium EPEL na Centos 8
DNF:
Nazwa: Epel-Release
Stan: Najnowsze
staje się prawdą
Kiedy: ansible_facts ['OS_Family'] == 'Redhat' i Ansible_Facts
[„distribution_major_version”] == '8'
- Nazwa: Włącz repozytorium EPEL na Centos 7
mniam:
Nazwa: Epel-Release
Stan: Najnowsze
staje się prawdą
Kiedy: ansible_facts ['OS_Family'] == 'Redhat' i Ansible_Facts
[„distribution_major_version”] == '7' '

W tym kodzie:

Gospodarze: Centos, wybiera tylko hosty w Centos grupa z zastępy niebieskie plik.

Użytkownik: Ansible, nazwa użytkownika hostów (gdzie Ansible będzie wykonywać zadania) Ansible.

Zdefiniowałem 2 zadania Tutaj. Jeden dla gospodarzy Centos 8 i jeden dla Centos 7 Hosts. Powodem, dla którego to zrobiłem w ten sposób, jest to, że domyślnym menedżerem pakietów dla Centos 8 jest DNF, a Centos 7 to mniam. Jedno zadanie (pierwsze zadanie) użyje menedżera pakietów DNF i będzie działać tylko na hostach Centos 8. Drugie zadanie (ostatnie zadanie) będzie korzystać.

Te dwa zadania są prawie identyczne. Jedynymi różnicami są moduły menedżera pakietu (DNF I mniam) używane w zadaniach i kodzie sprawdzania wersji Centos.

DNF I mniam Moduły ansible akceptują te same parametry.

Tutaj, Nazwa: Epel-Release, Pakiet do zainstalowania to Epel-Release.

Stan: Najnowsze, paczka Epel-Release należy zainstalować. Jeśli pakiet jest już zainstalowany i dostępna jest zaktualizowana wersja, pakiet zostanie zaktualizowany.

Kiedy: warunek, Jeśli stan Jest PRAWDA, wtedy zadanie będzie działać. W przeciwnym razie zadanie nie będzie działać.

ansible_facts, Służy do dostępu do zmiennych hosta ansible.

ansible_facts ['os_family'] == 'Redhat', sprawdza, czy system systemu hosta jest centrami, czy redhat.

ansible_facts ['distribution_major_version'] == '8', Sprawdza, czy wersja systemu operacyjnego hosta wynosi 8 (w tym przypadku Centos 8 lub Redhat 8).

ansible_facts ['distribution_major_version'] == '7' ', Sprawdza, czy wersja systemu operacyjnego hosta to 7 (w tym przypadku Centos 7 lub Redhat 7).

Następnie zapisz enable_epel_repo.Yaml plik naciskając + X śledzony przez Y I .

Teraz możesz uruchomić poradnik Ansible w następujący sposób:

$ Ansible-Playbook Playbooks/Enable_Epel_Repo.Yaml

Playbook powinien działać bez żadnych błędów, a repozytorium EPEL powinno być włączone zarówno na hostach Centos 7, jak i Centos 8.

Jak widać, repozytorium EPEL jest włączone w moim hoście Centos 8.

Jak widać, repozytorium EPEL jest włączone w moim hoście Centos 7.

W ten sposób włączasz repozytorium EPEL na centos za pomocą ansible. Dziękujemy za przeczytanie tego artykułu.