Jak zainstalować i skonfigurować Ansible na Redhat Enterprise Linux 8

Jak zainstalować i skonfigurować Ansible na Redhat Enterprise Linux 8

Ten samouczek obejmuje instalację i konfigurację Ansible na Redhat Enterprise Linux 8.
Ansible to wiodący system zarządzania konfiguracją open source. Ułatwia administratorom i zespołom operacyjnym kontrolowanie tysięcy serwerów z Central Machine bez instalowania na nich agentów.

W tym samouczku nauczysz się:

  • Przegląd ansible
  • Zainstaluj i skonfiguruj Python
  • Ustaw ssh bez hasła
  • Zainstaluj ansible
  • Testowanie i zarządzanie ansible

Architektura ansible.

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Red Hat Enterprise Linux 8
Oprogramowanie Python3, Ansible
Inny Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda.
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Przegląd ansible

Ansible to radykalnie prosty silnik automatyzacji IT, który automatyzuje dostarczanie w chmurze, zarządzanie konfiguracją, wdrażanie aplikacji, orkiestrację wewnątrz usług i wiele innych potrzeb IT.



Zaprojektowany do wdrożeń wielopoziomowych od pierwszego dnia, Ansible modeluje twoją infrastrukturę IT, opisując, w jaki sposób wszystkie systemy międzyrektypowe, a nie tylko zarządzanie jednym systemem na raz.

Nie wykorzystuje żadnych agentów i żadnej dodatkowej niestandardowej infrastruktury bezpieczeństwa, więc łatwo jest wdrożyć - i co najważniejsze, używa bardzo prostego języka (YAML, w postaci Playbooków Ansible), który umożliwia opisanie zadań automatyzacji w sposób, który się zbliża zwykły angielski. Ansible działa poprzez połączenie się z węzłami i wypychanie małych programów, zwanych „modułami ansible”.
Programy te są napisane jako modele zasobów pożądanego stanu systemu. Ansible następnie wykonuje te moduły (domyślnie przez SSH) i usuwa je po zakończeniu.

Twoja biblioteka modułów może znajdować się na dowolnym komputerze, a nie wymaga serwerów, demonów ani baz danych. Zazwyczaj będziesz pracować ze swoim ulubionym programem terminalu, edytorem tekstu i prawdopodobnie systemem kontroli wersji, aby śledzić zmiany w treści.

Zainstaluj i skonfiguruj Python

Domyślna wersja Pythona w Rhel 8 to Python 3.6. Ale Python 2 pozostaje dostępny w Rhel 8. Jeśli z jakiegoś powodu Python 3.6 brakuje w instalacji Red Hat Enterprise Linux 8, musisz ją zainstalować ręcznie.

Python 3.6 można zainstalować na RHEL 8, uruchamiając poniższe polecenie na terminalu. Python musi zostać zainstalowany zarówno na serwerze Ansible, jak i wszystkich hostach/klientach, w których się połączy.



# Yum Zainstaluj Python3 aktualizacja repozytoriów zarządzania subskrypcją. Aktualizacja repozytoriów zarządzania subskrypcją. Ostatnie metadane kontrola wygaśnięcia: 8:59:59 temu w niedzielę 3 lutego 2019 11:20:51 PM +04. Zależności rozwiązane. ================================================== ================================================== ================================================== Pakiet Arch Version Repository Size ================================================================================== ================================================== ================================================== ===== Instalowanie: Python36 x86_64 3.6.6-17.EL8+2102+A4BBD900 RHEL-8-FOR-X86_64-MAPPSTREAM-BETA-RPMS 22 K Strumienia modułu: Python36 3.6 Podsumowanie transakcji ============================================================================ ================================================== ================================================== === Zainstaluj 1 pakiet Całkowity rozmiar pobierania: 22 K Znaleziony Rozmiar: 22 K Is This OK [Y/N]: Y Pobieranie Pakiety: Python36-3.6.6-17.EL8+2102+A4BBD900.x86_64.RPM 6.0 kb/s | 22 KB 00:03 --------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----- Ogółem 6.0 kb/s | 22 KB 00:03 OSTRZEŻENIE:/var/cache/dnf/rhel-8-for-x86_64-appstream-beta-rpms-64ABA9de5ea7e089/pakiety/Python36-3.6.6-17.EL8+2102+A4BBD900.x86_64.RPM: Podpis nagłówka V3 RSA/SHA256, ID klucza F21541EB: NoKey Red Hat Enterprise Linux 8 dla x86_64 - Appstream Beta (RPMS) 3.2 kb/s | 3.3 KB 00:01 Importowanie klucza GPG 0xf21541EB: UserId: „Red Hat, Inc, Inc. (BETA KEY 2) „Odcisk palca: B08B 659E E86A F623 BC90 E8DB 938A 80CA F215 41EB z:/etc/pki/rpm-gpg/rpm-gpg-key-redhat-beta jest to ok. [y/n]: y… instalowane : Python36-3.6.6-17.EL8+2102+A4BBD900.x86_64 kompletne! 

Aby użyć Python 3, po prostu wpisz Python3 w terminalu.

Powinieneś był zauważyć, że aby użyć Pythona 3, poleceniem jest Python3 i Python2 dla Pythona 2. Co jeśli Twoje aplikacje są skonfigurowane tak, aby odnoszą się do Python, który nie jest dostępny w całym systemie. Otrzymasz poniższy błąd bash.

# Python -Bash: Python: Nie znaleziono polecenia 

Możesz użyć mechanizmu alternatywnego, aby włączyć system poleceń niezmienionych Python, i ustawić go na określoną wersję. Aby ustawić Python 3 jako domyślne uruchom następujące polecenie.



# alternatywy -ustawiaj Python/USR/bin/Python3

Uruchamianie Python -V powinien pokazać skonfigurowaną domyślną wersję Python:

#Python -v Python 3.6.6 

lub rozpoczynając Python konsolę:

# Python Python 3.6.6 (domyślnie, 16 października 2018, 01:53:53) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] Typ Linux „Pomoc”, „Copyright”, „Kredyty” lub „Licencja”, aby uzyskać więcej informacji. >>> 

Ustaw ssh bez hasła

Utwórz użytkownika Ansible Na wszystkich gospodarzach:

# useradd ansible; echo "" | PASSWD --stdin Ansible

Wykonaj niezbędny wpis w pliku Sudoers /etc/sudoersDla użytkownika Ansible dla dostępu bez hasła Sudo:

ansible all = (all) nopasswd: wszystko 
Kopiuj

Teraz generuj klucz SSH na serwerze Ansible:



$ ssh-keygen generujący publiczną/prywatną parę kluczy RSA. Wprowadź plik, w którym można zapisać klucz (/home/ansible/.ssh/id_rsa): utworzony katalog '/home/ansible/.ssh '. Wprowadź hasło (pusta dla braku hasła): Wprowadź ponownie ten sam passfraza: Twoja identyfikacja została zapisana w/home/ansible/.ssh/id_rsa. Twój klucz publiczny został zapisany w/Home/Ansible/.ssh/id_rsa.pub. Kluczowy odcisk palca to: SHA256: wnt/unaprkrv+hhv/djgtexk2bjogvpbr9YGXM2EM ansible@rhel8-sessible-server losowy obraz klucza to:+--- [RSA 2048] ----+| |. | . |. |. o e o | |. + * + o | | . S * o * | | . += + + | |. == o@ +.|. |. Oboo+= | |. +o ++*bb | +---- [SHA256]-----+ 

Skopiuj go na zdalne serwery jako użytkownik Ansible:

$ ssh-copy-id ansible@rhel8-sessible-client/usr/bin/ssh-copy-id: informacja: Źródło klawiszów do zainstalowania: "/home/ansible/.ssh/id_rsa.pub „Autentyczność hosta” Rhel8-Eansible-Client (192.168.1.109) „Nie można ustalić. Kluczowy odcisk palca Ecdsa to SHA256: E+NFCEK/KVNIGNWDHGFVIKHJBWWWHIIJJKFJYGR7NKI. Czy na pewno chcesz kontynuować łączenie (tak/nie)? Tak/usr/bin/ssh-copy-id: Informacje: próba zalogowania się z nowym klawiszem, w celu odfiltrowania każdego, które są już zainstalowane/usr/bin/ssh-copy-id: informacja: 1 klucz (klucz ( s) Pozostań do zainstalowania-jeśli masz monit o instalacji, ma zainstalować nowe klawisze ansible@rhel8-sessible-client hasło: liczba klawiszów (s) Dodano: 1 Teraz spróbuj zalogować się do komputera, z: „SSH” ansible@rhel8-sessible-client '"i sprawdź, czy upewnić się, że tylko klucze, które chciałeś, zostały dodane. 


Zainstaluj ansible

Po zainstalowaniu Pythona kontynuuj instalację PIP, który jest menedżerem pakietu Python, którego użyjemy do zainstalowania Ansible:

# Yum -y instalacja Python3 -PIP aktualizacja repozytoriów zarządzania subskrypcją. Aktualizacja repozytoriów zarządzania subskrypcją. Ostatnie metadane kontrola wygaśnięcia: 9:03:18 temu w niedzielę 3 lutego 2019 11:20:51 PM +04. Pakiet Python3-Pip-9.0.3-4.El8.Noarch jest już zainstalowany. Zależności rozwiązane. Nic do roboty. Kompletny! 

Kiedyś PIP3 Zainstalowane, użyj go, aby zainstalować Ansible w systemie zarządzania Ansible jako użytkownik Ansible.

$ pip3 instaluj ansible -użytkownik

Możesz zobaczyć ansible zainstalowane za pomocą następującego polecenia:

$ ansible --version ansible 2.7.6 Plik konfiguracyjny = Brak skonfigurowany moduł wyszukiwania modułu = ['/home/ansible/.ansible/wtyczki/moduły ','/usr/share/ansible/wtyczki/moduły '] moduł ansible Python Lokalizacja =/home/ansible/.Local/Lib/Python3.6/Packages Site/Ansible wykonywalny Lokalizacja =/home/ansible/.Local/Bin/Ansible Python wersja = 3.6.6 (domyślnie, 16 października 2018, 01:53:53) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] 

Testowanie i zarządzanie

Utwórz plik zapasowy Ansible, domyślnie jest /etc/ansible/hosts ale możesz skopiować plik hostów w katalogu domowym użytkownika Ansible. Możesz także utworzyć grupę zdalnych hostów, jak poniżej w pliku hostów.

 [Web] 192.168.1.105 [db] 192.168.1.107 [App] 192.168.1.108 192.168.1.109 192.168.1.110 
Kopiuj

Możesz użyć modułu ping do testowania ansible i po udanym biegu możesz zobaczyć poniższe wyjście.

$ Ansible -i Hosts 192.168.1.109 -m ping 192.168.1.109 | Success => „Zmieniony”: false, „ping”: „pong” 


Opcja -i służy do zapewnienia ścieżki do pliku zapasów. Powinieneś uzyskać to samo wyjście dla nazwy grupy „aplikacji”.

$ ansible -i hosts aplikacja -m ping 192.168.1.108 | Success => „Zmieniony”: false, „ping”: „pong” 192.168.1.109 | Success => „Zmieniony”: false, „ping”: „pong” 192.168.1.110 | Success => „Zmieniony”: false, „ping”: „pong” 

Wniosek

Prostota i zdolność Ansible do zmniejszenia złożoności innych narzędzi sprawiła, że ​​był niezawodnym wnioskodawcą dla twojego środowiska. Jego najważniejsze obawy dotyczy bezpieczeństwa i niezawodności. Wykorzystuje OpenSsh do transportu, a język jest zaprojektowany wokół zdolności audytu przez nawet tych, którzy nie są zaznajomieni z programem. Ansible jest wystarczająco odpowiednie do zarządzania oba małe konfiguracje z garstką instancji, jak i środowiska korporacyjnego.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Rzeczy do zainstalowania na Ubuntu 22.04
  • Linux Pliki konfiguracyjne: Top 30 Najważniejsze
  • Pobierz Linux
  • Czy Linux może uzyskać wirusy? Badanie podatności Linuksa…
  • Mastering Bash Script Loops
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Lista najlepszych narzędzi Kali Linux do testowania penetracji i…