Wymagania wstępne
Aby włączyć repozytorium EPEL na maszynach CentOS 7 lub CentOS 8 z 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.